@solidxai/core 0.1.10-beta.8 → 0.1.10

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 (1043) hide show
  1. package/.claude/settings.local.json +15 -0
  2. package/CHANGELOG.md +415 -0
  3. package/MICROSOFT_ACTIVE_DIRECTORY_OAUTH_FLOW.md +616 -0
  4. package/ai-interaction-cleanup.sql +53 -0
  5. package/dist/commands/info.command.d.ts.map +1 -1
  6. package/dist/commands/info.command.js +0 -2
  7. package/dist/commands/info.command.js.map +1 -1
  8. package/dist/commands/refresh-model.command.d.ts +1 -7
  9. package/dist/commands/refresh-model.command.d.ts.map +1 -1
  10. package/dist/commands/refresh-model.command.js +4 -49
  11. package/dist/commands/refresh-model.command.js.map +1 -1
  12. package/dist/commands/refresh-module.command.d.ts +0 -2
  13. package/dist/commands/refresh-module.command.d.ts.map +1 -1
  14. package/dist/commands/refresh-module.command.js +3 -16
  15. package/dist/commands/refresh-module.command.js.map +1 -1
  16. package/dist/commands/test-data.command.d.ts +2 -0
  17. package/dist/commands/test-data.command.d.ts.map +1 -1
  18. package/dist/commands/test-data.command.js +32 -6
  19. package/dist/commands/test-data.command.js.map +1 -1
  20. package/dist/constants/error-messages.d.ts +1 -0
  21. package/dist/constants/error-messages.d.ts.map +1 -1
  22. package/dist/constants/error-messages.js +1 -0
  23. package/dist/constants/error-messages.js.map +1 -1
  24. package/dist/controllers/action-metadata.controller.d.ts +1 -20
  25. package/dist/controllers/action-metadata.controller.d.ts.map +1 -1
  26. package/dist/controllers/agent-event.controller.d.ts +1 -20
  27. package/dist/controllers/agent-event.controller.d.ts.map +1 -1
  28. package/dist/controllers/agent-session.controller.d.ts +1 -20
  29. package/dist/controllers/agent-session.controller.d.ts.map +1 -1
  30. package/dist/controllers/chatter-message-details.controller.d.ts +1 -20
  31. package/dist/controllers/chatter-message-details.controller.d.ts.map +1 -1
  32. package/dist/controllers/chatter-message.controller.d.ts +3 -20
  33. package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
  34. package/dist/controllers/chatter-message.controller.js +17 -0
  35. package/dist/controllers/chatter-message.controller.js.map +1 -1
  36. package/dist/controllers/dashboard-user-layout.controller.d.ts +24 -0
  37. package/dist/controllers/dashboard-user-layout.controller.d.ts.map +1 -0
  38. package/dist/controllers/{dashboard-variable.controller.js → dashboard-user-layout.controller.js} +30 -30
  39. package/dist/controllers/dashboard-user-layout.controller.js.map +1 -0
  40. package/dist/controllers/dashboard.controller.d.ts +12 -42
  41. package/dist/controllers/dashboard.controller.d.ts.map +1 -1
  42. package/dist/controllers/dashboard.controller.js +71 -141
  43. package/dist/controllers/dashboard.controller.js.map +1 -1
  44. package/dist/controllers/email-template.controller.d.ts +1 -20
  45. package/dist/controllers/email-template.controller.d.ts.map +1 -1
  46. package/dist/controllers/export-template.controller.d.ts +1 -20
  47. package/dist/controllers/export-template.controller.d.ts.map +1 -1
  48. package/dist/controllers/export-transaction.controller.d.ts +1 -20
  49. package/dist/controllers/export-transaction.controller.d.ts.map +1 -1
  50. package/dist/controllers/gupshup-webhook.controller.d.ts +11 -0
  51. package/dist/controllers/gupshup-webhook.controller.d.ts.map +1 -0
  52. package/dist/controllers/gupshup-webhook.controller.js +87 -0
  53. package/dist/controllers/gupshup-webhook.controller.js.map +1 -0
  54. package/dist/controllers/import-transaction-error-log.controller.d.ts +1 -20
  55. package/dist/controllers/import-transaction-error-log.controller.d.ts.map +1 -1
  56. package/dist/controllers/import-transaction.controller.d.ts +1 -20
  57. package/dist/controllers/import-transaction.controller.d.ts.map +1 -1
  58. package/dist/controllers/list-of-values.controller.d.ts +1 -20
  59. package/dist/controllers/list-of-values.controller.d.ts.map +1 -1
  60. package/dist/controllers/locale.controller.d.ts +1 -20
  61. package/dist/controllers/locale.controller.d.ts.map +1 -1
  62. package/dist/controllers/mcp-audit-log.controller.d.ts +16 -0
  63. package/dist/controllers/mcp-audit-log.controller.d.ts.map +1 -0
  64. package/dist/controllers/{dashboard-question.controller.js → mcp-audit-log.controller.js} +44 -91
  65. package/dist/controllers/mcp-audit-log.controller.js.map +1 -0
  66. package/dist/controllers/media.controller.d.ts +1 -20
  67. package/dist/controllers/media.controller.d.ts.map +1 -1
  68. package/dist/controllers/menu-item-metadata.controller.d.ts +1 -20
  69. package/dist/controllers/menu-item-metadata.controller.d.ts.map +1 -1
  70. package/dist/controllers/meta-cloud-whatsapp-webhook.controller.d.ts +16 -0
  71. package/dist/controllers/meta-cloud-whatsapp-webhook.controller.d.ts.map +1 -0
  72. package/dist/controllers/meta-cloud-whatsapp-webhook.controller.js +133 -0
  73. package/dist/controllers/meta-cloud-whatsapp-webhook.controller.js.map +1 -0
  74. package/dist/controllers/microsoft-active-directory-authentication.controller.d.ts +28 -0
  75. package/dist/controllers/microsoft-active-directory-authentication.controller.d.ts.map +1 -0
  76. package/dist/controllers/microsoft-active-directory-authentication.controller.js +122 -0
  77. package/dist/controllers/microsoft-active-directory-authentication.controller.js.map +1 -0
  78. package/dist/controllers/model-metadata.controller.d.ts +11 -31
  79. package/dist/controllers/model-metadata.controller.d.ts.map +1 -1
  80. package/dist/controllers/model-metadata.controller.js +4 -4
  81. package/dist/controllers/model-metadata.controller.js.map +1 -1
  82. package/dist/controllers/model-sequence.controller.d.ts +1 -20
  83. package/dist/controllers/model-sequence.controller.d.ts.map +1 -1
  84. package/dist/controllers/module-metadata-explorer.controller.d.ts +171 -0
  85. package/dist/controllers/module-metadata-explorer.controller.d.ts.map +1 -0
  86. package/dist/controllers/module-metadata-explorer.controller.js +143 -0
  87. package/dist/controllers/module-metadata-explorer.controller.js.map +1 -0
  88. package/dist/controllers/module-metadata.controller.d.ts +5 -0
  89. package/dist/controllers/module-metadata.controller.d.ts.map +1 -1
  90. package/dist/controllers/module-metadata.controller.js +13 -1
  91. package/dist/controllers/module-metadata.controller.js.map +1 -1
  92. package/dist/controllers/module-package.controller.d.ts +622 -0
  93. package/dist/controllers/module-package.controller.d.ts.map +1 -0
  94. package/dist/controllers/module-package.controller.js +150 -0
  95. package/dist/controllers/module-package.controller.js.map +1 -0
  96. package/dist/controllers/mq-message-queue.controller.d.ts +1 -20
  97. package/dist/controllers/mq-message-queue.controller.d.ts.map +1 -1
  98. package/dist/controllers/mq-message.controller.d.ts +1 -20
  99. package/dist/controllers/mq-message.controller.d.ts.map +1 -1
  100. package/dist/controllers/permission-metadata.controller.d.ts +1 -20
  101. package/dist/controllers/permission-metadata.controller.d.ts.map +1 -1
  102. package/dist/controllers/role-metadata.controller.d.ts +1 -20
  103. package/dist/controllers/role-metadata.controller.d.ts.map +1 -1
  104. package/dist/controllers/saved-filters.controller.d.ts +1 -20
  105. package/dist/controllers/saved-filters.controller.d.ts.map +1 -1
  106. package/dist/controllers/scheduled-job.controller.d.ts +1 -20
  107. package/dist/controllers/scheduled-job.controller.d.ts.map +1 -1
  108. package/dist/controllers/security-rule.controller.d.ts +1 -20
  109. package/dist/controllers/security-rule.controller.d.ts.map +1 -1
  110. package/dist/controllers/service.controller.d.ts +1 -5
  111. package/dist/controllers/service.controller.d.ts.map +1 -1
  112. package/dist/controllers/service.controller.js +6 -11
  113. package/dist/controllers/service.controller.js.map +1 -1
  114. package/dist/controllers/sms-template.controller.d.ts +1 -20
  115. package/dist/controllers/sms-template.controller.d.ts.map +1 -1
  116. package/dist/controllers/test.controller.d.ts +1 -6
  117. package/dist/controllers/test.controller.d.ts.map +1 -1
  118. package/dist/controllers/test.controller.js +2 -20
  119. package/dist/controllers/test.controller.js.map +1 -1
  120. package/dist/controllers/user-activity-history.controller.d.ts +1 -20
  121. package/dist/controllers/user-activity-history.controller.d.ts.map +1 -1
  122. package/dist/controllers/user-view-metadata.controller.d.ts +1 -20
  123. package/dist/controllers/user-view-metadata.controller.d.ts.map +1 -1
  124. package/dist/controllers/user.controller.d.ts +1 -20
  125. package/dist/controllers/user.controller.d.ts.map +1 -1
  126. package/dist/controllers/view-metadata.controller.d.ts +1 -20
  127. package/dist/controllers/view-metadata.controller.d.ts.map +1 -1
  128. package/dist/decorators/dashboard-widget-data-provider.decorator.d.ts +3 -0
  129. package/dist/decorators/dashboard-widget-data-provider.decorator.d.ts.map +1 -0
  130. package/dist/decorators/dashboard-widget-data-provider.decorator.js +8 -0
  131. package/dist/decorators/dashboard-widget-data-provider.decorator.js.map +1 -0
  132. package/dist/dtos/confirm-module-package-import.dto.d.ts +4 -0
  133. package/dist/dtos/confirm-module-package-import.dto.d.ts.map +1 -0
  134. package/dist/dtos/confirm-module-package-import.dto.js +34 -0
  135. package/dist/dtos/confirm-module-package-import.dto.js.map +1 -0
  136. package/dist/dtos/create-dashboard-user-layout.dto.d.ts +10 -0
  137. package/dist/dtos/create-dashboard-user-layout.dto.d.ts.map +1 -0
  138. package/dist/dtos/create-dashboard-user-layout.dto.js +66 -0
  139. package/dist/dtos/create-dashboard-user-layout.dto.js.map +1 -0
  140. package/dist/dtos/create-mcp-audit-log.dto.d.ts +19 -0
  141. package/dist/dtos/create-mcp-audit-log.dto.d.ts.map +1 -0
  142. package/dist/dtos/create-mcp-audit-log.dto.js +118 -0
  143. package/dist/dtos/create-mcp-audit-log.dto.js.map +1 -0
  144. package/dist/dtos/create-model-metadata.dto.d.ts +2 -2
  145. package/dist/dtos/create-model-metadata.dto.d.ts.map +1 -1
  146. package/dist/dtos/create-model-metadata.dto.js +6 -11
  147. package/dist/dtos/create-model-metadata.dto.js.map +1 -1
  148. package/dist/dtos/create-permission-metadata.dto.d.ts.map +1 -1
  149. package/dist/dtos/create-permission-metadata.dto.js +2 -0
  150. package/dist/dtos/create-permission-metadata.dto.js.map +1 -1
  151. package/dist/dtos/create-role-metadata.dto.d.ts +2 -0
  152. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  153. package/dist/dtos/create-role-metadata.dto.js +13 -1
  154. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  155. package/dist/dtos/dashboard-variable-options-query.dto.d.ts +7 -0
  156. package/dist/dtos/dashboard-variable-options-query.dto.d.ts.map +1 -0
  157. package/dist/dtos/dashboard-variable-options-query.dto.js +40 -0
  158. package/dist/dtos/dashboard-variable-options-query.dto.js.map +1 -0
  159. package/dist/dtos/dashboard-widget-data-request.dto.d.ts +12 -0
  160. package/dist/dtos/dashboard-widget-data-request.dto.d.ts.map +1 -0
  161. package/dist/dtos/dashboard-widget-data-request.dto.js +65 -0
  162. package/dist/dtos/dashboard-widget-data-request.dto.js.map +1 -0
  163. package/dist/dtos/import-instructions.dto.d.ts +2 -0
  164. package/dist/dtos/import-instructions.dto.d.ts.map +1 -1
  165. package/dist/dtos/import-instructions.dto.js +15 -1
  166. package/dist/dtos/import-instructions.dto.js.map +1 -1
  167. package/dist/dtos/metadata-explorer-references-query.dto.d.ts +10 -0
  168. package/dist/dtos/metadata-explorer-references-query.dto.d.ts.map +1 -0
  169. package/dist/dtos/metadata-explorer-references-query.dto.js +69 -0
  170. package/dist/dtos/metadata-explorer-references-query.dto.js.map +1 -0
  171. package/dist/dtos/metadata-explorer-search-query.dto.d.ts +8 -0
  172. package/dist/dtos/metadata-explorer-search-query.dto.d.ts.map +1 -0
  173. package/dist/dtos/metadata-explorer-search-query.dto.js +55 -0
  174. package/dist/dtos/metadata-explorer-search-query.dto.js.map +1 -0
  175. package/dist/dtos/metadata-explorer-write.dto.d.ts +4 -0
  176. package/dist/dtos/metadata-explorer-write.dto.d.ts.map +1 -0
  177. package/dist/dtos/{invoke-ai-prompt.dto.js → metadata-explorer-write.dto.js} +12 -12
  178. package/dist/dtos/metadata-explorer-write.dto.js.map +1 -0
  179. package/dist/dtos/run-module-package-build.dto.d.ts +5 -0
  180. package/dist/dtos/run-module-package-build.dto.d.ts.map +1 -0
  181. package/dist/dtos/run-module-package-build.dto.js +38 -0
  182. package/dist/dtos/run-module-package-build.dto.js.map +1 -0
  183. package/dist/dtos/run-module-package-seed.dto.d.ts +4 -0
  184. package/dist/dtos/run-module-package-seed.dto.d.ts.map +1 -0
  185. package/dist/dtos/run-module-package-seed.dto.js +34 -0
  186. package/dist/dtos/run-module-package-seed.dto.js.map +1 -0
  187. package/dist/dtos/update-chatter-note-message.dto.d.ts +5 -0
  188. package/dist/dtos/update-chatter-note-message.dto.d.ts.map +1 -0
  189. package/dist/dtos/update-chatter-note-message.dto.js +34 -0
  190. package/dist/dtos/update-chatter-note-message.dto.js.map +1 -0
  191. package/dist/dtos/update-dashboard-user-layout.dto.d.ts +11 -0
  192. package/dist/dtos/update-dashboard-user-layout.dto.d.ts.map +1 -0
  193. package/dist/dtos/{update-dashboard-layout.dto.js → update-dashboard-user-layout.dto.js} +34 -16
  194. package/dist/dtos/update-dashboard-user-layout.dto.js.map +1 -0
  195. package/dist/dtos/update-mcp-audit-log.dto.d.ts +19 -0
  196. package/dist/dtos/update-mcp-audit-log.dto.d.ts.map +1 -0
  197. package/dist/dtos/update-mcp-audit-log.dto.js +117 -0
  198. package/dist/dtos/update-mcp-audit-log.dto.js.map +1 -0
  199. package/dist/dtos/update-permission-metadata.dto.d.ts.map +1 -1
  200. package/dist/dtos/update-permission-metadata.dto.js +3 -1
  201. package/dist/dtos/update-permission-metadata.dto.js.map +1 -1
  202. package/dist/dtos/update-role-metadata.dto.d.ts +2 -0
  203. package/dist/dtos/update-role-metadata.dto.d.ts.map +1 -1
  204. package/dist/dtos/update-role-metadata.dto.js +13 -1
  205. package/dist/dtos/update-role-metadata.dto.js.map +1 -1
  206. package/dist/dtos/update-user.dto.d.ts +1 -0
  207. package/dist/dtos/update-user.dto.d.ts.map +1 -1
  208. package/dist/dtos/update-user.dto.js +7 -1
  209. package/dist/dtos/update-user.dto.js.map +1 -1
  210. package/dist/entities/action-metadata.entity.d.ts.map +1 -1
  211. package/dist/entities/action-metadata.entity.js +1 -0
  212. package/dist/entities/action-metadata.entity.js.map +1 -1
  213. package/dist/entities/agent-event.entity.d.ts.map +1 -1
  214. package/dist/entities/agent-event.entity.js +1 -0
  215. package/dist/entities/agent-event.entity.js.map +1 -1
  216. package/dist/entities/agent-session.entity.d.ts.map +1 -1
  217. package/dist/entities/agent-session.entity.js +1 -0
  218. package/dist/entities/agent-session.entity.js.map +1 -1
  219. package/dist/entities/chatter-message.entity.d.ts.map +1 -1
  220. package/dist/entities/chatter-message.entity.js +2 -0
  221. package/dist/entities/chatter-message.entity.js.map +1 -1
  222. package/dist/entities/dashboard-user-layout.entity.d.ts +11 -0
  223. package/dist/entities/dashboard-user-layout.entity.d.ts.map +1 -0
  224. package/dist/entities/dashboard-user-layout.entity.js +52 -0
  225. package/dist/entities/dashboard-user-layout.entity.js.map +1 -0
  226. package/dist/entities/email-template.entity.d.ts.map +1 -1
  227. package/dist/entities/email-template.entity.js +1 -0
  228. package/dist/entities/email-template.entity.js.map +1 -1
  229. package/dist/entities/field-metadata.entity.d.ts.map +1 -1
  230. package/dist/entities/field-metadata.entity.js +4 -0
  231. package/dist/entities/field-metadata.entity.js.map +1 -1
  232. package/dist/entities/legacy-common-with-id.entity.d.ts +2 -2
  233. package/dist/entities/legacy-common-with-id.entity.d.ts.map +1 -1
  234. package/dist/entities/legacy-common-with-id.entity.js +6 -6
  235. package/dist/entities/legacy-common-with-id.entity.js.map +1 -1
  236. package/dist/entities/legacy-common.entity.d.ts +1 -1
  237. package/dist/entities/legacy-common.entity.d.ts.map +1 -1
  238. package/dist/entities/legacy-common.entity.js +14 -14
  239. package/dist/entities/legacy-common.entity.js.map +1 -1
  240. package/dist/entities/list-of-values.entity.d.ts.map +1 -1
  241. package/dist/entities/list-of-values.entity.js +4 -0
  242. package/dist/entities/list-of-values.entity.js.map +1 -1
  243. package/dist/entities/locale.entity.d.ts.map +1 -1
  244. package/dist/entities/locale.entity.js +1 -0
  245. package/dist/entities/locale.entity.js.map +1 -1
  246. package/dist/entities/mcp-audit-log.entity.d.ts +19 -0
  247. package/dist/entities/mcp-audit-log.entity.d.ts.map +1 -0
  248. package/dist/entities/mcp-audit-log.entity.js +90 -0
  249. package/dist/entities/mcp-audit-log.entity.js.map +1 -0
  250. package/dist/entities/media.entity.d.ts.map +1 -1
  251. package/dist/entities/media.entity.js +1 -0
  252. package/dist/entities/media.entity.js.map +1 -1
  253. package/dist/entities/menu-item-metadata.entity.d.ts.map +1 -1
  254. package/dist/entities/menu-item-metadata.entity.js +2 -0
  255. package/dist/entities/menu-item-metadata.entity.js.map +1 -1
  256. package/dist/entities/model-metadata.entity.d.ts +2 -2
  257. package/dist/entities/model-metadata.entity.d.ts.map +1 -1
  258. package/dist/entities/model-metadata.entity.js +8 -8
  259. package/dist/entities/model-metadata.entity.js.map +1 -1
  260. package/dist/entities/module-metadata.entity.d.ts.map +1 -1
  261. package/dist/entities/module-metadata.entity.js +2 -0
  262. package/dist/entities/module-metadata.entity.js.map +1 -1
  263. package/dist/entities/permission-metadata.entity.d.ts.map +1 -1
  264. package/dist/entities/permission-metadata.entity.js.map +1 -1
  265. package/dist/entities/role-metadata.entity.d.ts +2 -0
  266. package/dist/entities/role-metadata.entity.d.ts.map +1 -1
  267. package/dist/entities/role-metadata.entity.js +10 -2
  268. package/dist/entities/role-metadata.entity.js.map +1 -1
  269. package/dist/entities/saved-filters.entity.d.ts.map +1 -1
  270. package/dist/entities/saved-filters.entity.js +3 -0
  271. package/dist/entities/saved-filters.entity.js.map +1 -1
  272. package/dist/entities/scheduled-job.entity.d.ts.map +1 -1
  273. package/dist/entities/scheduled-job.entity.js +2 -0
  274. package/dist/entities/scheduled-job.entity.js.map +1 -1
  275. package/dist/entities/security-rule.entity.d.ts.map +1 -1
  276. package/dist/entities/security-rule.entity.js +1 -0
  277. package/dist/entities/security-rule.entity.js.map +1 -1
  278. package/dist/entities/sms-template.entity.d.ts.map +1 -1
  279. package/dist/entities/sms-template.entity.js +2 -0
  280. package/dist/entities/sms-template.entity.js.map +1 -1
  281. package/dist/entities/user-activity-history.entity.d.ts.map +1 -1
  282. package/dist/entities/user-activity-history.entity.js +1 -0
  283. package/dist/entities/user-activity-history.entity.js.map +1 -1
  284. package/dist/entities/user.entity.d.ts +3 -0
  285. package/dist/entities/user.entity.d.ts.map +1 -1
  286. package/dist/entities/user.entity.js +16 -1
  287. package/dist/entities/user.entity.js.map +1 -1
  288. package/dist/entities/view-metadata.entity.d.ts.map +1 -1
  289. package/dist/entities/view-metadata.entity.js +2 -0
  290. package/dist/entities/view-metadata.entity.js.map +1 -1
  291. package/dist/enums/legacy-table-type.enum.d.ts +6 -0
  292. package/dist/enums/legacy-table-type.enum.d.ts.map +1 -0
  293. package/dist/enums/legacy-table-type.enum.js +10 -0
  294. package/dist/enums/legacy-table-type.enum.js.map +1 -0
  295. package/dist/factories/whatsapp.factory.d.ts.map +1 -1
  296. package/dist/factories/whatsapp.factory.js +13 -11
  297. package/dist/factories/whatsapp.factory.js.map +1 -1
  298. package/dist/helpers/bootstrap.helper.d.ts +1 -0
  299. package/dist/helpers/bootstrap.helper.d.ts.map +1 -1
  300. package/dist/helpers/bootstrap.helper.js +6 -3
  301. package/dist/helpers/bootstrap.helper.js.map +1 -1
  302. package/dist/helpers/command.service.d.ts +1 -0
  303. package/dist/helpers/command.service.d.ts.map +1 -1
  304. package/dist/helpers/command.service.js +2 -1
  305. package/dist/helpers/command.service.js.map +1 -1
  306. package/dist/helpers/microsoft-active-directory-oauth.helper.d.ts +34 -0
  307. package/dist/helpers/microsoft-active-directory-oauth.helper.d.ts.map +1 -0
  308. package/dist/helpers/microsoft-active-directory-oauth.helper.js +43 -0
  309. package/dist/helpers/microsoft-active-directory-oauth.helper.js.map +1 -0
  310. package/dist/helpers/model-metadata-helper.service.d.ts +2 -1
  311. package/dist/helpers/model-metadata-helper.service.d.ts.map +1 -1
  312. package/dist/helpers/model-metadata-helper.service.js +4 -3
  313. package/dist/helpers/model-metadata-helper.service.js.map +1 -1
  314. package/dist/helpers/module-metadata-helper.service.d.ts +2 -0
  315. package/dist/helpers/module-metadata-helper.service.d.ts.map +1 -1
  316. package/dist/helpers/module-metadata-helper.service.js +23 -10
  317. package/dist/helpers/module-metadata-helper.service.js.map +1 -1
  318. package/dist/helpers/module.helper.d.ts.map +1 -1
  319. package/dist/helpers/module.helper.js +6 -6
  320. package/dist/helpers/module.helper.js.map +1 -1
  321. package/dist/helpers/solid-registry.d.ts +5 -9
  322. package/dist/helpers/solid-registry.d.ts.map +1 -1
  323. package/dist/helpers/solid-registry.js +13 -28
  324. package/dist/helpers/solid-registry.js.map +1 -1
  325. package/dist/helpers/typeorm-migration-helpers.d.ts +12 -0
  326. package/dist/helpers/typeorm-migration-helpers.d.ts.map +1 -0
  327. package/dist/helpers/typeorm-migration-helpers.js +119 -0
  328. package/dist/helpers/typeorm-migration-helpers.js.map +1 -0
  329. package/dist/helpers/user-helper.d.ts.map +1 -1
  330. package/dist/helpers/user-helper.js +4 -0
  331. package/dist/helpers/user-helper.js.map +1 -1
  332. package/dist/index.d.ts +37 -10
  333. package/dist/index.d.ts.map +1 -1
  334. package/dist/index.js +37 -10
  335. package/dist/index.js.map +1 -1
  336. package/dist/interfaces.d.ts +23 -21
  337. package/dist/interfaces.d.ts.map +1 -1
  338. package/dist/interfaces.js.map +1 -1
  339. package/dist/listeners/user-registration.listener.d.ts +5 -2
  340. package/dist/listeners/user-registration.listener.d.ts.map +1 -1
  341. package/dist/listeners/user-registration.listener.js +37 -4
  342. package/dist/listeners/user-registration.listener.js.map +1 -1
  343. package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.d.ts +14 -0
  344. package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.d.ts.map +1 -0
  345. package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.js +67 -0
  346. package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.js.map +1 -0
  347. package/dist/{repository/dashboard-layout.repository.d.ts → repositories/dashboard-user-layout.repository.d.ts} +5 -5
  348. package/dist/repositories/dashboard-user-layout.repository.d.ts.map +1 -0
  349. package/dist/{repository/dashboard-question-sql-dataset-config.repository.js → repositories/dashboard-user-layout.repository.js} +15 -10
  350. package/dist/repositories/dashboard-user-layout.repository.js.map +1 -0
  351. package/dist/repository/{ai-interaction.repository.d.ts → mcp-audit-log.repository.d.ts} +3 -3
  352. package/dist/repository/mcp-audit-log.repository.d.ts.map +1 -0
  353. package/dist/repository/{ai-interaction.repository.js → mcp-audit-log.repository.js} +8 -8
  354. package/dist/repository/mcp-audit-log.repository.js.map +1 -0
  355. package/dist/seeders/module-metadata-seeder.service.d.ts +2 -6
  356. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  357. package/dist/seeders/module-metadata-seeder.service.js +58 -98
  358. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  359. package/dist/seeders/module-test-data.service.d.ts +2 -0
  360. package/dist/seeders/module-test-data.service.d.ts.map +1 -1
  361. package/dist/seeders/module-test-data.service.js +62 -1
  362. package/dist/seeders/module-test-data.service.js.map +1 -1
  363. package/dist/seeders/seed-data/solid-core-metadata.json +5009 -4283
  364. package/dist/seeders/system-fields-seeder.service.js +1 -1
  365. package/dist/seeders/system-fields-seeder.service.js.map +1 -1
  366. package/dist/services/authentication.service.d.ts +18 -1
  367. package/dist/services/authentication.service.d.ts.map +1 -1
  368. package/dist/services/authentication.service.js +208 -14
  369. package/dist/services/authentication.service.js.map +1 -1
  370. package/dist/services/chatter-message.service.d.ts +7 -1
  371. package/dist/services/chatter-message.service.d.ts.map +1 -1
  372. package/dist/services/chatter-message.service.js +94 -2
  373. package/dist/services/chatter-message.service.js.map +1 -1
  374. package/dist/services/crud-helper.service.d.ts +18 -0
  375. package/dist/services/crud-helper.service.d.ts.map +1 -1
  376. package/dist/services/crud-helper.service.js +76 -2
  377. package/dist/services/crud-helper.service.js.map +1 -1
  378. package/dist/services/crud.service.d.ts +1 -21
  379. package/dist/services/crud.service.d.ts.map +1 -1
  380. package/dist/services/crud.service.js +23 -87
  381. package/dist/services/crud.service.js.map +1 -1
  382. package/dist/services/dashboard-providers/mq-dashboard-avg-elapsed-kpi-provider.service.d.ts +13 -0
  383. package/dist/services/dashboard-providers/mq-dashboard-avg-elapsed-kpi-provider.service.d.ts.map +1 -0
  384. package/dist/services/dashboard-providers/mq-dashboard-avg-elapsed-kpi-provider.service.js +55 -0
  385. package/dist/services/dashboard-providers/mq-dashboard-avg-elapsed-kpi-provider.service.js.map +1 -0
  386. package/dist/services/dashboard-providers/mq-dashboard-failed-messages-kpi-provider.service.d.ts +13 -0
  387. package/dist/services/dashboard-providers/mq-dashboard-failed-messages-kpi-provider.service.d.ts.map +1 -0
  388. package/dist/services/dashboard-providers/mq-dashboard-failed-messages-kpi-provider.service.js +52 -0
  389. package/dist/services/dashboard-providers/mq-dashboard-failed-messages-kpi-provider.service.js.map +1 -0
  390. package/dist/services/dashboard-providers/mq-dashboard-inflight-messages-kpi-provider.service.d.ts +13 -0
  391. package/dist/services/dashboard-providers/mq-dashboard-inflight-messages-kpi-provider.service.d.ts.map +1 -0
  392. package/dist/services/dashboard-providers/mq-dashboard-inflight-messages-kpi-provider.service.js +52 -0
  393. package/dist/services/dashboard-providers/mq-dashboard-inflight-messages-kpi-provider.service.js.map +1 -0
  394. package/dist/services/dashboard-providers/mq-dashboard-latency-trend-provider.service.d.ts +10 -0
  395. package/dist/services/dashboard-providers/mq-dashboard-latency-trend-provider.service.d.ts.map +1 -0
  396. package/dist/services/dashboard-providers/mq-dashboard-latency-trend-provider.service.js +62 -0
  397. package/dist/services/dashboard-providers/mq-dashboard-latency-trend-provider.service.js.map +1 -0
  398. package/dist/services/dashboard-providers/mq-dashboard-messages-over-time-provider.service.d.ts +10 -0
  399. package/dist/services/dashboard-providers/mq-dashboard-messages-over-time-provider.service.d.ts.map +1 -0
  400. package/dist/services/dashboard-providers/mq-dashboard-messages-over-time-provider.service.js +82 -0
  401. package/dist/services/dashboard-providers/mq-dashboard-messages-over-time-provider.service.js.map +1 -0
  402. package/dist/services/dashboard-providers/mq-dashboard-provider-utils.d.ts +17 -0
  403. package/dist/services/dashboard-providers/mq-dashboard-provider-utils.d.ts.map +1 -0
  404. package/dist/services/dashboard-providers/mq-dashboard-provider-utils.js +130 -0
  405. package/dist/services/dashboard-providers/mq-dashboard-provider-utils.js.map +1 -0
  406. package/dist/services/dashboard-providers/mq-dashboard-queue-sla-heatmap-provider.service.d.ts +37 -0
  407. package/dist/services/dashboard-providers/mq-dashboard-queue-sla-heatmap-provider.service.d.ts.map +1 -0
  408. package/dist/services/dashboard-providers/mq-dashboard-queue-sla-heatmap-provider.service.js +112 -0
  409. package/dist/services/dashboard-providers/mq-dashboard-queue-sla-heatmap-provider.service.js.map +1 -0
  410. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-avg-elapsed-provider.service.d.ts +10 -0
  411. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-avg-elapsed-provider.service.d.ts.map +1 -0
  412. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-avg-elapsed-provider.service.js +57 -0
  413. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-avg-elapsed-provider.service.js.map +1 -0
  414. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-failures-provider.service.d.ts +10 -0
  415. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-failures-provider.service.d.ts.map +1 -0
  416. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-failures-provider.service.js +57 -0
  417. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-failures-provider.service.js.map +1 -0
  418. package/dist/services/dashboard-providers/mq-dashboard-recent-failures-provider.service.d.ts +10 -0
  419. package/dist/services/dashboard-providers/mq-dashboard-recent-failures-provider.service.d.ts.map +1 -0
  420. package/dist/services/dashboard-providers/mq-dashboard-recent-failures-provider.service.js +100 -0
  421. package/dist/services/dashboard-providers/mq-dashboard-recent-failures-provider.service.js.map +1 -0
  422. package/dist/services/dashboard-providers/mq-dashboard-stage-distribution-provider.service.d.ts +10 -0
  423. package/dist/services/dashboard-providers/mq-dashboard-stage-distribution-provider.service.d.ts.map +1 -0
  424. package/dist/services/dashboard-providers/mq-dashboard-stage-distribution-provider.service.js +55 -0
  425. package/dist/services/dashboard-providers/mq-dashboard-stage-distribution-provider.service.js.map +1 -0
  426. package/dist/services/dashboard-providers/mq-dashboard-succeeded-messages-kpi-provider.service.d.ts +13 -0
  427. package/dist/services/dashboard-providers/mq-dashboard-succeeded-messages-kpi-provider.service.d.ts.map +1 -0
  428. package/dist/services/dashboard-providers/mq-dashboard-succeeded-messages-kpi-provider.service.js +52 -0
  429. package/dist/services/dashboard-providers/mq-dashboard-succeeded-messages-kpi-provider.service.js.map +1 -0
  430. package/dist/services/dashboard-providers/mq-dashboard-success-rate-kpi-provider.service.d.ts +15 -0
  431. package/dist/services/dashboard-providers/mq-dashboard-success-rate-kpi-provider.service.d.ts.map +1 -0
  432. package/dist/services/dashboard-providers/mq-dashboard-success-rate-kpi-provider.service.js +60 -0
  433. package/dist/services/dashboard-providers/mq-dashboard-success-rate-kpi-provider.service.js.map +1 -0
  434. package/dist/services/dashboard-providers/mq-dashboard-total-messages-kpi-provider.service.d.ts +13 -0
  435. package/dist/services/dashboard-providers/mq-dashboard-total-messages-kpi-provider.service.d.ts.map +1 -0
  436. package/dist/services/dashboard-providers/mq-dashboard-total-messages-kpi-provider.service.js +51 -0
  437. package/dist/services/dashboard-providers/mq-dashboard-total-messages-kpi-provider.service.js.map +1 -0
  438. package/dist/services/dashboard-runtime.service.d.ts +31 -0
  439. package/dist/services/dashboard-runtime.service.d.ts.map +1 -0
  440. package/dist/services/dashboard-runtime.service.js +408 -0
  441. package/dist/services/dashboard-runtime.service.js.map +1 -0
  442. package/dist/services/dashboard-user-layout.service.d.ts +12 -0
  443. package/dist/services/dashboard-user-layout.service.d.ts.map +1 -0
  444. package/dist/services/{dashboard-question-sql-dataset-config.service.js → dashboard-user-layout.service.js} +10 -10
  445. package/dist/services/dashboard-user-layout.service.js.map +1 -0
  446. package/dist/services/import-transaction.service.d.ts.map +1 -1
  447. package/dist/services/import-transaction.service.js +6 -0
  448. package/dist/services/import-transaction.service.js.map +1 -1
  449. package/dist/services/mcp-audit-log.service.d.ts +12 -0
  450. package/dist/services/mcp-audit-log.service.d.ts.map +1 -0
  451. package/dist/services/{dashboard-variable.service.js → mcp-audit-log.service.js} +9 -10
  452. package/dist/services/mcp-audit-log.service.js.map +1 -0
  453. package/dist/services/media.service.d.ts +1 -20
  454. package/dist/services/media.service.d.ts.map +1 -1
  455. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts +1 -0
  456. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
  457. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +51 -11
  458. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
  459. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts +1 -0
  460. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
  461. package/dist/services/mediaStorageProviders/file-storage-provider.js +11 -1
  462. package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
  463. package/dist/services/model-metadata.service.d.ts +20 -32
  464. package/dist/services/model-metadata.service.d.ts.map +1 -1
  465. package/dist/services/model-metadata.service.js +271 -42
  466. package/dist/services/model-metadata.service.js.map +1 -1
  467. package/dist/services/module-metadata-explorer.service.d.ts +161 -0
  468. package/dist/services/module-metadata-explorer.service.d.ts.map +1 -0
  469. package/dist/services/module-metadata-explorer.service.js +485 -0
  470. package/dist/services/module-metadata-explorer.service.js.map +1 -0
  471. package/dist/services/module-metadata.service.d.ts +11 -1
  472. package/dist/services/module-metadata.service.d.ts.map +1 -1
  473. package/dist/services/module-metadata.service.js +140 -4
  474. package/dist/services/module-metadata.service.js.map +1 -1
  475. package/dist/services/module-package.service.d.ts +266 -0
  476. package/dist/services/module-package.service.d.ts.map +1 -0
  477. package/dist/services/module-package.service.js +980 -0
  478. package/dist/services/module-package.service.js.map +1 -0
  479. package/dist/services/selection-providers/mq-dashboard-message-broker-variable-options-provider.service.d.ts +11 -0
  480. package/dist/services/selection-providers/mq-dashboard-message-broker-variable-options-provider.service.d.ts.map +1 -0
  481. package/dist/services/selection-providers/mq-dashboard-message-broker-variable-options-provider.service.js +59 -0
  482. package/dist/services/selection-providers/mq-dashboard-message-broker-variable-options-provider.service.js.map +1 -0
  483. package/dist/services/selection-providers/mq-dashboard-queue-name-variable-options-provider.service.d.ts +11 -0
  484. package/dist/services/selection-providers/mq-dashboard-queue-name-variable-options-provider.service.d.ts.map +1 -0
  485. package/dist/services/selection-providers/mq-dashboard-queue-name-variable-options-provider.service.js +60 -0
  486. package/dist/services/selection-providers/mq-dashboard-queue-name-variable-options-provider.service.js.map +1 -0
  487. package/dist/services/settings/default-settings-provider.service.d.ts +292 -0
  488. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  489. package/dist/services/settings/default-settings-provider.service.js +164 -0
  490. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  491. package/dist/services/solid-introspect.service.d.ts +1 -2
  492. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  493. package/dist/services/solid-introspect.service.js +12 -24
  494. package/dist/services/solid-introspect.service.js.map +1 -1
  495. package/dist/services/user.service.d.ts +2 -0
  496. package/dist/services/user.service.d.ts.map +1 -1
  497. package/dist/services/user.service.js +47 -1
  498. package/dist/services/user.service.js.map +1 -1
  499. package/dist/services/whatsapp/GupshupOtpWhatsappService.d.ts +11 -0
  500. package/dist/services/whatsapp/GupshupOtpWhatsappService.d.ts.map +1 -0
  501. package/dist/services/whatsapp/GupshupOtpWhatsappService.js +127 -0
  502. package/dist/services/whatsapp/GupshupOtpWhatsappService.js.map +1 -0
  503. package/dist/services/whatsapp/MetaCloudWhatsappService.d.ts +17 -0
  504. package/dist/services/whatsapp/MetaCloudWhatsappService.d.ts.map +1 -0
  505. package/dist/services/whatsapp/MetaCloudWhatsappService.js +209 -0
  506. package/dist/services/whatsapp/MetaCloudWhatsappService.js.map +1 -0
  507. package/dist/solid-core.module.d.ts +2 -2
  508. package/dist/solid-core.module.d.ts.map +1 -1
  509. package/dist/solid-core.module.js +79 -103
  510. package/dist/solid-core.module.js.map +1 -1
  511. package/dist/subscribers/model-metadata.subscriber.d.ts.map +1 -1
  512. package/dist/subscribers/model-metadata.subscriber.js +1 -3
  513. package/dist/subscribers/model-metadata.subscriber.js.map +1 -1
  514. package/dist/subscribers/scheduled-job.subscriber.js +1 -1
  515. package/dist/subscribers/scheduled-job.subscriber.js.map +1 -1
  516. package/dist/subscribers/security-rule.subscriber.js +1 -1
  517. package/dist/subscribers/security-rule.subscriber.js.map +1 -1
  518. package/dist/testing/adapters/ui/playwright-adapter.d.ts +1 -0
  519. package/dist/testing/adapters/ui/playwright-adapter.d.ts.map +1 -1
  520. package/dist/testing/adapters/ui/playwright-adapter.js +3 -0
  521. package/dist/testing/adapters/ui/playwright-adapter.js.map +1 -1
  522. package/dist/testing/steps/ui/index.d.ts.map +1 -1
  523. package/dist/testing/steps/ui/index.js +2 -0
  524. package/dist/testing/steps/ui/index.js.map +1 -1
  525. package/dist/testing/steps/ui/manual.step.d.ts +3 -0
  526. package/dist/testing/steps/ui/manual.step.d.ts.map +1 -0
  527. package/dist/testing/steps/ui/manual.step.js +56 -0
  528. package/dist/testing/steps/ui/manual.step.js.map +1 -0
  529. package/dist/winston.logger.d.ts +5 -0
  530. package/dist/winston.logger.d.ts.map +1 -1
  531. package/dist/winston.logger.js +6 -4
  532. package/dist/winston.logger.js.map +1 -1
  533. package/package.json +5 -8
  534. package/src/commands/info.command.ts +0 -2
  535. package/src/commands/refresh-model.command.ts +6 -51
  536. package/src/commands/refresh-module.command.ts +3 -16
  537. package/src/commands/test-data.command.ts +29 -6
  538. package/src/constants/error-messages.ts +2 -1
  539. package/src/controllers/chatter-message.controller.ts +12 -0
  540. package/src/controllers/{dashboard-variable.controller.ts → dashboard-user-layout.controller.ts} +10 -10
  541. package/src/controllers/dashboard.controller.ts +70 -89
  542. package/src/controllers/gupshup-webhook.controller.ts +91 -0
  543. package/src/controllers/mcp-audit-log.controller.ts +70 -0
  544. package/src/controllers/meta-cloud-whatsapp-webhook.controller.ts +155 -0
  545. package/src/controllers/microsoft-active-directory-authentication.controller.ts +104 -0
  546. package/src/controllers/model-metadata.controller.ts +1 -1
  547. package/src/controllers/module-metadata-explorer.controller.ts +83 -0
  548. package/src/controllers/module-metadata.controller.ts +7 -1
  549. package/src/controllers/module-package.controller.ts +102 -0
  550. package/src/controllers/service.controller.ts +4 -7
  551. package/src/controllers/test.controller.ts +0 -9
  552. package/src/decorators/dashboard-widget-data-provider.decorator.ts +6 -0
  553. package/src/dtos/confirm-module-package-import.dto.ts +12 -0
  554. package/src/dtos/create-dashboard-user-layout.dto.ts +41 -0
  555. package/src/dtos/create-mcp-audit-log.dto.ts +84 -0
  556. package/src/dtos/create-model-metadata.dto.ts +5 -9
  557. package/src/dtos/create-permission-metadata.dto.ts +3 -0
  558. package/src/dtos/create-role-metadata.dto.ts +11 -1
  559. package/src/dtos/dashboard-variable-options-query.dto.ts +20 -0
  560. package/src/dtos/dashboard-widget-data-request.dto.ts +34 -0
  561. package/src/dtos/import-instructions.dto.ts +11 -1
  562. package/src/dtos/metadata-explorer-references-query.dto.ts +39 -0
  563. package/src/dtos/metadata-explorer-search-query.dto.ts +28 -0
  564. package/src/dtos/metadata-explorer-write.dto.ts +11 -0
  565. package/src/dtos/run-module-package-build.dto.ts +14 -0
  566. package/src/dtos/run-module-package-seed.dto.ts +12 -0
  567. package/src/dtos/update-chatter-note-message.dto.ts +14 -0
  568. package/src/dtos/update-dashboard-user-layout.dto.ts +45 -0
  569. package/src/dtos/update-mcp-audit-log.dto.ts +83 -0
  570. package/src/dtos/update-permission-metadata.dto.ts +4 -1
  571. package/src/dtos/update-role-metadata.dto.ts +21 -1
  572. package/src/dtos/update-user.dto.ts +4 -0
  573. package/src/entities/action-metadata.entity.ts +1 -0
  574. package/src/entities/agent-event.entity.ts +1 -0
  575. package/src/entities/agent-session.entity.ts +1 -0
  576. package/src/entities/chatter-message.entity.ts +2 -0
  577. package/src/entities/dashboard-user-layout.entity.ts +27 -0
  578. package/src/entities/email-template.entity.ts +1 -0
  579. package/src/entities/field-metadata.entity.ts +4 -1
  580. package/src/entities/legacy-common-with-id.entity.ts +2 -2
  581. package/src/entities/legacy-common.entity.ts +1 -1
  582. package/src/entities/list-of-values.entity.ts +5 -1
  583. package/src/entities/locale.entity.ts +1 -0
  584. package/src/entities/mcp-audit-log.entity.ts +55 -0
  585. package/src/entities/media.entity.ts +1 -0
  586. package/src/entities/menu-item-metadata.entity.ts +2 -0
  587. package/src/entities/model-metadata.entity.ts +6 -5
  588. package/src/entities/module-metadata.entity.ts +2 -0
  589. package/src/entities/permission-metadata.entity.ts +2 -2
  590. package/src/entities/role-metadata.entity.ts +11 -3
  591. package/src/entities/saved-filters.entity.ts +3 -0
  592. package/src/entities/scheduled-job.entity.ts +2 -0
  593. package/src/entities/security-rule.entity.ts +1 -0
  594. package/src/entities/sms-template.entity.ts +2 -0
  595. package/src/entities/user-activity-history.entity.ts +1 -0
  596. package/src/entities/user.entity.ts +16 -2
  597. package/src/entities/view-metadata.entity.ts +2 -0
  598. package/src/enums/legacy-table-type.enum.ts +5 -0
  599. package/src/factories/whatsapp.factory.ts +33 -32
  600. package/src/helpers/bootstrap.helper.ts +13 -6
  601. package/src/helpers/command.service.ts +3 -1
  602. package/src/helpers/field-crud-managers/field-quality-check-fixes.md +208 -0
  603. package/src/helpers/microsoft-active-directory-oauth.helper.ts +83 -0
  604. package/src/helpers/model-metadata-helper.service.ts +4 -3
  605. package/src/helpers/module-metadata-helper.service.ts +33 -20
  606. package/src/helpers/module.helper.ts +12 -9
  607. package/src/helpers/solid-registry.ts +15 -36
  608. package/src/helpers/typeorm-migration-helpers.ts +163 -0
  609. package/src/helpers/user-helper.ts +5 -1
  610. package/src/index.ts +37 -10
  611. package/src/interfaces.ts +32 -29
  612. package/src/listeners/user-registration.listener.ts +49 -6
  613. package/src/passport-strategies/microsoft-active-directory-oauth.strategy.ts +63 -0
  614. package/src/repositories/dashboard-user-layout.repository.ts +19 -0
  615. package/src/repository/mcp-audit-log.repository.ts +17 -0
  616. package/src/seeders/module-metadata-seeder.service.ts +63 -105
  617. package/src/seeders/module-test-data.service.ts +80 -3
  618. package/src/seeders/seed-data/solid-core-metadata.json +5010 -4284
  619. package/src/seeders/system-fields-seeder.service.ts +1 -1
  620. package/src/services/1.js +6 -0
  621. package/src/services/authentication.service.ts +359 -46
  622. package/src/services/chatter-message.service.ts +112 -2
  623. package/src/services/crud-helper.service.ts +86 -2
  624. package/src/services/crud.service.ts +26 -119
  625. package/src/services/dashboard-providers/README.md +603 -0
  626. package/src/services/dashboard-providers/mq-dashboard-avg-elapsed-kpi-provider.service.ts +49 -0
  627. package/src/services/dashboard-providers/mq-dashboard-failed-messages-kpi-provider.service.ts +45 -0
  628. package/src/services/dashboard-providers/mq-dashboard-inflight-messages-kpi-provider.service.ts +45 -0
  629. package/src/services/dashboard-providers/mq-dashboard-latency-trend-provider.service.ts +58 -0
  630. package/src/services/dashboard-providers/mq-dashboard-messages-over-time-provider.service.ts +79 -0
  631. package/src/services/dashboard-providers/mq-dashboard-provider-utils.ts +165 -0
  632. package/src/services/dashboard-providers/mq-dashboard-queue-sla-heatmap-provider.service.ts +155 -0
  633. package/src/services/dashboard-providers/mq-dashboard-queue-wise-avg-elapsed-provider.service.ts +51 -0
  634. package/src/services/dashboard-providers/mq-dashboard-queue-wise-failures-provider.service.ts +51 -0
  635. package/src/services/dashboard-providers/mq-dashboard-recent-failures-provider.service.ts +95 -0
  636. package/src/services/dashboard-providers/mq-dashboard-stage-distribution-provider.service.ts +49 -0
  637. package/src/services/dashboard-providers/mq-dashboard-succeeded-messages-kpi-provider.service.ts +45 -0
  638. package/src/services/dashboard-providers/mq-dashboard-success-rate-kpi-provider.service.ts +55 -0
  639. package/src/services/dashboard-providers/mq-dashboard-total-messages-kpi-provider.service.ts +44 -0
  640. package/src/services/dashboard-runtime.service.ts +488 -0
  641. package/src/services/dashboard-user-layout.service.ts +20 -0
  642. package/src/services/import-transaction.service.ts +11 -1
  643. package/src/services/mcp-audit-log.service.ts +19 -0
  644. package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +60 -13
  645. package/src/services/mediaStorageProviders/file-storage-provider.ts +13 -2
  646. package/src/services/model-metadata.service.ts +318 -115
  647. package/src/services/module-metadata-explorer.service.ts +670 -0
  648. package/src/services/module-metadata.service.ts +148 -10
  649. package/src/services/module-package.service.ts +1171 -0
  650. package/src/services/selection-providers/mq-dashboard-message-broker-variable-options-provider.service.ts +52 -0
  651. package/src/services/selection-providers/mq-dashboard-queue-name-variable-options-provider.service.ts +51 -0
  652. package/src/services/settings/default-settings-provider.service.ts +167 -0
  653. package/src/services/solid-introspect.service.ts +19 -34
  654. package/src/services/user.service.ts +62 -1
  655. package/src/services/whatsapp/GupshupOtpWhatsappService.ts +174 -0
  656. package/src/services/whatsapp/MetaCloudWhatsappService.ts +253 -0
  657. package/src/solid-core.module.ts +251 -282
  658. package/src/subscribers/model-metadata.subscriber.ts +1 -3
  659. package/src/subscribers/scheduled-job.subscriber.ts +1 -1
  660. package/src/subscribers/security-rule.subscriber.ts +1 -1
  661. package/src/testing/README.md +55 -2
  662. package/src/testing/adapters/ui/playwright-adapter.ts +4 -0
  663. package/src/testing/steps/ui/index.ts +2 -0
  664. package/src/testing/steps/ui/manual.step.ts +80 -0
  665. package/src/winston.logger.ts +5 -7
  666. package/dist/commands/ingest.command.d.ts +0 -16
  667. package/dist/commands/ingest.command.d.ts.map +0 -1
  668. package/dist/commands/ingest.command.js +0 -50
  669. package/dist/commands/ingest.command.js.map +0 -1
  670. package/dist/controllers/ai-interaction.controller.d.ts +0 -48
  671. package/dist/controllers/ai-interaction.controller.d.ts.map +0 -1
  672. package/dist/controllers/ai-interaction.controller.js +0 -218
  673. package/dist/controllers/ai-interaction.controller.js.map +0 -1
  674. package/dist/controllers/dashboard-layout.controller.d.ts +0 -47
  675. package/dist/controllers/dashboard-layout.controller.d.ts.map +0 -1
  676. package/dist/controllers/dashboard-layout.controller.js +0 -204
  677. package/dist/controllers/dashboard-layout.controller.js.map +0 -1
  678. package/dist/controllers/dashboard-question-sql-dataset-config.controller.d.ts +0 -43
  679. package/dist/controllers/dashboard-question-sql-dataset-config.controller.d.ts.map +0 -1
  680. package/dist/controllers/dashboard-question-sql-dataset-config.controller.js +0 -179
  681. package/dist/controllers/dashboard-question-sql-dataset-config.controller.js.map +0 -1
  682. package/dist/controllers/dashboard-question.controller.d.ts +0 -45
  683. package/dist/controllers/dashboard-question.controller.d.ts.map +0 -1
  684. package/dist/controllers/dashboard-question.controller.js.map +0 -1
  685. package/dist/controllers/dashboard-variable.controller.d.ts +0 -43
  686. package/dist/controllers/dashboard-variable.controller.d.ts.map +0 -1
  687. package/dist/controllers/dashboard-variable.controller.js.map +0 -1
  688. package/dist/decorators/dashboard-question-data-provider.decorator.d.ts +0 -3
  689. package/dist/decorators/dashboard-question-data-provider.decorator.d.ts.map +0 -1
  690. package/dist/decorators/dashboard-question-data-provider.decorator.js +0 -11
  691. package/dist/decorators/dashboard-question-data-provider.decorator.js.map +0 -1
  692. package/dist/decorators/dashboard-selection-provider.decorator.d.ts +0 -3
  693. package/dist/decorators/dashboard-selection-provider.decorator.d.ts.map +0 -1
  694. package/dist/decorators/dashboard-selection-provider.decorator.js +0 -11
  695. package/dist/decorators/dashboard-selection-provider.decorator.js.map +0 -1
  696. package/dist/dtos/create-ai-interaction.dto.d.ts +0 -23
  697. package/dist/dtos/create-ai-interaction.dto.d.ts.map +0 -1
  698. package/dist/dtos/create-ai-interaction.dto.js +0 -149
  699. package/dist/dtos/create-ai-interaction.dto.js.map +0 -1
  700. package/dist/dtos/create-dashboard-layout.dto.d.ts +0 -8
  701. package/dist/dtos/create-dashboard-layout.dto.d.ts.map +0 -1
  702. package/dist/dtos/create-dashboard-layout.dto.js +0 -53
  703. package/dist/dtos/create-dashboard-layout.dto.js.map +0 -1
  704. package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.d.ts +0 -12
  705. package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.d.ts.map +0 -1
  706. package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.js +0 -77
  707. package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.js.map +0 -1
  708. package/dist/dtos/create-dashboard-question.dto.d.ts +0 -17
  709. package/dist/dtos/create-dashboard-question.dto.d.ts.map +0 -1
  710. package/dist/dtos/create-dashboard-question.dto.js +0 -105
  711. package/dist/dtos/create-dashboard-question.dto.js.map +0 -1
  712. package/dist/dtos/create-dashboard-variable.dto.d.ts +0 -19
  713. package/dist/dtos/create-dashboard-variable.dto.d.ts.map +0 -1
  714. package/dist/dtos/create-dashboard-variable.dto.js +0 -103
  715. package/dist/dtos/create-dashboard-variable.dto.js.map +0 -1
  716. package/dist/dtos/create-dashboard.dto.d.ts +0 -17
  717. package/dist/dtos/create-dashboard.dto.d.ts.map +0 -1
  718. package/dist/dtos/create-dashboard.dto.js +0 -102
  719. package/dist/dtos/create-dashboard.dto.js.map +0 -1
  720. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.d.ts +0 -8
  721. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.d.ts.map +0 -1
  722. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.js +0 -52
  723. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.js.map +0 -1
  724. package/dist/dtos/invoke-ai-prompt.dto.d.ts +0 -5
  725. package/dist/dtos/invoke-ai-prompt.dto.d.ts.map +0 -1
  726. package/dist/dtos/invoke-ai-prompt.dto.js.map +0 -1
  727. package/dist/dtos/update-ai-interaction.dto.d.ts +0 -24
  728. package/dist/dtos/update-ai-interaction.dto.d.ts.map +0 -1
  729. package/dist/dtos/update-ai-interaction.dto.js +0 -150
  730. package/dist/dtos/update-ai-interaction.dto.js.map +0 -1
  731. package/dist/dtos/update-dashboard-layout.dto.d.ts +0 -8
  732. package/dist/dtos/update-dashboard-layout.dto.d.ts.map +0 -1
  733. package/dist/dtos/update-dashboard-layout.dto.js.map +0 -1
  734. package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.d.ts +0 -13
  735. package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.d.ts.map +0 -1
  736. package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.js +0 -86
  737. package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.js.map +0 -1
  738. package/dist/dtos/update-dashboard-question.dto.d.ts +0 -18
  739. package/dist/dtos/update-dashboard-question.dto.d.ts.map +0 -1
  740. package/dist/dtos/update-dashboard-question.dto.js +0 -112
  741. package/dist/dtos/update-dashboard-question.dto.js.map +0 -1
  742. package/dist/dtos/update-dashboard-variable.dto.d.ts +0 -16
  743. package/dist/dtos/update-dashboard-variable.dto.d.ts.map +0 -1
  744. package/dist/dtos/update-dashboard-variable.dto.js +0 -101
  745. package/dist/dtos/update-dashboard-variable.dto.js.map +0 -1
  746. package/dist/dtos/update-dashboard.dto.d.ts +0 -18
  747. package/dist/dtos/update-dashboard.dto.d.ts.map +0 -1
  748. package/dist/dtos/update-dashboard.dto.js +0 -108
  749. package/dist/dtos/update-dashboard.dto.js.map +0 -1
  750. package/dist/entities/ai-interaction.entity.d.ts +0 -24
  751. package/dist/entities/ai-interaction.entity.d.ts.map +0 -1
  752. package/dist/entities/ai-interaction.entity.js +0 -116
  753. package/dist/entities/ai-interaction.entity.js.map +0 -1
  754. package/dist/entities/dashboard-layout.entity.d.ts +0 -9
  755. package/dist/entities/dashboard-layout.entity.d.ts.map +0 -1
  756. package/dist/entities/dashboard-layout.entity.js +0 -41
  757. package/dist/entities/dashboard-layout.entity.js.map +0 -1
  758. package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts +0 -14
  759. package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts.map +0 -1
  760. package/dist/entities/dashboard-question-sql-dataset-config.entity.js +0 -66
  761. package/dist/entities/dashboard-question-sql-dataset-config.entity.js.map +0 -1
  762. package/dist/entities/dashboard-question.entity.d.ts +0 -17
  763. package/dist/entities/dashboard-question.entity.d.ts.map +0 -1
  764. package/dist/entities/dashboard-question.entity.js +0 -77
  765. package/dist/entities/dashboard-question.entity.js.map +0 -1
  766. package/dist/entities/dashboard-variable.entity.d.ts +0 -16
  767. package/dist/entities/dashboard-variable.entity.d.ts.map +0 -1
  768. package/dist/entities/dashboard-variable.entity.js +0 -79
  769. package/dist/entities/dashboard-variable.entity.js.map +0 -1
  770. package/dist/entities/dashboard.entity.d.ts +0 -16
  771. package/dist/entities/dashboard.entity.d.ts.map +0 -1
  772. package/dist/entities/dashboard.entity.js +0 -64
  773. package/dist/entities/dashboard.entity.js.map +0 -1
  774. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts +0 -11
  775. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts.map +0 -1
  776. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js +0 -39
  777. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js.map +0 -1
  778. package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts +0 -8
  779. package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts.map +0 -1
  780. package/dist/jobs/database/trigger-mcp-client-queue-options.js +0 -10
  781. package/dist/jobs/database/trigger-mcp-client-queue-options.js.map +0 -1
  782. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts +0 -27
  783. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +0 -1
  784. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +0 -245
  785. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +0 -1
  786. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts +0 -11
  787. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts.map +0 -1
  788. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.js +0 -39
  789. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.js.map +0 -1
  790. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.d.ts +0 -8
  791. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.d.ts.map +0 -1
  792. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.js +0 -10
  793. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.js.map +0 -1
  794. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts +0 -18
  795. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts.map +0 -1
  796. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.js +0 -103
  797. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.js.map +0 -1
  798. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts +0 -11
  799. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts.map +0 -1
  800. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.js +0 -39
  801. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.js.map +0 -1
  802. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.d.ts +0 -8
  803. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.d.ts.map +0 -1
  804. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.js +0 -10
  805. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.js.map +0 -1
  806. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts +0 -18
  807. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts.map +0 -1
  808. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.js +0 -103
  809. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.js.map +0 -1
  810. package/dist/mappers/dashboard-mapper.d.ts +0 -6
  811. package/dist/mappers/dashboard-mapper.d.ts.map +0 -1
  812. package/dist/mappers/dashboard-mapper.js +0 -62
  813. package/dist/mappers/dashboard-mapper.js.map +0 -1
  814. package/dist/repository/ai-interaction.repository.d.ts.map +0 -1
  815. package/dist/repository/ai-interaction.repository.js.map +0 -1
  816. package/dist/repository/dashboard-layout.repository.d.ts.map +0 -1
  817. package/dist/repository/dashboard-layout.repository.js +0 -34
  818. package/dist/repository/dashboard-layout.repository.js.map +0 -1
  819. package/dist/repository/dashboard-question-sql-dataset-config.repository.d.ts +0 -12
  820. package/dist/repository/dashboard-question-sql-dataset-config.repository.d.ts.map +0 -1
  821. package/dist/repository/dashboard-question-sql-dataset-config.repository.js.map +0 -1
  822. package/dist/repository/dashboard-question.repository.d.ts +0 -12
  823. package/dist/repository/dashboard-question.repository.d.ts.map +0 -1
  824. package/dist/repository/dashboard-question.repository.js +0 -34
  825. package/dist/repository/dashboard-question.repository.js.map +0 -1
  826. package/dist/repository/dashboard-variable.repository.d.ts +0 -12
  827. package/dist/repository/dashboard-variable.repository.d.ts.map +0 -1
  828. package/dist/repository/dashboard-variable.repository.js +0 -34
  829. package/dist/repository/dashboard-variable.repository.js.map +0 -1
  830. package/dist/repository/dashboard.repository.d.ts +0 -13
  831. package/dist/repository/dashboard.repository.d.ts.map +0 -1
  832. package/dist/repository/dashboard.repository.js +0 -104
  833. package/dist/repository/dashboard.repository.js.map +0 -1
  834. package/dist/services/ai-interaction.service.d.ts +0 -23
  835. package/dist/services/ai-interaction.service.d.ts.map +0 -1
  836. package/dist/services/ai-interaction.service.js +0 -217
  837. package/dist/services/ai-interaction.service.js.map +0 -1
  838. package/dist/services/dashboard-layout.service.d.ts +0 -20
  839. package/dist/services/dashboard-layout.service.d.ts.map +0 -1
  840. package/dist/services/dashboard-layout.service.js +0 -120
  841. package/dist/services/dashboard-layout.service.js.map +0 -1
  842. package/dist/services/dashboard-question-sql-dataset-config.service.d.ts +0 -12
  843. package/dist/services/dashboard-question-sql-dataset-config.service.d.ts.map +0 -1
  844. package/dist/services/dashboard-question-sql-dataset-config.service.js.map +0 -1
  845. package/dist/services/dashboard-question.service.d.ts +0 -23
  846. package/dist/services/dashboard-question.service.d.ts.map +0 -1
  847. package/dist/services/dashboard-question.service.js +0 -135
  848. package/dist/services/dashboard-question.service.js.map +0 -1
  849. package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.d.ts +0 -12
  850. package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.d.ts.map +0 -1
  851. package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.js +0 -55
  852. package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.js.map +0 -1
  853. package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.d.ts +0 -11
  854. package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.d.ts.map +0 -1
  855. package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.js +0 -45
  856. package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.js.map +0 -1
  857. package/dist/services/dashboard-variable.service.d.ts +0 -13
  858. package/dist/services/dashboard-variable.service.d.ts.map +0 -1
  859. package/dist/services/dashboard-variable.service.js.map +0 -1
  860. package/dist/services/dashboard.service.d.ts +0 -29
  861. package/dist/services/dashboard.service.d.ts.map +0 -1
  862. package/dist/services/dashboard.service.js +0 -171
  863. package/dist/services/dashboard.service.js.map +0 -1
  864. package/dist/services/database/database-bootstrap.service.d.ts +0 -12
  865. package/dist/services/database/database-bootstrap.service.d.ts.map +0 -1
  866. package/dist/services/database/database-bootstrap.service.js +0 -115
  867. package/dist/services/database/database-bootstrap.service.js.map +0 -1
  868. package/dist/services/genai/ingest-metadata.service.d.ts +0 -38
  869. package/dist/services/genai/ingest-metadata.service.d.ts.map +0 -1
  870. package/dist/services/genai/ingest-metadata.service.js +0 -542
  871. package/dist/services/genai/ingest-metadata.service.js.map +0 -1
  872. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts +0 -9
  873. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts.map +0 -1
  874. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js +0 -39
  875. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js.map +0 -1
  876. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.d.ts +0 -12
  877. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.d.ts.map +0 -1
  878. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.js +0 -41
  879. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.js.map +0 -1
  880. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.d.ts +0 -12
  881. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.d.ts.map +0 -1
  882. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.js +0 -42
  883. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.js.map +0 -1
  884. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.d.ts +0 -25
  885. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.d.ts.map +0 -1
  886. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.js +0 -116
  887. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.js.map +0 -1
  888. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.d.ts +0 -12
  889. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.d.ts.map +0 -1
  890. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.js +0 -37
  891. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.js.map +0 -1
  892. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.d.ts +0 -12
  893. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.d.ts.map +0 -1
  894. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.js +0 -38
  895. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.js.map +0 -1
  896. package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.d.ts +0 -12
  897. package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.d.ts.map +0 -1
  898. package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.js +0 -38
  899. package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.js.map +0 -1
  900. package/dist/services/genai/r2r-helper.service.d.ts +0 -9
  901. package/dist/services/genai/r2r-helper.service.d.ts.map +0 -1
  902. package/dist/services/genai/r2r-helper.service.js +0 -40
  903. package/dist/services/genai/r2r-helper.service.js.map +0 -1
  904. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts +0 -34
  905. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts.map +0 -1
  906. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.js +0 -90
  907. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.js.map +0 -1
  908. package/dist/services/question-data-providers/helpers.d.ts +0 -7
  909. package/dist/services/question-data-providers/helpers.d.ts.map +0 -1
  910. package/dist/services/question-data-providers/helpers.js +0 -25
  911. package/dist/services/question-data-providers/helpers.js.map +0 -1
  912. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts +0 -14
  913. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts.map +0 -1
  914. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.js +0 -71
  915. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.js.map +0 -1
  916. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts +0 -16
  917. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts.map +0 -1
  918. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.js +0 -93
  919. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.js.map +0 -1
  920. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.d.ts +0 -11
  921. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.d.ts.map +0 -1
  922. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.js +0 -49
  923. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.js.map +0 -1
  924. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.d.ts +0 -11
  925. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.d.ts.map +0 -1
  926. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.js +0 -47
  927. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.js.map +0 -1
  928. package/dist/services/sql-expression-resolver.service.d.ts +0 -12
  929. package/dist/services/sql-expression-resolver.service.d.ts.map +0 -1
  930. package/dist/services/sql-expression-resolver.service.js +0 -121
  931. package/dist/services/sql-expression-resolver.service.js.map +0 -1
  932. package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.d.ts +0 -16
  933. package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.d.ts.map +0 -1
  934. package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.js +0 -72
  935. package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.js.map +0 -1
  936. package/dist/subscribers/dashboard-question.subscriber.d.ts +0 -16
  937. package/dist/subscribers/dashboard-question.subscriber.d.ts.map +0 -1
  938. package/dist/subscribers/dashboard-question.subscriber.js +0 -72
  939. package/dist/subscribers/dashboard-question.subscriber.js.map +0 -1
  940. package/dist/subscribers/dashboard-variable.subscriber.d.ts +0 -16
  941. package/dist/subscribers/dashboard-variable.subscriber.d.ts.map +0 -1
  942. package/dist/subscribers/dashboard-variable.subscriber.js +0 -72
  943. package/dist/subscribers/dashboard-variable.subscriber.js.map +0 -1
  944. package/dist/subscribers/dashboard.subscriber.d.ts +0 -16
  945. package/dist/subscribers/dashboard.subscriber.d.ts.map +0 -1
  946. package/dist/subscribers/dashboard.subscriber.js +0 -71
  947. package/dist/subscribers/dashboard.subscriber.js.map +0 -1
  948. package/dist-tests/api/authenticate.spec.js +0 -119
  949. package/dist-tests/api/authenticate.spec.js.map +0 -1
  950. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js +0 -97
  951. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js.map +0 -1
  952. package/dist-tests/api/ping.spec.js +0 -21
  953. package/dist-tests/api/ping.spec.js.map +0 -1
  954. package/dist-tests/helpers/auth.js +0 -41
  955. package/dist-tests/helpers/auth.js.map +0 -1
  956. package/dist-tests/helpers/env.js +0 -11
  957. package/dist-tests/helpers/env.js.map +0 -1
  958. package/docs/grouping-enhancements.md +0 -89
  959. package/docs/java-spring/README.md +0 -3
  960. package/docs/java-spring/solid-core-module-deep-dive-report.md +0 -1317
  961. package/docs/seed-changes.md +0 -65
  962. package/docs/test-data-workflow.md +0 -200
  963. package/docs/type-declaration-import-issue.md +0 -24
  964. package/sql/default/mariadb/proc_CleanupModelMetadata.sql +0 -153
  965. package/sql/default/mariadb/proc_CleanupModuleMetadata.sql +0 -56
  966. package/sql/default/mssql/proc_CleanupModuleMetadata.sql +0 -78
  967. package/sql/default/mysql/proc_CleanupModelMetadata.sql +0 -153
  968. package/sql/default/mysql/proc_CleanupModuleMetadata.sql +0 -56
  969. package/sql/default/postgres/proc_CleanupModelMetadata.sql +0 -148
  970. package/sql/default/postgres/proc_CleanupModuleMetadata.sql +0 -50
  971. package/sql/default/postgres/scratchpad.sql.txt +0 -12
  972. package/src/commands/ingest.command.ts +0 -36
  973. package/src/controllers/ai-interaction.controller.ts +0 -112
  974. package/src/controllers/dashboard-layout.controller.ts +0 -106
  975. package/src/controllers/dashboard-question-sql-dataset-config.controller.ts +0 -93
  976. package/src/controllers/dashboard-question.controller.ts +0 -104
  977. package/src/decorators/dashboard-question-data-provider.decorator.ts +0 -7
  978. package/src/decorators/dashboard-selection-provider.decorator.ts +0 -7
  979. package/src/dtos/create-ai-interaction.dto.ts +0 -89
  980. package/src/dtos/create-dashboard-layout.dto.ts +0 -31
  981. package/src/dtos/create-dashboard-question-sql-dataset-config.dto.ts +0 -42
  982. package/src/dtos/create-dashboard-question.dto.ts +0 -62
  983. package/src/dtos/create-dashboard-variable.dto.ts +0 -60
  984. package/src/dtos/create-dashboard.dto.ts +0 -61
  985. package/src/dtos/dashboard-variable-selection-dynamic-query.dto.ts +0 -29
  986. package/src/dtos/invoke-ai-prompt.dto.ts +0 -10
  987. package/src/dtos/update-ai-interaction.dto.ts +0 -93
  988. package/src/dtos/update-dashboard-layout.dto.ts +0 -30
  989. package/src/dtos/update-dashboard-question-sql-dataset-config.dto.ts +0 -49
  990. package/src/dtos/update-dashboard-question.dto.ts +0 -67
  991. package/src/dtos/update-dashboard-variable.dto.ts +0 -58
  992. package/src/dtos/update-dashboard.dto.ts +0 -65
  993. package/src/entities/ai-interaction.entity.ts +0 -71
  994. package/src/entities/dashboard-layout.entity.ts +0 -18
  995. package/src/entities/dashboard-question-sql-dataset-config.entity.ts +0 -37
  996. package/src/entities/dashboard-question.entity.ts +0 -46
  997. package/src/entities/dashboard-variable.entity.ts +0 -44
  998. package/src/entities/dashboard.entity.ts +0 -36
  999. package/src/jobs/database/trigger-mcp-client-publisher-database.service.ts +0 -22
  1000. package/src/jobs/database/trigger-mcp-client-queue-options.ts +0 -9
  1001. package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +0 -311
  1002. package/src/jobs/rabbitmq/trigger-mcp-client-publisher.service.ts +0 -22
  1003. package/src/jobs/rabbitmq/trigger-mcp-client-queue-options.ts +0 -9
  1004. package/src/jobs/rabbitmq/trigger-mcp-client-subscriber.service.ts +0 -104
  1005. package/src/jobs/redis/trigger-mcp-client-publisher-redis.service.ts +0 -23
  1006. package/src/jobs/redis/trigger-mcp-client-queue-options-redis.ts +0 -9
  1007. package/src/jobs/redis/trigger-mcp-client-subscriber-redis.service.ts +0 -98
  1008. package/src/mappers/dashboard-mapper.ts +0 -53
  1009. package/src/repository/ai-interaction.repository.ts +0 -17
  1010. package/src/repository/dashboard-layout.repository.ts +0 -17
  1011. package/src/repository/dashboard-question-sql-dataset-config.repository.ts +0 -17
  1012. package/src/repository/dashboard-question.repository.ts +0 -17
  1013. package/src/repository/dashboard-variable.repository.ts +0 -17
  1014. package/src/repository/dashboard.repository.ts +0 -101
  1015. package/src/services/ai-interaction.service.ts +0 -239
  1016. package/src/services/dashboard-layout.service.ts +0 -111
  1017. package/src/services/dashboard-question-sql-dataset-config.service.ts +0 -25
  1018. package/src/services/dashboard-question.service.ts +0 -150
  1019. package/src/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.ts +0 -56
  1020. package/src/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.ts +0 -37
  1021. package/src/services/dashboard-variable.service.ts +0 -27
  1022. package/src/services/dashboard.service.ts +0 -148
  1023. package/src/services/database/database-bootstrap.service.ts +0 -91
  1024. package/src/services/genai/ingest-metadata.service.ts +0 -798
  1025. package/src/services/genai/mcp-handlers/mcp-handler-factory.service.ts +0 -33
  1026. package/src/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.ts +0 -43
  1027. package/src/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.ts +0 -44
  1028. package/src/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.ts +0 -114
  1029. package/src/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.ts +0 -38
  1030. package/src/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.ts +0 -40
  1031. package/src/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.ts +0 -39
  1032. package/src/services/genai/r2r-helper.service.ts +0 -37
  1033. package/src/services/question-data-providers/chartjs-sql-data-provider.service.ts +0 -121
  1034. package/src/services/question-data-providers/helpers.ts +0 -30
  1035. package/src/services/question-data-providers/prime-react-datatable-sql-data-provider.service.ts +0 -74
  1036. package/src/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.ts +0 -115
  1037. package/src/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.ts +0 -44
  1038. package/src/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.ts +0 -41
  1039. package/src/services/sql-expression-resolver.service.ts +0 -140
  1040. package/src/subscribers/dashboard-question-sql-dataset-config.subscriber.ts +0 -61
  1041. package/src/subscribers/dashboard-question.subscriber.ts +0 -62
  1042. package/src/subscribers/dashboard-variable.subscriber.ts +0 -63
  1043. package/src/subscribers/dashboard.subscriber.ts +0 -62
@@ -37,7 +37,7 @@ export class SystemFieldsSeederService {
37
37
  private async seedMissingSystemFields(model: ModelMetadata) {
38
38
  this.logger.debug(`Checking system fields for model: ${model.singularName}`);
39
39
  const existingSystemFields = model.fields.filter(field => field.isSystem);
40
- const systemFieldsMetadata = this.modelHelperService.getSystemFieldsMetadata(model.isLegacyTable, model.isLegacyTableWithId);
40
+ const systemFieldsMetadata = this.modelHelperService.getSystemFieldsMetadata(model.legacyTableType);
41
41
  this.logger.debug(`Model: ${model.singularName} has ${existingSystemFields.length} existing system fields.`);
42
42
  // Find out which system fields are missing
43
43
  const missingFields = systemFieldsMetadata.filter(
@@ -0,0 +1,6 @@
1
+ 1. Do i need to create a storeStreams method for aws service too?
2
+ - Handle later
3
+ 2. queues handling -> if queues is enabled by default, i.e triggerExport(exportTransactionEntity.id).
4
+ - startExport should either return the data or return the transaction id
5
+ 3. How to handle scenarios wherein, nested related exist.(do i need to only get the userkey)
6
+ - show the userKey
@@ -50,6 +50,7 @@ import { SettingService } from "./setting.service";
50
50
  import { UserActivityHistoryService } from "./user-activity-history.service";
51
51
  import { UserService } from "./user.service";
52
52
  import { SmsFactory } from "src/factories/sms.factory";
53
+ import { WhatsAppFactory } from "src/factories/whatsapp.factory";
53
54
  import { SolidRegistry } from "src/helpers/solid-registry";
54
55
 
55
56
  enum LoginProvider {
@@ -79,6 +80,7 @@ export class AuthenticationService {
79
80
  private readonly mailServiceFactory: MailFactory,
80
81
  // private readonly smsService: Msg91OTPService,
81
82
  private readonly smsFactory: SmsFactory,
83
+ private readonly whatsAppFactory: WhatsAppFactory,
82
84
  private readonly eventEmitter: EventEmitter2,
83
85
  private readonly settingService: SettingService,
84
86
  private readonly roleMetadataService: RoleMetadataService,
@@ -193,11 +195,22 @@ export class AuthenticationService {
193
195
  return this.performSignUp(signUpDto, new User(), this.userRepository);
194
196
  }
195
197
 
196
- private async performSignUp<T extends User>(signUpDto: SignUpDto, entity: T, repo: Repository<T>): Promise<T> {
198
+ private async performSignUp<T extends User>(
199
+ signUpDto: SignUpDto,
200
+ entity: T,
201
+ repo: Repository<T>,
202
+ ): Promise<T> {
197
203
  try {
198
- const onForcePasswordChange = this.settingService.getConfigValue<SolidCoreSetting>("forceChangePasswordOnFirstLogin");
199
- const activateUserOnRegistration = this.settingService.getConfigValue<SolidCoreSetting>("activateUserOnRegistration");
200
- const defaultRole = this.settingService.getConfigValue<SolidCoreSetting>("defaultRole");
204
+ const onForcePasswordChange =
205
+ this.settingService.getConfigValue<SolidCoreSetting>(
206
+ "forceChangePasswordOnFirstLogin",
207
+ );
208
+ const activateUserOnRegistration =
209
+ this.settingService.getConfigValue<SolidCoreSetting>(
210
+ "activateUserOnRegistration",
211
+ );
212
+ const defaultRole =
213
+ this.settingService.getConfigValue<SolidCoreSetting>("defaultRole");
201
214
 
202
215
  var { user, pwd, autoGeneratedPwd } = await this.populateForSignup<T>(
203
216
  entity,
@@ -211,14 +224,19 @@ export class AuthenticationService {
211
224
  }
212
225
  const savedUser = await repo.save(user);
213
226
  const userRoles = signUpDto.roles ?? [];
214
- if ((signUpDto.roles?.length ?? 0) === 0 && signUpDto.username !== "sa" && defaultRole) {
227
+ if (
228
+ (signUpDto.roles?.length ?? 0) === 0 &&
229
+ signUpDto.username !== "sa" &&
230
+ defaultRole
231
+ ) {
215
232
  userRoles.push(defaultRole);
216
233
  }
217
234
  await this.handlePostSignup(savedUser, userRoles, pwd, autoGeneratedPwd);
235
+ await this.handlePasswordlessSignupOtp(savedUser, signUpDto, autoGeneratedPwd, repo);
236
+ this.triggerRegistrationEvent(savedUser);
218
237
 
219
238
  return savedUser;
220
- }
221
- catch (err: any) {
239
+ } catch (err: any) {
222
240
  const pgUniqueViolationErrorCode = "23505";
223
241
  if (err.code === pgUniqueViolationErrorCode) {
224
242
  throw new ConflictException(
@@ -231,6 +249,42 @@ export class AuthenticationService {
231
249
  }
232
250
  }
233
251
 
252
+ private async handlePasswordlessSignupOtp<T extends User>(
253
+ user: T,
254
+ signUpDto: SignUpDto,
255
+ autoGeneratedPwd: string,
256
+ repo: Repository<T>,
257
+ ): Promise<void> {
258
+ const isPasswordProvided = !!signUpDto.password;
259
+ const isAutoGeneratedPassword = !!autoGeneratedPwd;
260
+ if (isPasswordProvided || isAutoGeneratedPassword) {
261
+ return;
262
+ }
263
+
264
+ if (!user.mobile) {
265
+ this.logger.warn(
266
+ `Skipping passwordless signup OTP WhatsApp notification for user ${user.username}: mobile is missing.`,
267
+ );
268
+ return;
269
+ }
270
+
271
+ const isPasswordlessRegistrationEnabled =
272
+ await this.isPasswordlessRegistrationEnabled();
273
+ if (!isPasswordlessRegistrationEnabled) {
274
+ return;
275
+ }
276
+
277
+ await this.assignRegistrationOtp(
278
+ PasswordlessRegistrationValidateWhatSources.MOBILE,
279
+ user,
280
+ );
281
+ await repo.save(user);
282
+ await this.notifyUserOnOtpInitiateRegistration(
283
+ user,
284
+ PasswordlessRegistrationValidateWhatSources.MOBILE,
285
+ );
286
+ }
287
+
234
288
  /** @deprecated Use IExtensionUserCreationProvider instead. Kept for backward compatibility. */
235
289
  async signupForExtensionUser<T extends User>(
236
290
  signUpDto: SignUpDto,
@@ -602,7 +656,7 @@ export class AuthenticationService {
602
656
  const companyLogo = await this.getCompanyLogo();
603
657
  if (
604
658
  registrationValidationSource ===
605
- PasswordlessLoginValidateWhatSources.EMAIL
659
+ PasswordlessRegistrationValidateWhatSources.EMAIL
606
660
  ) {
607
661
  const mailService = this.mailServiceFactory.getMailService();
608
662
  mailService.sendEmailUsingTemplate(
@@ -632,25 +686,141 @@ export class AuthenticationService {
632
686
  }
633
687
  if (
634
688
  registrationValidationSource ===
635
- PasswordlessLoginValidateWhatSources.MOBILE
689
+ PasswordlessRegistrationValidateWhatSources.MOBILE
636
690
  ) {
637
- const smsService = this.smsFactory.getSmsService();
638
- smsService.sendSMSUsingTemplate(
691
+ const templateParams = {
692
+ solidAppName:
693
+ this.settingService.getConfigValue<SolidCoreSetting>("appTitle"),
694
+ otp: user.mobileVerificationTokenOnRegistration,
695
+ mobileVerificationTokenOnRegistration:
696
+ user.mobileVerificationTokenOnRegistration,
697
+ firstName: user.username,
698
+ fullName: user.fullName ? user.fullName : user.username,
699
+ companyLogoUrl: companyLogo,
700
+ };
701
+
702
+ const whatsappDestination = this.normalizeWhatsAppDestination(
639
703
  user.mobile,
640
- "otp-on-register",
641
- {
642
- solidAppName:
643
- this.settingService.getConfigValue<SolidCoreSetting>("appTitle"),
644
- otp: user.mobileVerificationTokenOnRegistration,
645
- mobileVerificationTokenOnRegistration:
646
- user.mobileVerificationTokenOnRegistration,
647
- firstName: user.username,
648
- fullName: user.fullName ? user.fullName : user.username,
649
- companyLogoUrl: companyLogo,
650
- },
651
- this.settingService.getConfigValue<SolidCoreSetting>("shouldQueueSms"),
652
704
  );
705
+ const gupshupTemplateAppName =
706
+ process.env.COMMON_GUPSHUP_APP_NAME || "Gupshup";
707
+ const whatsappTemplateId =
708
+ this.settingService.getConfigValue<SolidCoreSetting>(
709
+ "otpWhatsappTemplateId",
710
+ ) || "common_otp";
711
+ const whatsappIndependentEnabled =
712
+ this.settingService.getConfigValue<SolidCoreSetting>(
713
+ "otpWhatsappIndependentEnabled",
714
+ ) !== false;
715
+
716
+ let smsSent = false;
717
+ let whatsappSent = false;
718
+ let smsErrorMessage: string | undefined;
719
+ let whatsappErrorMessage: string | undefined;
720
+
721
+ this.logger.debug(
722
+ `OTP SMS send attempt: destination=${user.mobile}, whatsappDestination=${whatsappDestination}`,
723
+ );
724
+
725
+ try {
726
+ const smsService = this.smsFactory.getSmsService();
727
+ await smsService.sendSMSUsingTemplate(
728
+ user.mobile,
729
+ "otp-on-register",
730
+ templateParams,
731
+ false,
732
+ );
733
+ smsSent = true;
734
+ } catch (smsError: any) {
735
+ smsErrorMessage = smsError?.message;
736
+ this.logger.warn(
737
+ `OTP SMS failed: destination=${user.mobile}, message=${smsErrorMessage}`,
738
+ );
739
+ }
740
+
741
+ if (whatsappIndependentEnabled) {
742
+ if (!whatsappDestination) {
743
+ whatsappErrorMessage = "Normalized WhatsApp destination is empty";
744
+ this.logger.error(
745
+ `Independent OTP WhatsApp skipped: destination=${user.mobile}, message=${whatsappErrorMessage}`,
746
+ );
747
+ } else {
748
+ this.logger.debug(
749
+ `Independent OTP WhatsApp send attempt: destination=${user.mobile}, whatsappDestination=${whatsappDestination}, templateId=${whatsappTemplateId}`,
750
+ );
751
+ try {
752
+ await this.sendOtpToWhatsappProvider(
753
+ whatsappDestination,
754
+ String(whatsappTemplateId),
755
+ String(gupshupTemplateAppName),
756
+ String(templateParams.otp || ""),
757
+ );
758
+ whatsappSent = true;
759
+ this.logger.log(
760
+ `Independent OTP WhatsApp success: destination=${user.mobile}, whatsappDestination=${whatsappDestination}, templateId=${whatsappTemplateId}`,
761
+ );
762
+ } catch (waError: any) {
763
+ whatsappErrorMessage = waError?.message;
764
+ this.logger.error(
765
+ `Independent OTP WhatsApp failed: destination=${user.mobile}, whatsappDestination=${whatsappDestination}, templateId=${whatsappTemplateId}, message=${whatsappErrorMessage}`,
766
+ );
767
+ }
768
+ }
769
+ }
770
+
771
+ if (!smsSent && !whatsappSent) {
772
+ throw new Error(
773
+ `OTP delivery failed on both channels. smsError=${smsErrorMessage || "unknown"}, whatsappError=${whatsappErrorMessage || "disabled/unknown"}`,
774
+ );
775
+ }
776
+ }
777
+ }
778
+
779
+ private normalizeWhatsAppDestination(rawMobile: string): string {
780
+ const raw = (rawMobile || "").trim();
781
+ let sanitized = raw.replace(/[^\d+]/g, "");
782
+
783
+ if (sanitized.startsWith("00")) {
784
+ sanitized = `+${sanitized.slice(2)}`;
785
+ }
786
+
787
+ const defaultDialCode = String(
788
+ this.settingService.getConfigValue<SolidCoreSetting>(
789
+ "otpDefaultCountryDialCode",
790
+ ) || "",
791
+ ).replace(/\D/g, "");
792
+
793
+ if (sanitized.startsWith("+")) {
794
+ const e164Digits = sanitized.slice(1).replace(/\D/g, "");
795
+ if (e164Digits.length >= 8 && e164Digits.length <= 15) {
796
+ return e164Digits;
797
+ }
798
+ }
799
+
800
+ const digits = sanitized.replace(/\D/g, "");
801
+
802
+ if (digits.length >= 11 && digits.length <= 15) {
803
+ return digits;
653
804
  }
805
+
806
+ if (digits.length === 10 && defaultDialCode) {
807
+ return `${defaultDialCode}${digits}`;
808
+ }
809
+
810
+ return digits;
811
+ }
812
+
813
+ private async sendOtpToWhatsappProvider(
814
+ destination: string,
815
+ templateId: string,
816
+ appName: string,
817
+ otp: string,
818
+ ): Promise<void> {
819
+ const whatsappService = this.whatsAppFactory.getWhatsappService();
820
+ await whatsappService.sendWhatsAppMessage(destination, null, {
821
+ type: "text",
822
+ text: `${appName} OTP is ${otp}. It is valid for 10 mins.`,
823
+ });
654
824
  }
655
825
 
656
826
  async otpConfirmRegistration(confirmSignUpDto: OTPConfirmOTPDto) {
@@ -753,7 +923,7 @@ export class AuthenticationService {
753
923
  this.resolvePasswordlessValidationSource();
754
924
  if (
755
925
  registrationValidationSource ===
756
- PasswordlessLoginValidateWhatSources.EMAIL
926
+ PasswordlessRegistrationValidateWhatSources.EMAIL
757
927
  ) {
758
928
  if (!user.emailVerifiedOnRegistrationAt) {
759
929
  return false;
@@ -761,7 +931,7 @@ export class AuthenticationService {
761
931
  }
762
932
  if (
763
933
  registrationValidationSource ===
764
- PasswordlessLoginValidateWhatSources.MOBILE
934
+ PasswordlessRegistrationValidateWhatSources.MOBILE
765
935
  ) {
766
936
  if (!user.mobileVerifiedOnRegistrationAt) {
767
937
  return false;
@@ -876,7 +1046,7 @@ export class AuthenticationService {
876
1046
  const dummyOtp = this.getDummyOtpForUser(user);
877
1047
  if (!dummyOtp) {
878
1048
  await this.assignLoginOtp(user, type);
879
- this.notifyUserOnOtpInititateLogin(user, type);
1049
+ await this.notifyUserOnOtpInititateLogin(user, type);
880
1050
  }
881
1051
  return this.buildLoginOtpResponse(user, type);
882
1052
  }
@@ -1001,21 +1171,88 @@ export class AuthenticationService {
1001
1171
  );
1002
1172
  }
1003
1173
  if (loginType === PasswordlessLoginValidateWhatSources.MOBILE) {
1004
- const smsService = this.smsFactory.getSmsService();
1005
- smsService.sendSMSUsingTemplate(
1006
- user.mobile,
1007
- "otp-on-login",
1008
- {
1009
- solidAppName:
1010
- this.settingService.getConfigValue<SolidCoreSetting>("appTitle"),
1011
- otp: user.mobileVerificationTokenOnLogin,
1012
- mobileVerificationTokenOnLogin: user.mobileVerificationTokenOnLogin,
1013
- firstName: user.username,
1014
- fullName: user.fullName ? user.fullName : user.username,
1015
- companyLogoUrl: companyLogo,
1016
- },
1017
- this.settingService.getConfigValue<SolidCoreSetting>("shouldQueueSms"),
1174
+ const templateParams = {
1175
+ solidAppName:
1176
+ this.settingService.getConfigValue<SolidCoreSetting>("appTitle"),
1177
+ otp: user.mobileVerificationTokenOnLogin,
1178
+ mobileVerificationTokenOnLogin: user.mobileVerificationTokenOnLogin,
1179
+ firstName: user.username,
1180
+ fullName: user.fullName ? user.fullName : user.username,
1181
+ companyLogoUrl: companyLogo,
1182
+ };
1183
+
1184
+ const whatsappDestination = this.normalizeWhatsAppDestination(user.mobile);
1185
+ const gupshupTemplateAppName =
1186
+ process.env.COMMON_GUPSHUP_APP_NAME || "Gupshup";
1187
+ const whatsappTemplateId =
1188
+ this.settingService.getConfigValue<SolidCoreSetting>(
1189
+ "otpWhatsappTemplateId",
1190
+ ) || "common_otp";
1191
+ const whatsappIndependentEnabled =
1192
+ this.settingService.getConfigValue<SolidCoreSetting>(
1193
+ "otpWhatsappIndependentEnabled",
1194
+ ) !== false;
1195
+
1196
+ let smsSent = false;
1197
+ let whatsappSent = false;
1198
+ let smsErrorMessage: string | undefined;
1199
+ let whatsappErrorMessage: string | undefined;
1200
+
1201
+ this.logger.debug(
1202
+ `OTP LOGIN SMS send attempt: destination=${user.mobile}, whatsappDestination=${whatsappDestination}`,
1018
1203
  );
1204
+
1205
+ try {
1206
+ const smsService = this.smsFactory.getSmsService();
1207
+ await smsService.sendSMSUsingTemplate(
1208
+ user.mobile,
1209
+ "otp-on-login",
1210
+ templateParams,
1211
+ false,
1212
+ );
1213
+ smsSent = true;
1214
+ } catch (smsError: any) {
1215
+ smsErrorMessage = smsError?.message;
1216
+ this.logger.warn(
1217
+ `OTP LOGIN SMS failed: destination=${user.mobile}, message=${smsErrorMessage}`,
1218
+ );
1219
+ }
1220
+
1221
+ if (whatsappIndependentEnabled) {
1222
+ if (!whatsappDestination) {
1223
+ whatsappErrorMessage = "Normalized WhatsApp destination is empty";
1224
+ this.logger.error(
1225
+ `OTP LOGIN WhatsApp skipped: destination=${user.mobile}, message=${whatsappErrorMessage}`,
1226
+ );
1227
+ } else {
1228
+ this.logger.debug(
1229
+ `OTP LOGIN WhatsApp send attempt: destination=${user.mobile}, whatsappDestination=${whatsappDestination}, templateId=${whatsappTemplateId}`,
1230
+ );
1231
+ try {
1232
+ await this.sendOtpToWhatsappProvider(
1233
+ whatsappDestination,
1234
+ String(whatsappTemplateId),
1235
+ String(gupshupTemplateAppName),
1236
+ String(templateParams.otp || ""),
1237
+ );
1238
+ whatsappSent = true;
1239
+ this.logger.log(
1240
+ `OTP LOGIN WhatsApp success: destination=${user.mobile}, whatsappDestination=${whatsappDestination}, templateId=${whatsappTemplateId}`,
1241
+ );
1242
+ } catch (waError: any) {
1243
+ whatsappErrorMessage = waError?.message;
1244
+ this.logger.error(
1245
+ `OTP LOGIN WhatsApp failed: destination=${user.mobile}, whatsappDestination=${whatsappDestination}, templateId=${whatsappTemplateId}, message=${whatsappErrorMessage}`,
1246
+ );
1247
+ }
1248
+ }
1249
+ }
1250
+
1251
+ if (!smsSent && !whatsappSent) {
1252
+ throw new Error(
1253
+ `OTP LOGIN delivery failed on both channels. smsError=${smsErrorMessage || "unknown"}, whatsappError=${whatsappErrorMessage || "disabled/unknown"}`,
1254
+ );
1255
+ }
1019
1256
  }
1020
1257
  }
1021
1258
 
@@ -1294,7 +1531,7 @@ export class AuthenticationService {
1294
1531
  // Assuming all users do not have mobile as mandatory.
1295
1532
  if (
1296
1533
  forgotPasswordSendVerificationTokenOn ==
1297
- ForgotPasswordSendVerificationTokenOn.MOBILE &&
1534
+ ForgotPasswordSendVerificationTokenOn.MOBILE &&
1298
1535
  user.mobile
1299
1536
  ) {
1300
1537
  const smsService = this.smsFactory.getSmsService();
@@ -1323,12 +1560,10 @@ export class AuthenticationService {
1323
1560
  const user = await this.resolveUserByVerificationToken(
1324
1561
  confirmForgotPasswordDto.verificationToken,
1325
1562
  );
1326
- if (!user)
1327
- throw new UnauthorizedException("Invalid verification token");
1563
+ if (!user) throw new UnauthorizedException("Invalid verification token");
1328
1564
  if (user.lastLoginProvider !== "local")
1329
1565
  throw new UnauthorizedException(ERROR_MESSAGES.INVALID_CREDENTIALS);
1330
- if (!user.active)
1331
- throw new UnauthorizedException("User is inactive");
1566
+ if (!user.active) throw new UnauthorizedException("User is inactive");
1332
1567
 
1333
1568
  // 1) Atomically consume the token (only one request can succeed)
1334
1569
  const { affected } = await m
@@ -1420,7 +1655,7 @@ export class AuthenticationService {
1420
1655
  // Assuming all users do not have mobile as mandatory.
1421
1656
  if (
1422
1657
  forgotPasswordSendVerificationTokenOn ==
1423
- ForgotPasswordSendVerificationTokenOn.MOBILE &&
1658
+ ForgotPasswordSendVerificationTokenOn.MOBILE &&
1424
1659
  user.mobile
1425
1660
  ) {
1426
1661
  const smsService = this.smsFactory.getSmsService();
@@ -1762,6 +1997,84 @@ export class AuthenticationService {
1762
1997
  };
1763
1998
  }
1764
1999
 
2000
+ async validateUserUsingMicrosoftActiveDirectory(user: User) {
2001
+ if (
2002
+ !user.microsoftActiveDirectoryAccessToken ||
2003
+ !user.microsoftActiveDirectoryId
2004
+ ) {
2005
+ throw new UnauthorizedException(ERROR_MESSAGES.USER_NOT_FOUND);
2006
+ }
2007
+
2008
+ try {
2009
+ const response = await this.httpService.axiosRef.get(
2010
+ `https://graph.microsoft.com/v1.0/me?$select=id,displayName,mail,userPrincipalName`,
2011
+ {
2012
+ headers: {
2013
+ Authorization: `Bearer ${user.microsoftActiveDirectoryAccessToken}`,
2014
+ },
2015
+ },
2016
+ );
2017
+ const userProfile = response.data;
2018
+ const profileEmail = (userProfile.mail || userProfile.userPrincipalName)
2019
+ ?.trim()
2020
+ .toLowerCase();
2021
+ const userEmail = user.email?.trim().toLowerCase();
2022
+
2023
+ if (
2024
+ userProfile.id === user.microsoftActiveDirectoryId &&
2025
+ (!userEmail || profileEmail === userEmail)
2026
+ ) {
2027
+ return userProfile;
2028
+ } else {
2029
+ throw new UnauthorizedException(ERROR_MESSAGES.INVALID_USER_PROFILE);
2030
+ }
2031
+ } catch (error: any) {
2032
+ if (error instanceof UnauthorizedException) {
2033
+ throw error;
2034
+ }
2035
+
2036
+ throw new UnauthorizedException(
2037
+ ERROR_MESSAGES.MICROSOFT_ACTIVE_DIRECTORY_OAUTH_PROFILE_FETCH_FAILED,
2038
+ );
2039
+ }
2040
+ }
2041
+
2042
+ async signInUsingMicrosoftActiveDirectory(accessCode: string) {
2043
+ const user = await this.userRepository.findOne({
2044
+ where: {
2045
+ accessCode: accessCode,
2046
+ },
2047
+ relations: {
2048
+ roles: true,
2049
+ },
2050
+ });
2051
+
2052
+ if (!user) {
2053
+ throw new UnauthorizedException(ERROR_MESSAGES.USER_NOT_FOUND);
2054
+ }
2055
+ this.checkAccountBlocked(user);
2056
+
2057
+ try {
2058
+ await this.validateUserUsingMicrosoftActiveDirectory(user);
2059
+ } catch (e) {
2060
+ await this.incrementFailedAttempts(user);
2061
+ throw e;
2062
+ }
2063
+
2064
+ await this.resetFailedAttempts(user);
2065
+ const tokens = await this.generateTokens(user);
2066
+ return {
2067
+ user: {
2068
+ email: user.email,
2069
+ mobile: user.mobile,
2070
+ username: user.username,
2071
+ id: user.id,
2072
+ roles: user.roles.map((role) => role.name),
2073
+ },
2074
+ ...tokens,
2075
+ };
2076
+ }
2077
+
1765
2078
  async signInUsingApple(accessCode: string) {
1766
2079
  const user = await this.userRepository.findOne({
1767
2080
  where: {
@@ -1,18 +1,20 @@
1
1
  import { LocalDateTimeTransformer, serializeDate } from 'src/transformers/typeorm/local-date-time-transformer';
2
- import { BadRequestException, forwardRef, Inject, Injectable, NotFoundException } from '@nestjs/common';
2
+ import { BadRequestException, ForbiddenException, forwardRef, Inject, Injectable, NotFoundException } from '@nestjs/common';
3
3
  import { ModuleRef } from "@nestjs/core";
4
4
  import { InjectEntityManager } from '@nestjs/typeorm';
5
- import { Brackets, EntityManager, EntityMetadata } from 'typeorm';
5
+ import { Brackets, EntityManager, EntityMetadata, In } from 'typeorm';
6
6
 
7
7
  import { classify } from '@angular-devkit/core/src/utils/strings';
8
8
  import { CHATTER_MESSAGE_STATUS, CHATTER_MESSAGE_SUBTYPE, CHATTER_MESSAGE_TYPE } from 'src/constants/chatter-message.constants';
9
9
  import { ERROR_MESSAGES } from 'src/constants/error-messages';
10
10
  import { PostChatterMessageDto } from 'src/dtos/post-chatter-message.dto';
11
+ import { UpdateChatterNoteMessageDto } from 'src/dtos/update-chatter-note-message.dto';
11
12
  import { ModelMetadataHelperService } from 'src/helpers/model-metadata-helper.service';
12
13
  import { lowerFirst } from 'src/helpers/string.helper';
13
14
  import { ChatterMessageDetailsRepository } from 'src/repository/chatter-message-details.repository';
14
15
  import { ChatterMessageRepository } from 'src/repository/chatter-message.repository';
15
16
  import { FieldMetadataRepository } from 'src/repository/field-metadata.repository';
17
+ import { MediaRepository } from 'src/repository/media.repository';
16
18
  import { ModelMetadataRepository } from 'src/repository/model-metadata.repository';
17
19
  import { CRUDService } from 'src/services/crud.service';
18
20
  import { MediaStorageProviderType } from '../dtos/create-media-storage-provider-metadata.dto';
@@ -33,6 +35,7 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
33
35
  readonly repo: ChatterMessageRepository,
34
36
  // @InjectRepository(ChatterMessageDetailsRepository, 'default')
35
37
  readonly chatterMessageDetailsRepo: ChatterMessageDetailsRepository,
38
+ readonly mediaRepository: MediaRepository,
36
39
  // @InjectRepository(FieldMetadata, 'default')
37
40
  // readonly fieldMetadataRepo: Repository<FieldMetadata>,
38
41
  readonly fieldMetadataRepo: FieldMetadataRepository,
@@ -67,6 +70,21 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
67
70
  chatterMessage.updatedBy = resolvedUserId;
68
71
  }
69
72
 
73
+ private isEditableCustomNoteMessage(message: ChatterMessage): boolean {
74
+ if (message.messageType !== CHATTER_MESSAGE_TYPE.CUSTOM) {
75
+ return false;
76
+ }
77
+ return [CHATTER_MESSAGE_SUBTYPE.CUSTOM, CHATTER_MESSAGE_SUBTYPE.NOTE].includes(message.messageSubType as any);
78
+ }
79
+
80
+ private parseAttachmentIds(value?: string): number[] {
81
+ if (!value || typeof value !== 'string') return [];
82
+ return value
83
+ .split(',')
84
+ .map(v => Number(v.trim()))
85
+ .filter(v => Number.isInteger(v) && v > 0);
86
+ }
87
+
70
88
  async markCompleted(id: number) {
71
89
  const activeUser = this.requestContextService.getActiveUser();
72
90
  if (!activeUser) {
@@ -82,6 +100,98 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
82
100
  return this.repo.save(message);
83
101
  }
84
102
 
103
+ async updateCustomNoteMessage(id: number, updateDto: UpdateChatterNoteMessageDto, files: Express.Multer.File[] = []) {
104
+ const activeUser = this.requestContextService.getActiveUser();
105
+ if (!activeUser) {
106
+ throw new ForbiddenException(ERROR_MESSAGES.FORBIDDEN);
107
+ }
108
+
109
+ const message = await this.repo.findOne({ where: { id }, relations: { user: true } });
110
+ if (!message) {
111
+ throw new NotFoundException(`Entity [solid-core.chatterMessage] with id ${id} not found`);
112
+ }
113
+
114
+ if (!this.isEditableCustomNoteMessage(message)) {
115
+ throw new BadRequestException('Only custom note messages can be edited.');
116
+ }
117
+
118
+ if (!message.user?.id || message.user.id !== activeUser.sub) {
119
+ throw new ForbiddenException('You can only edit your own custom note messages.');
120
+ }
121
+
122
+ const removeAttachmentIds = this.parseAttachmentIds(updateDto?.removeAttachmentIds);
123
+ const hasMessageBody = typeof updateDto?.messageBody === 'string';
124
+ const trimmedMessageBody = (updateDto?.messageBody ?? '').trim();
125
+ const hasNewFiles = Array.isArray(files) && files.length > 0;
126
+
127
+ if (!hasMessageBody && removeAttachmentIds.length === 0 && !hasNewFiles) {
128
+ throw new BadRequestException('No note changes submitted.');
129
+ }
130
+
131
+ if (hasMessageBody && trimmedMessageBody.length === 0) {
132
+ throw new BadRequestException('Message body cannot be empty.');
133
+ }
134
+
135
+ if (hasMessageBody) {
136
+ message.messageBody = trimmedMessageBody;
137
+ }
138
+ message.updatedBy = activeUser.sub;
139
+ // Ensure updatedAt changes even for attachment-only edits.
140
+ message.updatedAt = new Date();
141
+ const savedMessage = await this.repo.save(message);
142
+
143
+ if (removeAttachmentIds.length > 0 || hasNewFiles) {
144
+ const model = await this.modelMetadataService.findOneBySingularName('chatterMessage', {
145
+ fields: {
146
+ model: true,
147
+ mediaStorageProvider: true,
148
+ },
149
+ module: true,
150
+ });
151
+
152
+ const mediaFields = model.fields.filter(field => field.type === 'mediaSingle' || field.type === 'mediaMultiple');
153
+ const attachmentFieldIds = mediaFields.map(field => field.id);
154
+
155
+ if (removeAttachmentIds.length > 0 && attachmentFieldIds.length > 0) {
156
+ const mediaToRemove = await this.mediaRepository.find({
157
+ where: {
158
+ id: In(removeAttachmentIds),
159
+ entityId: savedMessage.id,
160
+ modelMetadata: { id: model.id },
161
+ fieldMetadata: { id: In(attachmentFieldIds) },
162
+ },
163
+ relations: {
164
+ mediaStorageProviderMetadata: true,
165
+ fieldMetadata: true,
166
+ },
167
+ });
168
+
169
+ for (const media of mediaToRemove) {
170
+ const storageType = media.mediaStorageProviderMetadata?.type as MediaStorageProviderType;
171
+ const storageProvider = await getMediaStorageProvider(this.moduleRef, storageType);
172
+ await storageProvider.deleteByMediaRecord(media);
173
+ }
174
+
175
+ if (mediaToRemove.length > 0) {
176
+ await this.mediaRepository.remove(mediaToRemove);
177
+ }
178
+ }
179
+
180
+ for (const mediaField of mediaFields) {
181
+ const storageProviderMetadata = mediaField.mediaStorageProvider;
182
+ const storageProviderType = storageProviderMetadata.type as MediaStorageProviderType;
183
+ const storageProvider = await getMediaStorageProvider(this.moduleRef, storageProviderType);
184
+
185
+ const media = files.filter(multerFile => multerFile.fieldname === mediaField.name);
186
+ if (media.length > 0) {
187
+ await storageProvider.store(media, savedMessage, mediaField);
188
+ }
189
+ }
190
+ }
191
+
192
+ return savedMessage;
193
+ }
194
+
85
195
  async postMessage(postDto: PostChatterMessageDto, files: Express.Multer.File[] = []) {
86
196
  const chatterMessage = new ChatterMessage();
87
197
  chatterMessage.messageType = CHATTER_MESSAGE_TYPE.CUSTOM;