@solidxai/core 0.1.10-beta.9 → 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 (1020) hide show
  1. package/CHANGELOG.md +415 -0
  2. package/MICROSOFT_ACTIVE_DIRECTORY_OAUTH_FLOW.md +616 -0
  3. package/ai-interaction-cleanup.sql +53 -0
  4. package/dist/commands/info.command.d.ts.map +1 -1
  5. package/dist/commands/info.command.js +0 -2
  6. package/dist/commands/info.command.js.map +1 -1
  7. package/dist/commands/refresh-model.command.d.ts +1 -7
  8. package/dist/commands/refresh-model.command.d.ts.map +1 -1
  9. package/dist/commands/refresh-model.command.js +4 -49
  10. package/dist/commands/refresh-model.command.js.map +1 -1
  11. package/dist/commands/refresh-module.command.d.ts +0 -2
  12. package/dist/commands/refresh-module.command.d.ts.map +1 -1
  13. package/dist/commands/refresh-module.command.js +3 -16
  14. package/dist/commands/refresh-module.command.js.map +1 -1
  15. package/dist/commands/test-data.command.d.ts +2 -0
  16. package/dist/commands/test-data.command.d.ts.map +1 -1
  17. package/dist/commands/test-data.command.js +32 -6
  18. package/dist/commands/test-data.command.js.map +1 -1
  19. package/dist/constants/error-messages.d.ts +1 -0
  20. package/dist/constants/error-messages.d.ts.map +1 -1
  21. package/dist/constants/error-messages.js +1 -0
  22. package/dist/constants/error-messages.js.map +1 -1
  23. package/dist/controllers/action-metadata.controller.d.ts +1 -20
  24. package/dist/controllers/action-metadata.controller.d.ts.map +1 -1
  25. package/dist/controllers/agent-event.controller.d.ts +1 -20
  26. package/dist/controllers/agent-event.controller.d.ts.map +1 -1
  27. package/dist/controllers/agent-session.controller.d.ts +1 -20
  28. package/dist/controllers/agent-session.controller.d.ts.map +1 -1
  29. package/dist/controllers/chatter-message-details.controller.d.ts +1 -20
  30. package/dist/controllers/chatter-message-details.controller.d.ts.map +1 -1
  31. package/dist/controllers/chatter-message.controller.d.ts +3 -20
  32. package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
  33. package/dist/controllers/chatter-message.controller.js +17 -0
  34. package/dist/controllers/chatter-message.controller.js.map +1 -1
  35. package/dist/controllers/dashboard-user-layout.controller.d.ts +24 -0
  36. package/dist/controllers/dashboard-user-layout.controller.d.ts.map +1 -0
  37. package/dist/controllers/{dashboard-variable.controller.js → dashboard-user-layout.controller.js} +30 -30
  38. package/dist/controllers/dashboard-user-layout.controller.js.map +1 -0
  39. package/dist/controllers/dashboard.controller.d.ts +12 -42
  40. package/dist/controllers/dashboard.controller.d.ts.map +1 -1
  41. package/dist/controllers/dashboard.controller.js +71 -141
  42. package/dist/controllers/dashboard.controller.js.map +1 -1
  43. package/dist/controllers/email-template.controller.d.ts +1 -20
  44. package/dist/controllers/email-template.controller.d.ts.map +1 -1
  45. package/dist/controllers/export-template.controller.d.ts +1 -20
  46. package/dist/controllers/export-template.controller.d.ts.map +1 -1
  47. package/dist/controllers/export-transaction.controller.d.ts +1 -20
  48. package/dist/controllers/export-transaction.controller.d.ts.map +1 -1
  49. package/dist/controllers/gupshup-webhook.controller.d.ts +11 -0
  50. package/dist/controllers/gupshup-webhook.controller.d.ts.map +1 -0
  51. package/dist/controllers/gupshup-webhook.controller.js +87 -0
  52. package/dist/controllers/gupshup-webhook.controller.js.map +1 -0
  53. package/dist/controllers/import-transaction-error-log.controller.d.ts +1 -20
  54. package/dist/controllers/import-transaction-error-log.controller.d.ts.map +1 -1
  55. package/dist/controllers/import-transaction.controller.d.ts +1 -20
  56. package/dist/controllers/import-transaction.controller.d.ts.map +1 -1
  57. package/dist/controllers/list-of-values.controller.d.ts +1 -20
  58. package/dist/controllers/list-of-values.controller.d.ts.map +1 -1
  59. package/dist/controllers/locale.controller.d.ts +1 -20
  60. package/dist/controllers/locale.controller.d.ts.map +1 -1
  61. package/dist/controllers/mcp-audit-log.controller.d.ts +16 -0
  62. package/dist/controllers/mcp-audit-log.controller.d.ts.map +1 -0
  63. package/dist/controllers/{dashboard-question.controller.js → mcp-audit-log.controller.js} +44 -91
  64. package/dist/controllers/mcp-audit-log.controller.js.map +1 -0
  65. package/dist/controllers/media.controller.d.ts +1 -20
  66. package/dist/controllers/media.controller.d.ts.map +1 -1
  67. package/dist/controllers/menu-item-metadata.controller.d.ts +1 -20
  68. package/dist/controllers/menu-item-metadata.controller.d.ts.map +1 -1
  69. package/dist/controllers/meta-cloud-whatsapp-webhook.controller.d.ts +16 -0
  70. package/dist/controllers/meta-cloud-whatsapp-webhook.controller.d.ts.map +1 -0
  71. package/dist/controllers/meta-cloud-whatsapp-webhook.controller.js +133 -0
  72. package/dist/controllers/meta-cloud-whatsapp-webhook.controller.js.map +1 -0
  73. package/dist/controllers/microsoft-active-directory-authentication.controller.d.ts +28 -0
  74. package/dist/controllers/microsoft-active-directory-authentication.controller.d.ts.map +1 -0
  75. package/dist/controllers/microsoft-active-directory-authentication.controller.js +122 -0
  76. package/dist/controllers/microsoft-active-directory-authentication.controller.js.map +1 -0
  77. package/dist/controllers/model-metadata.controller.d.ts +11 -31
  78. package/dist/controllers/model-metadata.controller.d.ts.map +1 -1
  79. package/dist/controllers/model-metadata.controller.js +4 -4
  80. package/dist/controllers/model-metadata.controller.js.map +1 -1
  81. package/dist/controllers/model-sequence.controller.d.ts +1 -20
  82. package/dist/controllers/model-sequence.controller.d.ts.map +1 -1
  83. package/dist/controllers/module-metadata-explorer.controller.d.ts +171 -0
  84. package/dist/controllers/module-metadata-explorer.controller.d.ts.map +1 -0
  85. package/dist/controllers/module-metadata-explorer.controller.js +143 -0
  86. package/dist/controllers/module-metadata-explorer.controller.js.map +1 -0
  87. package/dist/controllers/module-metadata.controller.d.ts +5 -0
  88. package/dist/controllers/module-metadata.controller.d.ts.map +1 -1
  89. package/dist/controllers/module-metadata.controller.js +13 -1
  90. package/dist/controllers/module-metadata.controller.js.map +1 -1
  91. package/dist/controllers/module-package.controller.d.ts +622 -0
  92. package/dist/controllers/module-package.controller.d.ts.map +1 -0
  93. package/dist/controllers/module-package.controller.js +150 -0
  94. package/dist/controllers/module-package.controller.js.map +1 -0
  95. package/dist/controllers/mq-message-queue.controller.d.ts +1 -20
  96. package/dist/controllers/mq-message-queue.controller.d.ts.map +1 -1
  97. package/dist/controllers/mq-message.controller.d.ts +1 -20
  98. package/dist/controllers/mq-message.controller.d.ts.map +1 -1
  99. package/dist/controllers/permission-metadata.controller.d.ts +1 -20
  100. package/dist/controllers/permission-metadata.controller.d.ts.map +1 -1
  101. package/dist/controllers/role-metadata.controller.d.ts +1 -20
  102. package/dist/controllers/role-metadata.controller.d.ts.map +1 -1
  103. package/dist/controllers/saved-filters.controller.d.ts +1 -20
  104. package/dist/controllers/saved-filters.controller.d.ts.map +1 -1
  105. package/dist/controllers/scheduled-job.controller.d.ts +1 -20
  106. package/dist/controllers/scheduled-job.controller.d.ts.map +1 -1
  107. package/dist/controllers/security-rule.controller.d.ts +1 -20
  108. package/dist/controllers/security-rule.controller.d.ts.map +1 -1
  109. package/dist/controllers/service.controller.d.ts +1 -5
  110. package/dist/controllers/service.controller.d.ts.map +1 -1
  111. package/dist/controllers/service.controller.js +6 -11
  112. package/dist/controllers/service.controller.js.map +1 -1
  113. package/dist/controllers/sms-template.controller.d.ts +1 -20
  114. package/dist/controllers/sms-template.controller.d.ts.map +1 -1
  115. package/dist/controllers/test.controller.d.ts +1 -6
  116. package/dist/controllers/test.controller.d.ts.map +1 -1
  117. package/dist/controllers/test.controller.js +2 -20
  118. package/dist/controllers/test.controller.js.map +1 -1
  119. package/dist/controllers/user-activity-history.controller.d.ts +1 -20
  120. package/dist/controllers/user-activity-history.controller.d.ts.map +1 -1
  121. package/dist/controllers/user-view-metadata.controller.d.ts +1 -20
  122. package/dist/controllers/user-view-metadata.controller.d.ts.map +1 -1
  123. package/dist/controllers/user.controller.d.ts +1 -20
  124. package/dist/controllers/user.controller.d.ts.map +1 -1
  125. package/dist/controllers/view-metadata.controller.d.ts +1 -20
  126. package/dist/controllers/view-metadata.controller.d.ts.map +1 -1
  127. package/dist/decorators/dashboard-widget-data-provider.decorator.d.ts +3 -0
  128. package/dist/decorators/dashboard-widget-data-provider.decorator.d.ts.map +1 -0
  129. package/dist/decorators/dashboard-widget-data-provider.decorator.js +8 -0
  130. package/dist/decorators/dashboard-widget-data-provider.decorator.js.map +1 -0
  131. package/dist/dtos/confirm-module-package-import.dto.d.ts +4 -0
  132. package/dist/dtos/confirm-module-package-import.dto.d.ts.map +1 -0
  133. package/dist/dtos/confirm-module-package-import.dto.js +34 -0
  134. package/dist/dtos/confirm-module-package-import.dto.js.map +1 -0
  135. package/dist/dtos/create-dashboard-user-layout.dto.d.ts +10 -0
  136. package/dist/dtos/create-dashboard-user-layout.dto.d.ts.map +1 -0
  137. package/dist/dtos/create-dashboard-user-layout.dto.js +66 -0
  138. package/dist/dtos/create-dashboard-user-layout.dto.js.map +1 -0
  139. package/dist/dtos/create-mcp-audit-log.dto.d.ts +19 -0
  140. package/dist/dtos/create-mcp-audit-log.dto.d.ts.map +1 -0
  141. package/dist/dtos/create-mcp-audit-log.dto.js +118 -0
  142. package/dist/dtos/create-mcp-audit-log.dto.js.map +1 -0
  143. package/dist/dtos/create-model-metadata.dto.d.ts +2 -2
  144. package/dist/dtos/create-model-metadata.dto.d.ts.map +1 -1
  145. package/dist/dtos/create-model-metadata.dto.js +6 -11
  146. package/dist/dtos/create-model-metadata.dto.js.map +1 -1
  147. package/dist/dtos/create-permission-metadata.dto.d.ts.map +1 -1
  148. package/dist/dtos/create-permission-metadata.dto.js +2 -0
  149. package/dist/dtos/create-permission-metadata.dto.js.map +1 -1
  150. package/dist/dtos/create-role-metadata.dto.d.ts +2 -0
  151. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  152. package/dist/dtos/create-role-metadata.dto.js +13 -1
  153. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  154. package/dist/dtos/dashboard-variable-options-query.dto.d.ts +7 -0
  155. package/dist/dtos/dashboard-variable-options-query.dto.d.ts.map +1 -0
  156. package/dist/dtos/dashboard-variable-options-query.dto.js +40 -0
  157. package/dist/dtos/dashboard-variable-options-query.dto.js.map +1 -0
  158. package/dist/dtos/dashboard-widget-data-request.dto.d.ts +12 -0
  159. package/dist/dtos/dashboard-widget-data-request.dto.d.ts.map +1 -0
  160. package/dist/dtos/dashboard-widget-data-request.dto.js +65 -0
  161. package/dist/dtos/dashboard-widget-data-request.dto.js.map +1 -0
  162. package/dist/dtos/import-instructions.dto.d.ts +2 -0
  163. package/dist/dtos/import-instructions.dto.d.ts.map +1 -1
  164. package/dist/dtos/import-instructions.dto.js +15 -1
  165. package/dist/dtos/import-instructions.dto.js.map +1 -1
  166. package/dist/dtos/metadata-explorer-references-query.dto.d.ts +10 -0
  167. package/dist/dtos/metadata-explorer-references-query.dto.d.ts.map +1 -0
  168. package/dist/dtos/metadata-explorer-references-query.dto.js +69 -0
  169. package/dist/dtos/metadata-explorer-references-query.dto.js.map +1 -0
  170. package/dist/dtos/metadata-explorer-search-query.dto.d.ts +8 -0
  171. package/dist/dtos/metadata-explorer-search-query.dto.d.ts.map +1 -0
  172. package/dist/dtos/metadata-explorer-search-query.dto.js +55 -0
  173. package/dist/dtos/metadata-explorer-search-query.dto.js.map +1 -0
  174. package/dist/dtos/metadata-explorer-write.dto.d.ts +4 -0
  175. package/dist/dtos/metadata-explorer-write.dto.d.ts.map +1 -0
  176. package/dist/dtos/{invoke-ai-prompt.dto.js → metadata-explorer-write.dto.js} +12 -12
  177. package/dist/dtos/metadata-explorer-write.dto.js.map +1 -0
  178. package/dist/dtos/run-module-package-build.dto.d.ts +5 -0
  179. package/dist/dtos/run-module-package-build.dto.d.ts.map +1 -0
  180. package/dist/dtos/run-module-package-build.dto.js +38 -0
  181. package/dist/dtos/run-module-package-build.dto.js.map +1 -0
  182. package/dist/dtos/run-module-package-seed.dto.d.ts +4 -0
  183. package/dist/dtos/run-module-package-seed.dto.d.ts.map +1 -0
  184. package/dist/dtos/run-module-package-seed.dto.js +34 -0
  185. package/dist/dtos/run-module-package-seed.dto.js.map +1 -0
  186. package/dist/dtos/update-chatter-note-message.dto.d.ts +5 -0
  187. package/dist/dtos/update-chatter-note-message.dto.d.ts.map +1 -0
  188. package/dist/dtos/update-chatter-note-message.dto.js +34 -0
  189. package/dist/dtos/update-chatter-note-message.dto.js.map +1 -0
  190. package/dist/dtos/update-dashboard-user-layout.dto.d.ts +11 -0
  191. package/dist/dtos/update-dashboard-user-layout.dto.d.ts.map +1 -0
  192. package/dist/dtos/{update-dashboard-layout.dto.js → update-dashboard-user-layout.dto.js} +34 -16
  193. package/dist/dtos/update-dashboard-user-layout.dto.js.map +1 -0
  194. package/dist/dtos/update-mcp-audit-log.dto.d.ts +19 -0
  195. package/dist/dtos/update-mcp-audit-log.dto.d.ts.map +1 -0
  196. package/dist/dtos/update-mcp-audit-log.dto.js +117 -0
  197. package/dist/dtos/update-mcp-audit-log.dto.js.map +1 -0
  198. package/dist/dtos/update-permission-metadata.dto.d.ts.map +1 -1
  199. package/dist/dtos/update-permission-metadata.dto.js +3 -1
  200. package/dist/dtos/update-permission-metadata.dto.js.map +1 -1
  201. package/dist/dtos/update-role-metadata.dto.d.ts +2 -0
  202. package/dist/dtos/update-role-metadata.dto.d.ts.map +1 -1
  203. package/dist/dtos/update-role-metadata.dto.js +13 -1
  204. package/dist/dtos/update-role-metadata.dto.js.map +1 -1
  205. package/dist/entities/action-metadata.entity.d.ts.map +1 -1
  206. package/dist/entities/action-metadata.entity.js +1 -0
  207. package/dist/entities/action-metadata.entity.js.map +1 -1
  208. package/dist/entities/agent-event.entity.d.ts.map +1 -1
  209. package/dist/entities/agent-event.entity.js +1 -0
  210. package/dist/entities/agent-event.entity.js.map +1 -1
  211. package/dist/entities/agent-session.entity.d.ts.map +1 -1
  212. package/dist/entities/agent-session.entity.js +1 -0
  213. package/dist/entities/agent-session.entity.js.map +1 -1
  214. package/dist/entities/chatter-message.entity.d.ts.map +1 -1
  215. package/dist/entities/chatter-message.entity.js +2 -0
  216. package/dist/entities/chatter-message.entity.js.map +1 -1
  217. package/dist/entities/dashboard-user-layout.entity.d.ts +11 -0
  218. package/dist/entities/dashboard-user-layout.entity.d.ts.map +1 -0
  219. package/dist/entities/dashboard-user-layout.entity.js +52 -0
  220. package/dist/entities/dashboard-user-layout.entity.js.map +1 -0
  221. package/dist/entities/email-template.entity.d.ts.map +1 -1
  222. package/dist/entities/email-template.entity.js +1 -0
  223. package/dist/entities/email-template.entity.js.map +1 -1
  224. package/dist/entities/field-metadata.entity.d.ts.map +1 -1
  225. package/dist/entities/field-metadata.entity.js +4 -0
  226. package/dist/entities/field-metadata.entity.js.map +1 -1
  227. package/dist/entities/legacy-common-with-id.entity.d.ts +2 -2
  228. package/dist/entities/legacy-common-with-id.entity.d.ts.map +1 -1
  229. package/dist/entities/legacy-common-with-id.entity.js +6 -6
  230. package/dist/entities/legacy-common-with-id.entity.js.map +1 -1
  231. package/dist/entities/legacy-common.entity.d.ts +1 -1
  232. package/dist/entities/legacy-common.entity.d.ts.map +1 -1
  233. package/dist/entities/legacy-common.entity.js +14 -14
  234. package/dist/entities/legacy-common.entity.js.map +1 -1
  235. package/dist/entities/list-of-values.entity.d.ts.map +1 -1
  236. package/dist/entities/list-of-values.entity.js +4 -0
  237. package/dist/entities/list-of-values.entity.js.map +1 -1
  238. package/dist/entities/locale.entity.d.ts.map +1 -1
  239. package/dist/entities/locale.entity.js +1 -0
  240. package/dist/entities/locale.entity.js.map +1 -1
  241. package/dist/entities/mcp-audit-log.entity.d.ts +19 -0
  242. package/dist/entities/mcp-audit-log.entity.d.ts.map +1 -0
  243. package/dist/entities/mcp-audit-log.entity.js +90 -0
  244. package/dist/entities/mcp-audit-log.entity.js.map +1 -0
  245. package/dist/entities/media.entity.d.ts.map +1 -1
  246. package/dist/entities/media.entity.js +1 -0
  247. package/dist/entities/media.entity.js.map +1 -1
  248. package/dist/entities/menu-item-metadata.entity.d.ts.map +1 -1
  249. package/dist/entities/menu-item-metadata.entity.js +2 -0
  250. package/dist/entities/menu-item-metadata.entity.js.map +1 -1
  251. package/dist/entities/model-metadata.entity.d.ts +2 -2
  252. package/dist/entities/model-metadata.entity.d.ts.map +1 -1
  253. package/dist/entities/model-metadata.entity.js +8 -8
  254. package/dist/entities/model-metadata.entity.js.map +1 -1
  255. package/dist/entities/module-metadata.entity.d.ts.map +1 -1
  256. package/dist/entities/module-metadata.entity.js +2 -0
  257. package/dist/entities/module-metadata.entity.js.map +1 -1
  258. package/dist/entities/permission-metadata.entity.d.ts.map +1 -1
  259. package/dist/entities/permission-metadata.entity.js.map +1 -1
  260. package/dist/entities/role-metadata.entity.d.ts +2 -0
  261. package/dist/entities/role-metadata.entity.d.ts.map +1 -1
  262. package/dist/entities/role-metadata.entity.js +10 -2
  263. package/dist/entities/role-metadata.entity.js.map +1 -1
  264. package/dist/entities/saved-filters.entity.d.ts.map +1 -1
  265. package/dist/entities/saved-filters.entity.js +3 -0
  266. package/dist/entities/saved-filters.entity.js.map +1 -1
  267. package/dist/entities/scheduled-job.entity.d.ts.map +1 -1
  268. package/dist/entities/scheduled-job.entity.js +2 -0
  269. package/dist/entities/scheduled-job.entity.js.map +1 -1
  270. package/dist/entities/security-rule.entity.d.ts.map +1 -1
  271. package/dist/entities/security-rule.entity.js +1 -0
  272. package/dist/entities/security-rule.entity.js.map +1 -1
  273. package/dist/entities/sms-template.entity.d.ts.map +1 -1
  274. package/dist/entities/sms-template.entity.js +2 -0
  275. package/dist/entities/sms-template.entity.js.map +1 -1
  276. package/dist/entities/user-activity-history.entity.d.ts.map +1 -1
  277. package/dist/entities/user-activity-history.entity.js +1 -0
  278. package/dist/entities/user-activity-history.entity.js.map +1 -1
  279. package/dist/entities/user.entity.d.ts +3 -0
  280. package/dist/entities/user.entity.d.ts.map +1 -1
  281. package/dist/entities/user.entity.js +15 -1
  282. package/dist/entities/user.entity.js.map +1 -1
  283. package/dist/entities/view-metadata.entity.d.ts.map +1 -1
  284. package/dist/entities/view-metadata.entity.js +2 -0
  285. package/dist/entities/view-metadata.entity.js.map +1 -1
  286. package/dist/enums/legacy-table-type.enum.d.ts +6 -0
  287. package/dist/enums/legacy-table-type.enum.d.ts.map +1 -0
  288. package/dist/enums/legacy-table-type.enum.js +10 -0
  289. package/dist/enums/legacy-table-type.enum.js.map +1 -0
  290. package/dist/factories/whatsapp.factory.d.ts.map +1 -1
  291. package/dist/factories/whatsapp.factory.js +13 -11
  292. package/dist/factories/whatsapp.factory.js.map +1 -1
  293. package/dist/helpers/bootstrap.helper.d.ts +1 -0
  294. package/dist/helpers/bootstrap.helper.d.ts.map +1 -1
  295. package/dist/helpers/bootstrap.helper.js +6 -3
  296. package/dist/helpers/bootstrap.helper.js.map +1 -1
  297. package/dist/helpers/command.service.d.ts +1 -0
  298. package/dist/helpers/command.service.d.ts.map +1 -1
  299. package/dist/helpers/command.service.js +2 -1
  300. package/dist/helpers/command.service.js.map +1 -1
  301. package/dist/helpers/microsoft-active-directory-oauth.helper.d.ts +34 -0
  302. package/dist/helpers/microsoft-active-directory-oauth.helper.d.ts.map +1 -0
  303. package/dist/helpers/microsoft-active-directory-oauth.helper.js +43 -0
  304. package/dist/helpers/microsoft-active-directory-oauth.helper.js.map +1 -0
  305. package/dist/helpers/model-metadata-helper.service.d.ts +2 -1
  306. package/dist/helpers/model-metadata-helper.service.d.ts.map +1 -1
  307. package/dist/helpers/model-metadata-helper.service.js +4 -3
  308. package/dist/helpers/model-metadata-helper.service.js.map +1 -1
  309. package/dist/helpers/module-metadata-helper.service.d.ts +2 -0
  310. package/dist/helpers/module-metadata-helper.service.d.ts.map +1 -1
  311. package/dist/helpers/module-metadata-helper.service.js +23 -10
  312. package/dist/helpers/module-metadata-helper.service.js.map +1 -1
  313. package/dist/helpers/module.helper.d.ts.map +1 -1
  314. package/dist/helpers/module.helper.js +6 -6
  315. package/dist/helpers/module.helper.js.map +1 -1
  316. package/dist/helpers/solid-registry.d.ts +5 -9
  317. package/dist/helpers/solid-registry.d.ts.map +1 -1
  318. package/dist/helpers/solid-registry.js +13 -28
  319. package/dist/helpers/solid-registry.js.map +1 -1
  320. package/dist/helpers/typeorm-migration-helpers.d.ts +12 -0
  321. package/dist/helpers/typeorm-migration-helpers.d.ts.map +1 -0
  322. package/dist/helpers/typeorm-migration-helpers.js +119 -0
  323. package/dist/helpers/typeorm-migration-helpers.js.map +1 -0
  324. package/dist/helpers/user-helper.d.ts.map +1 -1
  325. package/dist/helpers/user-helper.js +4 -0
  326. package/dist/helpers/user-helper.js.map +1 -1
  327. package/dist/index.d.ts +37 -10
  328. package/dist/index.d.ts.map +1 -1
  329. package/dist/index.js +37 -10
  330. package/dist/index.js.map +1 -1
  331. package/dist/interfaces.d.ts +23 -21
  332. package/dist/interfaces.d.ts.map +1 -1
  333. package/dist/interfaces.js.map +1 -1
  334. package/dist/listeners/user-registration.listener.d.ts +5 -2
  335. package/dist/listeners/user-registration.listener.d.ts.map +1 -1
  336. package/dist/listeners/user-registration.listener.js +37 -4
  337. package/dist/listeners/user-registration.listener.js.map +1 -1
  338. package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.d.ts +14 -0
  339. package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.d.ts.map +1 -0
  340. package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.js +67 -0
  341. package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.js.map +1 -0
  342. package/dist/{repository/dashboard-layout.repository.d.ts → repositories/dashboard-user-layout.repository.d.ts} +5 -5
  343. package/dist/repositories/dashboard-user-layout.repository.d.ts.map +1 -0
  344. package/dist/{repository/dashboard-question-sql-dataset-config.repository.js → repositories/dashboard-user-layout.repository.js} +15 -10
  345. package/dist/repositories/dashboard-user-layout.repository.js.map +1 -0
  346. package/dist/repository/{ai-interaction.repository.d.ts → mcp-audit-log.repository.d.ts} +3 -3
  347. package/dist/repository/mcp-audit-log.repository.d.ts.map +1 -0
  348. package/dist/repository/{ai-interaction.repository.js → mcp-audit-log.repository.js} +8 -8
  349. package/dist/repository/mcp-audit-log.repository.js.map +1 -0
  350. package/dist/seeders/module-metadata-seeder.service.d.ts +2 -6
  351. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  352. package/dist/seeders/module-metadata-seeder.service.js +58 -98
  353. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  354. package/dist/seeders/module-test-data.service.d.ts +2 -0
  355. package/dist/seeders/module-test-data.service.d.ts.map +1 -1
  356. package/dist/seeders/module-test-data.service.js +62 -1
  357. package/dist/seeders/module-test-data.service.js.map +1 -1
  358. package/dist/seeders/seed-data/solid-core-metadata.json +4992 -4287
  359. package/dist/seeders/system-fields-seeder.service.js +1 -1
  360. package/dist/seeders/system-fields-seeder.service.js.map +1 -1
  361. package/dist/services/authentication.service.d.ts +18 -1
  362. package/dist/services/authentication.service.d.ts.map +1 -1
  363. package/dist/services/authentication.service.js +208 -14
  364. package/dist/services/authentication.service.js.map +1 -1
  365. package/dist/services/chatter-message.service.d.ts +7 -1
  366. package/dist/services/chatter-message.service.d.ts.map +1 -1
  367. package/dist/services/chatter-message.service.js +94 -2
  368. package/dist/services/chatter-message.service.js.map +1 -1
  369. package/dist/services/crud-helper.service.d.ts +18 -0
  370. package/dist/services/crud-helper.service.d.ts.map +1 -1
  371. package/dist/services/crud-helper.service.js +76 -2
  372. package/dist/services/crud-helper.service.js.map +1 -1
  373. package/dist/services/crud.service.d.ts +1 -21
  374. package/dist/services/crud.service.d.ts.map +1 -1
  375. package/dist/services/crud.service.js +23 -87
  376. package/dist/services/crud.service.js.map +1 -1
  377. package/dist/services/dashboard-providers/mq-dashboard-avg-elapsed-kpi-provider.service.d.ts +13 -0
  378. package/dist/services/dashboard-providers/mq-dashboard-avg-elapsed-kpi-provider.service.d.ts.map +1 -0
  379. package/dist/services/dashboard-providers/mq-dashboard-avg-elapsed-kpi-provider.service.js +55 -0
  380. package/dist/services/dashboard-providers/mq-dashboard-avg-elapsed-kpi-provider.service.js.map +1 -0
  381. package/dist/services/dashboard-providers/mq-dashboard-failed-messages-kpi-provider.service.d.ts +13 -0
  382. package/dist/services/dashboard-providers/mq-dashboard-failed-messages-kpi-provider.service.d.ts.map +1 -0
  383. package/dist/services/dashboard-providers/mq-dashboard-failed-messages-kpi-provider.service.js +52 -0
  384. package/dist/services/dashboard-providers/mq-dashboard-failed-messages-kpi-provider.service.js.map +1 -0
  385. package/dist/services/dashboard-providers/mq-dashboard-inflight-messages-kpi-provider.service.d.ts +13 -0
  386. package/dist/services/dashboard-providers/mq-dashboard-inflight-messages-kpi-provider.service.d.ts.map +1 -0
  387. package/dist/services/dashboard-providers/mq-dashboard-inflight-messages-kpi-provider.service.js +52 -0
  388. package/dist/services/dashboard-providers/mq-dashboard-inflight-messages-kpi-provider.service.js.map +1 -0
  389. package/dist/services/dashboard-providers/mq-dashboard-latency-trend-provider.service.d.ts +10 -0
  390. package/dist/services/dashboard-providers/mq-dashboard-latency-trend-provider.service.d.ts.map +1 -0
  391. package/dist/services/dashboard-providers/mq-dashboard-latency-trend-provider.service.js +62 -0
  392. package/dist/services/dashboard-providers/mq-dashboard-latency-trend-provider.service.js.map +1 -0
  393. package/dist/services/dashboard-providers/mq-dashboard-messages-over-time-provider.service.d.ts +10 -0
  394. package/dist/services/dashboard-providers/mq-dashboard-messages-over-time-provider.service.d.ts.map +1 -0
  395. package/dist/services/dashboard-providers/mq-dashboard-messages-over-time-provider.service.js +82 -0
  396. package/dist/services/dashboard-providers/mq-dashboard-messages-over-time-provider.service.js.map +1 -0
  397. package/dist/services/dashboard-providers/mq-dashboard-provider-utils.d.ts +17 -0
  398. package/dist/services/dashboard-providers/mq-dashboard-provider-utils.d.ts.map +1 -0
  399. package/dist/services/dashboard-providers/mq-dashboard-provider-utils.js +130 -0
  400. package/dist/services/dashboard-providers/mq-dashboard-provider-utils.js.map +1 -0
  401. package/dist/services/dashboard-providers/mq-dashboard-queue-sla-heatmap-provider.service.d.ts +37 -0
  402. package/dist/services/dashboard-providers/mq-dashboard-queue-sla-heatmap-provider.service.d.ts.map +1 -0
  403. package/dist/services/dashboard-providers/mq-dashboard-queue-sla-heatmap-provider.service.js +112 -0
  404. package/dist/services/dashboard-providers/mq-dashboard-queue-sla-heatmap-provider.service.js.map +1 -0
  405. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-avg-elapsed-provider.service.d.ts +10 -0
  406. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-avg-elapsed-provider.service.d.ts.map +1 -0
  407. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-avg-elapsed-provider.service.js +57 -0
  408. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-avg-elapsed-provider.service.js.map +1 -0
  409. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-failures-provider.service.d.ts +10 -0
  410. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-failures-provider.service.d.ts.map +1 -0
  411. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-failures-provider.service.js +57 -0
  412. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-failures-provider.service.js.map +1 -0
  413. package/dist/services/dashboard-providers/mq-dashboard-recent-failures-provider.service.d.ts +10 -0
  414. package/dist/services/dashboard-providers/mq-dashboard-recent-failures-provider.service.d.ts.map +1 -0
  415. package/dist/services/dashboard-providers/mq-dashboard-recent-failures-provider.service.js +100 -0
  416. package/dist/services/dashboard-providers/mq-dashboard-recent-failures-provider.service.js.map +1 -0
  417. package/dist/services/dashboard-providers/mq-dashboard-stage-distribution-provider.service.d.ts +10 -0
  418. package/dist/services/dashboard-providers/mq-dashboard-stage-distribution-provider.service.d.ts.map +1 -0
  419. package/dist/services/dashboard-providers/mq-dashboard-stage-distribution-provider.service.js +55 -0
  420. package/dist/services/dashboard-providers/mq-dashboard-stage-distribution-provider.service.js.map +1 -0
  421. package/dist/services/dashboard-providers/mq-dashboard-succeeded-messages-kpi-provider.service.d.ts +13 -0
  422. package/dist/services/dashboard-providers/mq-dashboard-succeeded-messages-kpi-provider.service.d.ts.map +1 -0
  423. package/dist/services/dashboard-providers/mq-dashboard-succeeded-messages-kpi-provider.service.js +52 -0
  424. package/dist/services/dashboard-providers/mq-dashboard-succeeded-messages-kpi-provider.service.js.map +1 -0
  425. package/dist/services/dashboard-providers/mq-dashboard-success-rate-kpi-provider.service.d.ts +15 -0
  426. package/dist/services/dashboard-providers/mq-dashboard-success-rate-kpi-provider.service.d.ts.map +1 -0
  427. package/dist/services/dashboard-providers/mq-dashboard-success-rate-kpi-provider.service.js +60 -0
  428. package/dist/services/dashboard-providers/mq-dashboard-success-rate-kpi-provider.service.js.map +1 -0
  429. package/dist/services/dashboard-providers/mq-dashboard-total-messages-kpi-provider.service.d.ts +13 -0
  430. package/dist/services/dashboard-providers/mq-dashboard-total-messages-kpi-provider.service.d.ts.map +1 -0
  431. package/dist/services/dashboard-providers/mq-dashboard-total-messages-kpi-provider.service.js +51 -0
  432. package/dist/services/dashboard-providers/mq-dashboard-total-messages-kpi-provider.service.js.map +1 -0
  433. package/dist/services/dashboard-runtime.service.d.ts +31 -0
  434. package/dist/services/dashboard-runtime.service.d.ts.map +1 -0
  435. package/dist/services/dashboard-runtime.service.js +408 -0
  436. package/dist/services/dashboard-runtime.service.js.map +1 -0
  437. package/dist/services/dashboard-user-layout.service.d.ts +12 -0
  438. package/dist/services/dashboard-user-layout.service.d.ts.map +1 -0
  439. package/dist/services/{dashboard-question-sql-dataset-config.service.js → dashboard-user-layout.service.js} +10 -10
  440. package/dist/services/dashboard-user-layout.service.js.map +1 -0
  441. package/dist/services/import-transaction.service.d.ts.map +1 -1
  442. package/dist/services/import-transaction.service.js +6 -0
  443. package/dist/services/import-transaction.service.js.map +1 -1
  444. package/dist/services/mcp-audit-log.service.d.ts +12 -0
  445. package/dist/services/mcp-audit-log.service.d.ts.map +1 -0
  446. package/dist/services/{dashboard-variable.service.js → mcp-audit-log.service.js} +9 -10
  447. package/dist/services/mcp-audit-log.service.js.map +1 -0
  448. package/dist/services/media.service.d.ts +1 -20
  449. package/dist/services/media.service.d.ts.map +1 -1
  450. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts +1 -0
  451. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
  452. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +51 -11
  453. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
  454. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts +1 -0
  455. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
  456. package/dist/services/mediaStorageProviders/file-storage-provider.js +11 -1
  457. package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
  458. package/dist/services/model-metadata.service.d.ts +20 -32
  459. package/dist/services/model-metadata.service.d.ts.map +1 -1
  460. package/dist/services/model-metadata.service.js +271 -42
  461. package/dist/services/model-metadata.service.js.map +1 -1
  462. package/dist/services/module-metadata-explorer.service.d.ts +161 -0
  463. package/dist/services/module-metadata-explorer.service.d.ts.map +1 -0
  464. package/dist/services/module-metadata-explorer.service.js +485 -0
  465. package/dist/services/module-metadata-explorer.service.js.map +1 -0
  466. package/dist/services/module-metadata.service.d.ts +11 -1
  467. package/dist/services/module-metadata.service.d.ts.map +1 -1
  468. package/dist/services/module-metadata.service.js +140 -4
  469. package/dist/services/module-metadata.service.js.map +1 -1
  470. package/dist/services/module-package.service.d.ts +266 -0
  471. package/dist/services/module-package.service.d.ts.map +1 -0
  472. package/dist/services/module-package.service.js +980 -0
  473. package/dist/services/module-package.service.js.map +1 -0
  474. package/dist/services/selection-providers/mq-dashboard-message-broker-variable-options-provider.service.d.ts +11 -0
  475. package/dist/services/selection-providers/mq-dashboard-message-broker-variable-options-provider.service.d.ts.map +1 -0
  476. package/dist/services/selection-providers/mq-dashboard-message-broker-variable-options-provider.service.js +59 -0
  477. package/dist/services/selection-providers/mq-dashboard-message-broker-variable-options-provider.service.js.map +1 -0
  478. package/dist/services/selection-providers/mq-dashboard-queue-name-variable-options-provider.service.d.ts +11 -0
  479. package/dist/services/selection-providers/mq-dashboard-queue-name-variable-options-provider.service.d.ts.map +1 -0
  480. package/dist/services/selection-providers/mq-dashboard-queue-name-variable-options-provider.service.js +60 -0
  481. package/dist/services/selection-providers/mq-dashboard-queue-name-variable-options-provider.service.js.map +1 -0
  482. package/dist/services/settings/default-settings-provider.service.d.ts +292 -0
  483. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  484. package/dist/services/settings/default-settings-provider.service.js +164 -0
  485. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  486. package/dist/services/solid-introspect.service.d.ts +1 -2
  487. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  488. package/dist/services/solid-introspect.service.js +12 -24
  489. package/dist/services/solid-introspect.service.js.map +1 -1
  490. package/dist/services/user.service.d.ts +2 -0
  491. package/dist/services/user.service.d.ts.map +1 -1
  492. package/dist/services/user.service.js +47 -1
  493. package/dist/services/user.service.js.map +1 -1
  494. package/dist/services/whatsapp/GupshupOtpWhatsappService.d.ts +11 -0
  495. package/dist/services/whatsapp/GupshupOtpWhatsappService.d.ts.map +1 -0
  496. package/dist/services/whatsapp/GupshupOtpWhatsappService.js +127 -0
  497. package/dist/services/whatsapp/GupshupOtpWhatsappService.js.map +1 -0
  498. package/dist/services/whatsapp/MetaCloudWhatsappService.d.ts +17 -0
  499. package/dist/services/whatsapp/MetaCloudWhatsappService.d.ts.map +1 -0
  500. package/dist/services/whatsapp/MetaCloudWhatsappService.js +209 -0
  501. package/dist/services/whatsapp/MetaCloudWhatsappService.js.map +1 -0
  502. package/dist/solid-core.module.d.ts +2 -2
  503. package/dist/solid-core.module.d.ts.map +1 -1
  504. package/dist/solid-core.module.js +79 -103
  505. package/dist/solid-core.module.js.map +1 -1
  506. package/dist/subscribers/model-metadata.subscriber.d.ts.map +1 -1
  507. package/dist/subscribers/model-metadata.subscriber.js +1 -3
  508. package/dist/subscribers/model-metadata.subscriber.js.map +1 -1
  509. package/dist/subscribers/scheduled-job.subscriber.js +1 -1
  510. package/dist/subscribers/scheduled-job.subscriber.js.map +1 -1
  511. package/dist/subscribers/security-rule.subscriber.js +1 -1
  512. package/dist/subscribers/security-rule.subscriber.js.map +1 -1
  513. package/dist/testing/adapters/ui/playwright-adapter.d.ts +1 -0
  514. package/dist/testing/adapters/ui/playwright-adapter.d.ts.map +1 -1
  515. package/dist/testing/adapters/ui/playwright-adapter.js +3 -0
  516. package/dist/testing/adapters/ui/playwright-adapter.js.map +1 -1
  517. package/dist/testing/steps/ui/index.d.ts.map +1 -1
  518. package/dist/testing/steps/ui/index.js +2 -0
  519. package/dist/testing/steps/ui/index.js.map +1 -1
  520. package/dist/testing/steps/ui/manual.step.d.ts +3 -0
  521. package/dist/testing/steps/ui/manual.step.d.ts.map +1 -0
  522. package/dist/testing/steps/ui/manual.step.js +56 -0
  523. package/dist/testing/steps/ui/manual.step.js.map +1 -0
  524. package/dist/winston.logger.d.ts +5 -0
  525. package/dist/winston.logger.d.ts.map +1 -1
  526. package/dist/winston.logger.js +6 -4
  527. package/dist/winston.logger.js.map +1 -1
  528. package/package.json +5 -8
  529. package/src/commands/info.command.ts +0 -2
  530. package/src/commands/refresh-model.command.ts +6 -51
  531. package/src/commands/refresh-module.command.ts +3 -16
  532. package/src/commands/test-data.command.ts +29 -6
  533. package/src/constants/error-messages.ts +2 -1
  534. package/src/controllers/chatter-message.controller.ts +12 -0
  535. package/src/controllers/{dashboard-variable.controller.ts → dashboard-user-layout.controller.ts} +10 -10
  536. package/src/controllers/dashboard.controller.ts +70 -89
  537. package/src/controllers/gupshup-webhook.controller.ts +91 -0
  538. package/src/controllers/mcp-audit-log.controller.ts +70 -0
  539. package/src/controllers/meta-cloud-whatsapp-webhook.controller.ts +155 -0
  540. package/src/controllers/microsoft-active-directory-authentication.controller.ts +104 -0
  541. package/src/controllers/model-metadata.controller.ts +1 -1
  542. package/src/controllers/module-metadata-explorer.controller.ts +83 -0
  543. package/src/controllers/module-metadata.controller.ts +7 -1
  544. package/src/controllers/module-package.controller.ts +102 -0
  545. package/src/controllers/service.controller.ts +4 -7
  546. package/src/controllers/test.controller.ts +0 -9
  547. package/src/decorators/dashboard-widget-data-provider.decorator.ts +6 -0
  548. package/src/dtos/confirm-module-package-import.dto.ts +12 -0
  549. package/src/dtos/create-dashboard-user-layout.dto.ts +41 -0
  550. package/src/dtos/create-mcp-audit-log.dto.ts +84 -0
  551. package/src/dtos/create-model-metadata.dto.ts +5 -9
  552. package/src/dtos/create-permission-metadata.dto.ts +3 -0
  553. package/src/dtos/create-role-metadata.dto.ts +11 -1
  554. package/src/dtos/dashboard-variable-options-query.dto.ts +20 -0
  555. package/src/dtos/dashboard-widget-data-request.dto.ts +34 -0
  556. package/src/dtos/import-instructions.dto.ts +11 -1
  557. package/src/dtos/metadata-explorer-references-query.dto.ts +39 -0
  558. package/src/dtos/metadata-explorer-search-query.dto.ts +28 -0
  559. package/src/dtos/metadata-explorer-write.dto.ts +11 -0
  560. package/src/dtos/run-module-package-build.dto.ts +14 -0
  561. package/src/dtos/run-module-package-seed.dto.ts +12 -0
  562. package/src/dtos/update-chatter-note-message.dto.ts +14 -0
  563. package/src/dtos/update-dashboard-user-layout.dto.ts +45 -0
  564. package/src/dtos/update-mcp-audit-log.dto.ts +83 -0
  565. package/src/dtos/update-permission-metadata.dto.ts +4 -1
  566. package/src/dtos/update-role-metadata.dto.ts +21 -1
  567. package/src/entities/action-metadata.entity.ts +1 -0
  568. package/src/entities/agent-event.entity.ts +1 -0
  569. package/src/entities/agent-session.entity.ts +1 -0
  570. package/src/entities/chatter-message.entity.ts +2 -0
  571. package/src/entities/dashboard-user-layout.entity.ts +27 -0
  572. package/src/entities/email-template.entity.ts +1 -0
  573. package/src/entities/field-metadata.entity.ts +4 -1
  574. package/src/entities/legacy-common-with-id.entity.ts +2 -2
  575. package/src/entities/legacy-common.entity.ts +1 -1
  576. package/src/entities/list-of-values.entity.ts +5 -1
  577. package/src/entities/locale.entity.ts +1 -0
  578. package/src/entities/mcp-audit-log.entity.ts +55 -0
  579. package/src/entities/media.entity.ts +1 -0
  580. package/src/entities/menu-item-metadata.entity.ts +2 -0
  581. package/src/entities/model-metadata.entity.ts +6 -5
  582. package/src/entities/module-metadata.entity.ts +2 -0
  583. package/src/entities/permission-metadata.entity.ts +2 -2
  584. package/src/entities/role-metadata.entity.ts +11 -3
  585. package/src/entities/saved-filters.entity.ts +3 -0
  586. package/src/entities/scheduled-job.entity.ts +2 -0
  587. package/src/entities/security-rule.entity.ts +1 -0
  588. package/src/entities/sms-template.entity.ts +2 -0
  589. package/src/entities/user-activity-history.entity.ts +1 -0
  590. package/src/entities/user.entity.ts +15 -1
  591. package/src/entities/view-metadata.entity.ts +2 -0
  592. package/src/enums/legacy-table-type.enum.ts +5 -0
  593. package/src/factories/whatsapp.factory.ts +33 -32
  594. package/src/helpers/bootstrap.helper.ts +13 -6
  595. package/src/helpers/command.service.ts +3 -1
  596. package/src/helpers/field-crud-managers/field-quality-check-fixes.md +208 -0
  597. package/src/helpers/microsoft-active-directory-oauth.helper.ts +83 -0
  598. package/src/helpers/model-metadata-helper.service.ts +4 -3
  599. package/src/helpers/module-metadata-helper.service.ts +33 -20
  600. package/src/helpers/module.helper.ts +12 -9
  601. package/src/helpers/solid-registry.ts +15 -36
  602. package/src/helpers/typeorm-migration-helpers.ts +163 -0
  603. package/src/helpers/user-helper.ts +5 -1
  604. package/src/index.ts +37 -10
  605. package/src/interfaces.ts +32 -29
  606. package/src/listeners/user-registration.listener.ts +49 -6
  607. package/src/passport-strategies/microsoft-active-directory-oauth.strategy.ts +63 -0
  608. package/src/repositories/dashboard-user-layout.repository.ts +19 -0
  609. package/src/repository/mcp-audit-log.repository.ts +17 -0
  610. package/src/seeders/module-metadata-seeder.service.ts +63 -105
  611. package/src/seeders/module-test-data.service.ts +80 -3
  612. package/src/seeders/seed-data/solid-core-metadata.json +4994 -4289
  613. package/src/seeders/system-fields-seeder.service.ts +1 -1
  614. package/src/services/authentication.service.ts +359 -46
  615. package/src/services/chatter-message.service.ts +112 -2
  616. package/src/services/crud-helper.service.ts +86 -2
  617. package/src/services/crud.service.ts +26 -119
  618. package/src/services/dashboard-providers/README.md +603 -0
  619. package/src/services/dashboard-providers/mq-dashboard-avg-elapsed-kpi-provider.service.ts +49 -0
  620. package/src/services/dashboard-providers/mq-dashboard-failed-messages-kpi-provider.service.ts +45 -0
  621. package/src/services/dashboard-providers/mq-dashboard-inflight-messages-kpi-provider.service.ts +45 -0
  622. package/src/services/dashboard-providers/mq-dashboard-latency-trend-provider.service.ts +58 -0
  623. package/src/services/dashboard-providers/mq-dashboard-messages-over-time-provider.service.ts +79 -0
  624. package/src/services/dashboard-providers/mq-dashboard-provider-utils.ts +165 -0
  625. package/src/services/dashboard-providers/mq-dashboard-queue-sla-heatmap-provider.service.ts +155 -0
  626. package/src/services/dashboard-providers/mq-dashboard-queue-wise-avg-elapsed-provider.service.ts +51 -0
  627. package/src/services/dashboard-providers/mq-dashboard-queue-wise-failures-provider.service.ts +51 -0
  628. package/src/services/dashboard-providers/mq-dashboard-recent-failures-provider.service.ts +95 -0
  629. package/src/services/dashboard-providers/mq-dashboard-stage-distribution-provider.service.ts +49 -0
  630. package/src/services/dashboard-providers/mq-dashboard-succeeded-messages-kpi-provider.service.ts +45 -0
  631. package/src/services/dashboard-providers/mq-dashboard-success-rate-kpi-provider.service.ts +55 -0
  632. package/src/services/dashboard-providers/mq-dashboard-total-messages-kpi-provider.service.ts +44 -0
  633. package/src/services/dashboard-runtime.service.ts +488 -0
  634. package/src/services/dashboard-user-layout.service.ts +20 -0
  635. package/src/services/import-transaction.service.ts +11 -1
  636. package/src/services/mcp-audit-log.service.ts +19 -0
  637. package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +60 -13
  638. package/src/services/mediaStorageProviders/file-storage-provider.ts +13 -2
  639. package/src/services/model-metadata.service.ts +318 -115
  640. package/src/services/module-metadata-explorer.service.ts +670 -0
  641. package/src/services/module-metadata.service.ts +148 -10
  642. package/src/services/module-package.service.ts +1171 -0
  643. package/src/services/selection-providers/mq-dashboard-message-broker-variable-options-provider.service.ts +52 -0
  644. package/src/services/selection-providers/mq-dashboard-queue-name-variable-options-provider.service.ts +51 -0
  645. package/src/services/settings/default-settings-provider.service.ts +167 -0
  646. package/src/services/solid-introspect.service.ts +19 -34
  647. package/src/services/user.service.ts +62 -1
  648. package/src/services/whatsapp/GupshupOtpWhatsappService.ts +174 -0
  649. package/src/services/whatsapp/MetaCloudWhatsappService.ts +253 -0
  650. package/src/solid-core.module.ts +251 -282
  651. package/src/subscribers/model-metadata.subscriber.ts +1 -3
  652. package/src/subscribers/scheduled-job.subscriber.ts +1 -1
  653. package/src/subscribers/security-rule.subscriber.ts +1 -1
  654. package/src/testing/README.md +55 -2
  655. package/src/testing/adapters/ui/playwright-adapter.ts +4 -0
  656. package/src/testing/steps/ui/index.ts +2 -0
  657. package/src/testing/steps/ui/manual.step.ts +80 -0
  658. package/src/winston.logger.ts +5 -7
  659. package/dist/commands/ingest.command.d.ts +0 -16
  660. package/dist/commands/ingest.command.d.ts.map +0 -1
  661. package/dist/commands/ingest.command.js +0 -50
  662. package/dist/commands/ingest.command.js.map +0 -1
  663. package/dist/controllers/ai-interaction.controller.d.ts +0 -48
  664. package/dist/controllers/ai-interaction.controller.d.ts.map +0 -1
  665. package/dist/controllers/ai-interaction.controller.js +0 -218
  666. package/dist/controllers/ai-interaction.controller.js.map +0 -1
  667. package/dist/controllers/dashboard-layout.controller.d.ts +0 -47
  668. package/dist/controllers/dashboard-layout.controller.d.ts.map +0 -1
  669. package/dist/controllers/dashboard-layout.controller.js +0 -204
  670. package/dist/controllers/dashboard-layout.controller.js.map +0 -1
  671. package/dist/controllers/dashboard-question-sql-dataset-config.controller.d.ts +0 -43
  672. package/dist/controllers/dashboard-question-sql-dataset-config.controller.d.ts.map +0 -1
  673. package/dist/controllers/dashboard-question-sql-dataset-config.controller.js +0 -179
  674. package/dist/controllers/dashboard-question-sql-dataset-config.controller.js.map +0 -1
  675. package/dist/controllers/dashboard-question.controller.d.ts +0 -45
  676. package/dist/controllers/dashboard-question.controller.d.ts.map +0 -1
  677. package/dist/controllers/dashboard-question.controller.js.map +0 -1
  678. package/dist/controllers/dashboard-variable.controller.d.ts +0 -43
  679. package/dist/controllers/dashboard-variable.controller.d.ts.map +0 -1
  680. package/dist/controllers/dashboard-variable.controller.js.map +0 -1
  681. package/dist/decorators/dashboard-question-data-provider.decorator.d.ts +0 -3
  682. package/dist/decorators/dashboard-question-data-provider.decorator.d.ts.map +0 -1
  683. package/dist/decorators/dashboard-question-data-provider.decorator.js +0 -11
  684. package/dist/decorators/dashboard-question-data-provider.decorator.js.map +0 -1
  685. package/dist/decorators/dashboard-selection-provider.decorator.d.ts +0 -3
  686. package/dist/decorators/dashboard-selection-provider.decorator.d.ts.map +0 -1
  687. package/dist/decorators/dashboard-selection-provider.decorator.js +0 -11
  688. package/dist/decorators/dashboard-selection-provider.decorator.js.map +0 -1
  689. package/dist/dtos/create-ai-interaction.dto.d.ts +0 -23
  690. package/dist/dtos/create-ai-interaction.dto.d.ts.map +0 -1
  691. package/dist/dtos/create-ai-interaction.dto.js +0 -149
  692. package/dist/dtos/create-ai-interaction.dto.js.map +0 -1
  693. package/dist/dtos/create-dashboard-layout.dto.d.ts +0 -8
  694. package/dist/dtos/create-dashboard-layout.dto.d.ts.map +0 -1
  695. package/dist/dtos/create-dashboard-layout.dto.js +0 -53
  696. package/dist/dtos/create-dashboard-layout.dto.js.map +0 -1
  697. package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.d.ts +0 -12
  698. package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.d.ts.map +0 -1
  699. package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.js +0 -77
  700. package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.js.map +0 -1
  701. package/dist/dtos/create-dashboard-question.dto.d.ts +0 -17
  702. package/dist/dtos/create-dashboard-question.dto.d.ts.map +0 -1
  703. package/dist/dtos/create-dashboard-question.dto.js +0 -105
  704. package/dist/dtos/create-dashboard-question.dto.js.map +0 -1
  705. package/dist/dtos/create-dashboard-variable.dto.d.ts +0 -19
  706. package/dist/dtos/create-dashboard-variable.dto.d.ts.map +0 -1
  707. package/dist/dtos/create-dashboard-variable.dto.js +0 -103
  708. package/dist/dtos/create-dashboard-variable.dto.js.map +0 -1
  709. package/dist/dtos/create-dashboard.dto.d.ts +0 -17
  710. package/dist/dtos/create-dashboard.dto.d.ts.map +0 -1
  711. package/dist/dtos/create-dashboard.dto.js +0 -102
  712. package/dist/dtos/create-dashboard.dto.js.map +0 -1
  713. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.d.ts +0 -8
  714. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.d.ts.map +0 -1
  715. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.js +0 -52
  716. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.js.map +0 -1
  717. package/dist/dtos/invoke-ai-prompt.dto.d.ts +0 -5
  718. package/dist/dtos/invoke-ai-prompt.dto.d.ts.map +0 -1
  719. package/dist/dtos/invoke-ai-prompt.dto.js.map +0 -1
  720. package/dist/dtos/update-ai-interaction.dto.d.ts +0 -24
  721. package/dist/dtos/update-ai-interaction.dto.d.ts.map +0 -1
  722. package/dist/dtos/update-ai-interaction.dto.js +0 -150
  723. package/dist/dtos/update-ai-interaction.dto.js.map +0 -1
  724. package/dist/dtos/update-dashboard-layout.dto.d.ts +0 -8
  725. package/dist/dtos/update-dashboard-layout.dto.d.ts.map +0 -1
  726. package/dist/dtos/update-dashboard-layout.dto.js.map +0 -1
  727. package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.d.ts +0 -13
  728. package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.d.ts.map +0 -1
  729. package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.js +0 -86
  730. package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.js.map +0 -1
  731. package/dist/dtos/update-dashboard-question.dto.d.ts +0 -18
  732. package/dist/dtos/update-dashboard-question.dto.d.ts.map +0 -1
  733. package/dist/dtos/update-dashboard-question.dto.js +0 -112
  734. package/dist/dtos/update-dashboard-question.dto.js.map +0 -1
  735. package/dist/dtos/update-dashboard-variable.dto.d.ts +0 -16
  736. package/dist/dtos/update-dashboard-variable.dto.d.ts.map +0 -1
  737. package/dist/dtos/update-dashboard-variable.dto.js +0 -101
  738. package/dist/dtos/update-dashboard-variable.dto.js.map +0 -1
  739. package/dist/dtos/update-dashboard.dto.d.ts +0 -18
  740. package/dist/dtos/update-dashboard.dto.d.ts.map +0 -1
  741. package/dist/dtos/update-dashboard.dto.js +0 -108
  742. package/dist/dtos/update-dashboard.dto.js.map +0 -1
  743. package/dist/entities/ai-interaction.entity.d.ts +0 -24
  744. package/dist/entities/ai-interaction.entity.d.ts.map +0 -1
  745. package/dist/entities/ai-interaction.entity.js +0 -116
  746. package/dist/entities/ai-interaction.entity.js.map +0 -1
  747. package/dist/entities/dashboard-layout.entity.d.ts +0 -9
  748. package/dist/entities/dashboard-layout.entity.d.ts.map +0 -1
  749. package/dist/entities/dashboard-layout.entity.js +0 -41
  750. package/dist/entities/dashboard-layout.entity.js.map +0 -1
  751. package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts +0 -14
  752. package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts.map +0 -1
  753. package/dist/entities/dashboard-question-sql-dataset-config.entity.js +0 -66
  754. package/dist/entities/dashboard-question-sql-dataset-config.entity.js.map +0 -1
  755. package/dist/entities/dashboard-question.entity.d.ts +0 -17
  756. package/dist/entities/dashboard-question.entity.d.ts.map +0 -1
  757. package/dist/entities/dashboard-question.entity.js +0 -77
  758. package/dist/entities/dashboard-question.entity.js.map +0 -1
  759. package/dist/entities/dashboard-variable.entity.d.ts +0 -16
  760. package/dist/entities/dashboard-variable.entity.d.ts.map +0 -1
  761. package/dist/entities/dashboard-variable.entity.js +0 -79
  762. package/dist/entities/dashboard-variable.entity.js.map +0 -1
  763. package/dist/entities/dashboard.entity.d.ts +0 -16
  764. package/dist/entities/dashboard.entity.d.ts.map +0 -1
  765. package/dist/entities/dashboard.entity.js +0 -64
  766. package/dist/entities/dashboard.entity.js.map +0 -1
  767. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts +0 -11
  768. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts.map +0 -1
  769. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js +0 -39
  770. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js.map +0 -1
  771. package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts +0 -8
  772. package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts.map +0 -1
  773. package/dist/jobs/database/trigger-mcp-client-queue-options.js +0 -10
  774. package/dist/jobs/database/trigger-mcp-client-queue-options.js.map +0 -1
  775. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts +0 -27
  776. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +0 -1
  777. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +0 -245
  778. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +0 -1
  779. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts +0 -11
  780. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts.map +0 -1
  781. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.js +0 -39
  782. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.js.map +0 -1
  783. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.d.ts +0 -8
  784. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.d.ts.map +0 -1
  785. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.js +0 -10
  786. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.js.map +0 -1
  787. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts +0 -18
  788. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts.map +0 -1
  789. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.js +0 -103
  790. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.js.map +0 -1
  791. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts +0 -11
  792. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts.map +0 -1
  793. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.js +0 -39
  794. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.js.map +0 -1
  795. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.d.ts +0 -8
  796. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.d.ts.map +0 -1
  797. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.js +0 -10
  798. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.js.map +0 -1
  799. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts +0 -18
  800. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts.map +0 -1
  801. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.js +0 -103
  802. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.js.map +0 -1
  803. package/dist/mappers/dashboard-mapper.d.ts +0 -6
  804. package/dist/mappers/dashboard-mapper.d.ts.map +0 -1
  805. package/dist/mappers/dashboard-mapper.js +0 -62
  806. package/dist/mappers/dashboard-mapper.js.map +0 -1
  807. package/dist/repository/ai-interaction.repository.d.ts.map +0 -1
  808. package/dist/repository/ai-interaction.repository.js.map +0 -1
  809. package/dist/repository/dashboard-layout.repository.d.ts.map +0 -1
  810. package/dist/repository/dashboard-layout.repository.js +0 -34
  811. package/dist/repository/dashboard-layout.repository.js.map +0 -1
  812. package/dist/repository/dashboard-question-sql-dataset-config.repository.d.ts +0 -12
  813. package/dist/repository/dashboard-question-sql-dataset-config.repository.d.ts.map +0 -1
  814. package/dist/repository/dashboard-question-sql-dataset-config.repository.js.map +0 -1
  815. package/dist/repository/dashboard-question.repository.d.ts +0 -12
  816. package/dist/repository/dashboard-question.repository.d.ts.map +0 -1
  817. package/dist/repository/dashboard-question.repository.js +0 -34
  818. package/dist/repository/dashboard-question.repository.js.map +0 -1
  819. package/dist/repository/dashboard-variable.repository.d.ts +0 -12
  820. package/dist/repository/dashboard-variable.repository.d.ts.map +0 -1
  821. package/dist/repository/dashboard-variable.repository.js +0 -34
  822. package/dist/repository/dashboard-variable.repository.js.map +0 -1
  823. package/dist/repository/dashboard.repository.d.ts +0 -13
  824. package/dist/repository/dashboard.repository.d.ts.map +0 -1
  825. package/dist/repository/dashboard.repository.js +0 -104
  826. package/dist/repository/dashboard.repository.js.map +0 -1
  827. package/dist/services/ai-interaction.service.d.ts +0 -23
  828. package/dist/services/ai-interaction.service.d.ts.map +0 -1
  829. package/dist/services/ai-interaction.service.js +0 -217
  830. package/dist/services/ai-interaction.service.js.map +0 -1
  831. package/dist/services/dashboard-layout.service.d.ts +0 -20
  832. package/dist/services/dashboard-layout.service.d.ts.map +0 -1
  833. package/dist/services/dashboard-layout.service.js +0 -120
  834. package/dist/services/dashboard-layout.service.js.map +0 -1
  835. package/dist/services/dashboard-question-sql-dataset-config.service.d.ts +0 -12
  836. package/dist/services/dashboard-question-sql-dataset-config.service.d.ts.map +0 -1
  837. package/dist/services/dashboard-question-sql-dataset-config.service.js.map +0 -1
  838. package/dist/services/dashboard-question.service.d.ts +0 -23
  839. package/dist/services/dashboard-question.service.d.ts.map +0 -1
  840. package/dist/services/dashboard-question.service.js +0 -135
  841. package/dist/services/dashboard-question.service.js.map +0 -1
  842. package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.d.ts +0 -12
  843. package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.d.ts.map +0 -1
  844. package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.js +0 -55
  845. package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.js.map +0 -1
  846. package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.d.ts +0 -11
  847. package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.d.ts.map +0 -1
  848. package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.js +0 -45
  849. package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.js.map +0 -1
  850. package/dist/services/dashboard-variable.service.d.ts +0 -13
  851. package/dist/services/dashboard-variable.service.d.ts.map +0 -1
  852. package/dist/services/dashboard-variable.service.js.map +0 -1
  853. package/dist/services/dashboard.service.d.ts +0 -29
  854. package/dist/services/dashboard.service.d.ts.map +0 -1
  855. package/dist/services/dashboard.service.js +0 -171
  856. package/dist/services/dashboard.service.js.map +0 -1
  857. package/dist/services/database/database-bootstrap.service.d.ts +0 -12
  858. package/dist/services/database/database-bootstrap.service.d.ts.map +0 -1
  859. package/dist/services/database/database-bootstrap.service.js +0 -115
  860. package/dist/services/database/database-bootstrap.service.js.map +0 -1
  861. package/dist/services/genai/ingest-metadata.service.d.ts +0 -38
  862. package/dist/services/genai/ingest-metadata.service.d.ts.map +0 -1
  863. package/dist/services/genai/ingest-metadata.service.js +0 -542
  864. package/dist/services/genai/ingest-metadata.service.js.map +0 -1
  865. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts +0 -9
  866. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts.map +0 -1
  867. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js +0 -39
  868. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js.map +0 -1
  869. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.d.ts +0 -12
  870. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.d.ts.map +0 -1
  871. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.js +0 -41
  872. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.js.map +0 -1
  873. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.d.ts +0 -12
  874. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.d.ts.map +0 -1
  875. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.js +0 -42
  876. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.js.map +0 -1
  877. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.d.ts +0 -25
  878. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.d.ts.map +0 -1
  879. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.js +0 -116
  880. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.js.map +0 -1
  881. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.d.ts +0 -12
  882. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.d.ts.map +0 -1
  883. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.js +0 -37
  884. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.js.map +0 -1
  885. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.d.ts +0 -12
  886. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.d.ts.map +0 -1
  887. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.js +0 -38
  888. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.js.map +0 -1
  889. package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.d.ts +0 -12
  890. package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.d.ts.map +0 -1
  891. package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.js +0 -38
  892. package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.js.map +0 -1
  893. package/dist/services/genai/r2r-helper.service.d.ts +0 -9
  894. package/dist/services/genai/r2r-helper.service.d.ts.map +0 -1
  895. package/dist/services/genai/r2r-helper.service.js +0 -40
  896. package/dist/services/genai/r2r-helper.service.js.map +0 -1
  897. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts +0 -34
  898. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts.map +0 -1
  899. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.js +0 -90
  900. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.js.map +0 -1
  901. package/dist/services/question-data-providers/helpers.d.ts +0 -7
  902. package/dist/services/question-data-providers/helpers.d.ts.map +0 -1
  903. package/dist/services/question-data-providers/helpers.js +0 -25
  904. package/dist/services/question-data-providers/helpers.js.map +0 -1
  905. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts +0 -14
  906. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts.map +0 -1
  907. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.js +0 -71
  908. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.js.map +0 -1
  909. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts +0 -16
  910. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts.map +0 -1
  911. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.js +0 -93
  912. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.js.map +0 -1
  913. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.d.ts +0 -11
  914. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.d.ts.map +0 -1
  915. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.js +0 -49
  916. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.js.map +0 -1
  917. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.d.ts +0 -11
  918. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.d.ts.map +0 -1
  919. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.js +0 -47
  920. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.js.map +0 -1
  921. package/dist/services/sql-expression-resolver.service.d.ts +0 -12
  922. package/dist/services/sql-expression-resolver.service.d.ts.map +0 -1
  923. package/dist/services/sql-expression-resolver.service.js +0 -121
  924. package/dist/services/sql-expression-resolver.service.js.map +0 -1
  925. package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.d.ts +0 -16
  926. package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.d.ts.map +0 -1
  927. package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.js +0 -72
  928. package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.js.map +0 -1
  929. package/dist/subscribers/dashboard-question.subscriber.d.ts +0 -16
  930. package/dist/subscribers/dashboard-question.subscriber.d.ts.map +0 -1
  931. package/dist/subscribers/dashboard-question.subscriber.js +0 -72
  932. package/dist/subscribers/dashboard-question.subscriber.js.map +0 -1
  933. package/dist/subscribers/dashboard-variable.subscriber.d.ts +0 -16
  934. package/dist/subscribers/dashboard-variable.subscriber.d.ts.map +0 -1
  935. package/dist/subscribers/dashboard-variable.subscriber.js +0 -72
  936. package/dist/subscribers/dashboard-variable.subscriber.js.map +0 -1
  937. package/dist/subscribers/dashboard.subscriber.d.ts +0 -16
  938. package/dist/subscribers/dashboard.subscriber.d.ts.map +0 -1
  939. package/dist/subscribers/dashboard.subscriber.js +0 -71
  940. package/dist/subscribers/dashboard.subscriber.js.map +0 -1
  941. package/sql/default/mariadb/proc_CleanupModelMetadata.sql +0 -153
  942. package/sql/default/mariadb/proc_CleanupModuleMetadata.sql +0 -56
  943. package/sql/default/mssql/proc_CleanupModuleMetadata.sql +0 -78
  944. package/sql/default/mysql/proc_CleanupModelMetadata.sql +0 -153
  945. package/sql/default/mysql/proc_CleanupModuleMetadata.sql +0 -56
  946. package/sql/default/postgres/proc_CleanupModelMetadata.sql +0 -148
  947. package/sql/default/postgres/proc_CleanupModuleMetadata.sql +0 -50
  948. package/sql/default/postgres/scratchpad.sql.txt +0 -12
  949. package/src/commands/ingest.command.ts +0 -36
  950. package/src/controllers/ai-interaction.controller.ts +0 -112
  951. package/src/controllers/dashboard-layout.controller.ts +0 -106
  952. package/src/controllers/dashboard-question-sql-dataset-config.controller.ts +0 -93
  953. package/src/controllers/dashboard-question.controller.ts +0 -104
  954. package/src/decorators/dashboard-question-data-provider.decorator.ts +0 -7
  955. package/src/decorators/dashboard-selection-provider.decorator.ts +0 -7
  956. package/src/dtos/create-ai-interaction.dto.ts +0 -89
  957. package/src/dtos/create-dashboard-layout.dto.ts +0 -31
  958. package/src/dtos/create-dashboard-question-sql-dataset-config.dto.ts +0 -42
  959. package/src/dtos/create-dashboard-question.dto.ts +0 -62
  960. package/src/dtos/create-dashboard-variable.dto.ts +0 -60
  961. package/src/dtos/create-dashboard.dto.ts +0 -61
  962. package/src/dtos/dashboard-variable-selection-dynamic-query.dto.ts +0 -29
  963. package/src/dtos/invoke-ai-prompt.dto.ts +0 -10
  964. package/src/dtos/update-ai-interaction.dto.ts +0 -93
  965. package/src/dtos/update-dashboard-layout.dto.ts +0 -30
  966. package/src/dtos/update-dashboard-question-sql-dataset-config.dto.ts +0 -49
  967. package/src/dtos/update-dashboard-question.dto.ts +0 -67
  968. package/src/dtos/update-dashboard-variable.dto.ts +0 -58
  969. package/src/dtos/update-dashboard.dto.ts +0 -65
  970. package/src/entities/ai-interaction.entity.ts +0 -71
  971. package/src/entities/dashboard-layout.entity.ts +0 -18
  972. package/src/entities/dashboard-question-sql-dataset-config.entity.ts +0 -37
  973. package/src/entities/dashboard-question.entity.ts +0 -46
  974. package/src/entities/dashboard-variable.entity.ts +0 -44
  975. package/src/entities/dashboard.entity.ts +0 -36
  976. package/src/jobs/database/trigger-mcp-client-publisher-database.service.ts +0 -22
  977. package/src/jobs/database/trigger-mcp-client-queue-options.ts +0 -9
  978. package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +0 -311
  979. package/src/jobs/rabbitmq/trigger-mcp-client-publisher.service.ts +0 -22
  980. package/src/jobs/rabbitmq/trigger-mcp-client-queue-options.ts +0 -9
  981. package/src/jobs/rabbitmq/trigger-mcp-client-subscriber.service.ts +0 -104
  982. package/src/jobs/redis/trigger-mcp-client-publisher-redis.service.ts +0 -23
  983. package/src/jobs/redis/trigger-mcp-client-queue-options-redis.ts +0 -9
  984. package/src/jobs/redis/trigger-mcp-client-subscriber-redis.service.ts +0 -98
  985. package/src/mappers/dashboard-mapper.ts +0 -53
  986. package/src/repository/ai-interaction.repository.ts +0 -17
  987. package/src/repository/dashboard-layout.repository.ts +0 -17
  988. package/src/repository/dashboard-question-sql-dataset-config.repository.ts +0 -17
  989. package/src/repository/dashboard-question.repository.ts +0 -17
  990. package/src/repository/dashboard-variable.repository.ts +0 -17
  991. package/src/repository/dashboard.repository.ts +0 -101
  992. package/src/services/ai-interaction.service.ts +0 -239
  993. package/src/services/dashboard-layout.service.ts +0 -111
  994. package/src/services/dashboard-question-sql-dataset-config.service.ts +0 -25
  995. package/src/services/dashboard-question.service.ts +0 -150
  996. package/src/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.ts +0 -56
  997. package/src/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.ts +0 -37
  998. package/src/services/dashboard-variable.service.ts +0 -27
  999. package/src/services/dashboard.service.ts +0 -148
  1000. package/src/services/database/database-bootstrap.service.ts +0 -91
  1001. package/src/services/genai/ingest-metadata.service.ts +0 -798
  1002. package/src/services/genai/mcp-handlers/mcp-handler-factory.service.ts +0 -33
  1003. package/src/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.ts +0 -43
  1004. package/src/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.ts +0 -44
  1005. package/src/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.ts +0 -114
  1006. package/src/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.ts +0 -38
  1007. package/src/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.ts +0 -40
  1008. package/src/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.ts +0 -39
  1009. package/src/services/genai/r2r-helper.service.ts +0 -37
  1010. package/src/services/question-data-providers/chartjs-sql-data-provider.service.ts +0 -121
  1011. package/src/services/question-data-providers/helpers.ts +0 -30
  1012. package/src/services/question-data-providers/prime-react-datatable-sql-data-provider.service.ts +0 -74
  1013. package/src/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.ts +0 -115
  1014. package/src/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.ts +0 -44
  1015. package/src/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.ts +0 -41
  1016. package/src/services/sql-expression-resolver.service.ts +0 -140
  1017. package/src/subscribers/dashboard-question-sql-dataset-config.subscriber.ts +0 -61
  1018. package/src/subscribers/dashboard-question.subscriber.ts +0 -62
  1019. package/src/subscribers/dashboard-variable.subscriber.ts +0 -63
  1020. package/src/subscribers/dashboard.subscriber.ts +0 -62
@@ -0,0 +1,488 @@
1
+ import { Injectable, Logger, NotFoundException } from '@nestjs/common';
2
+ import qs from 'qs';
3
+ import { ERROR_MESSAGES } from 'src/constants/error-messages';
4
+ import { DashboardVariableOptionsQueryDto } from 'src/dtos/dashboard-variable-options-query.dto';
5
+ import { DashboardBatchDataRequestDto, DashboardSaveLayoutDto, DashboardWidgetDataRequestDto } from 'src/dtos/dashboard-widget-data-request.dto';
6
+ import { ModuleMetadata } from 'src/entities/module-metadata.entity';
7
+ import { ModuleMetadataHelperService } from 'src/helpers/module-metadata-helper.service';
8
+ import { SolidRegistry } from 'src/helpers/solid-registry';
9
+ import { ActiveUserData } from 'src/interfaces/active-user-data.interface';
10
+ import { IDashboardWidgetDataProviderContext } from 'src/interfaces';
11
+ import { DashboardUserLayoutService } from './dashboard-user-layout.service';
12
+
13
+ @Injectable()
14
+ export class DashboardRuntimeService {
15
+ private readonly logger = new Logger(DashboardRuntimeService.name);
16
+
17
+ constructor(
18
+ private readonly moduleMetadataHelperService: ModuleMetadataHelperService,
19
+ private readonly solidRegistry: SolidRegistry,
20
+ private readonly dashboardUserLayoutService: DashboardUserLayoutService,
21
+ ) { }
22
+
23
+ async getDashboardDefinition(moduleName: string, dashboardName: string): Promise<any> {
24
+ const moduleMetadata = await this.getModuleMetadata(moduleName);
25
+ const dashboards = this.getDashboards(moduleMetadata);
26
+ const dashboard = dashboards.find((d) => d?.name === dashboardName || d?.routeName === dashboardName);
27
+
28
+ if (!dashboard) {
29
+ throw new NotFoundException(`Dashboard ${dashboardName} not found for module ${moduleName}.`);
30
+ }
31
+
32
+ return dashboard;
33
+ }
34
+
35
+ async getWidgetData(
36
+ moduleName: string,
37
+ dashboardName: string,
38
+ widgetName: string,
39
+ request: DashboardWidgetDataRequestDto = {},
40
+ activeUser?: ActiveUserData,
41
+ ): Promise<any> {
42
+ const dashboardDefinition = await this.getDashboardDefinition(moduleName, dashboardName);
43
+ return this.getWidgetDataFromDefinition(dashboardDefinition, moduleName, dashboardName, widgetName, request, activeUser);
44
+ }
45
+
46
+ async getDashboardData(
47
+ moduleName: string,
48
+ dashboardName: string,
49
+ request: DashboardBatchDataRequestDto = {},
50
+ activeUser?: ActiveUserData,
51
+ ): Promise<any> {
52
+ const dashboardDefinition = await this.getDashboardDefinition(moduleName, dashboardName);
53
+ const allWidgets = Array.isArray(dashboardDefinition.widgets) ? dashboardDefinition.widgets : [];
54
+
55
+ const targetWidgets = request.widgetNames?.length
56
+ ? allWidgets.filter((widget) => request.widgetNames.includes(widget.id) || request.widgetNames.includes(widget.name))
57
+ : allWidgets;
58
+
59
+ const widgets = await Promise.all(
60
+ targetWidgets.map((widget) => this.getWidgetDataFromDefinition(
61
+ dashboardDefinition,
62
+ moduleName,
63
+ dashboardName,
64
+ widget.id ?? widget.name,
65
+ request,
66
+ activeUser
67
+ ))
68
+ );
69
+
70
+ return {
71
+ moduleName,
72
+ dashboardName: dashboardDefinition.name,
73
+ variables: request.variables ?? {},
74
+ widgets,
75
+ };
76
+ }
77
+
78
+ async getVariableOptions(
79
+ moduleName: string,
80
+ dashboardName: string,
81
+ variableName: string,
82
+ query: DashboardVariableOptionsQueryDto,
83
+ ): Promise<any> {
84
+ const dashboardDefinition = await this.getDashboardDefinition(moduleName, dashboardName);
85
+ const variable = (dashboardDefinition.variables ?? []).find((v) => v.name === variableName);
86
+
87
+ if (!variable) {
88
+ throw new NotFoundException(`Variable ${variableName} not found in dashboard ${dashboardName}.`);
89
+ }
90
+
91
+ if (variable.type === 'selectionStatic') {
92
+ const values = Array.isArray(variable.selectionStaticValues) ? variable.selectionStaticValues : [];
93
+ return values.map((entry: string) => {
94
+ const [value, label] = `${entry}`.split(':');
95
+ return { label: label ?? value, value };
96
+ });
97
+ }
98
+
99
+ if (variable.type !== 'selectionDynamic') {
100
+ return [];
101
+ }
102
+
103
+ const providerName = variable?.selectionConfig?.providerName;
104
+ if (!providerName) {
105
+ throw new NotFoundException(`Variable ${variableName} does not define a dynamic selection provider.`);
106
+ }
107
+
108
+ const selectionProvider = this.solidRegistry.getSelectionProviderInstance(providerName);
109
+ if (!selectionProvider) {
110
+ throw new NotFoundException(ERROR_MESSAGES.PROVIDER_NOT_FOUND(providerName));
111
+ }
112
+
113
+ const providerContext = {
114
+ ...(variable?.selectionConfig?.providerContext ?? {}),
115
+ limit: query?.limit ?? 10,
116
+ offset: query?.offset ?? 0,
117
+ formValues: this.parseFormValues(query?.formValues),
118
+ };
119
+
120
+ if (query.optionValue) {
121
+ return selectionProvider.value(query.optionValue, providerContext as any);
122
+ }
123
+
124
+ return selectionProvider.values(query?.query ?? '', providerContext as any);
125
+ }
126
+
127
+ async getLayout(moduleName: string, dashboardName: string, activeUser?: ActiveUserData): Promise<any> {
128
+ const dashboardDefinition = await this.getDashboardDefinition(moduleName, dashboardName);
129
+ const defaultLayout = dashboardDefinition.defaultLayout ?? {};
130
+ const userId = activeUser?.sub ?? null;
131
+ let userLayoutRecord = null;
132
+ try {
133
+ userLayoutRecord = userId
134
+ ? await this.dashboardUserLayoutService.repo.findOne({
135
+ where: {
136
+ user: { id: userId },
137
+ module: { name: moduleName },
138
+ dashboardName: dashboardDefinition.name,
139
+ } as any,
140
+ })
141
+ : null;
142
+ } catch (err: any) {
143
+ const isEntityMetadataMissing = `${err?.message ?? ''}`.includes('No metadata for "DashboardUserLayout" was found');
144
+ if (!isEntityMetadataMissing) throw err;
145
+ this.logger.warn('DashboardUserLayout entity metadata is not registered yet. Returning default layout fallback.');
146
+ }
147
+ const userLayout = this.parseLayoutJson(userLayoutRecord?.layoutJson);
148
+ const effectiveLayout = this.mergeLayouts(defaultLayout, userLayout);
149
+
150
+ return {
151
+ moduleName,
152
+ dashboardName: dashboardDefinition.name,
153
+ userId,
154
+ defaultLayout,
155
+ userLayout,
156
+ effectiveLayout,
157
+ persisted: !!userLayoutRecord,
158
+ };
159
+ }
160
+
161
+ async saveLayout(
162
+ moduleName: string,
163
+ dashboardName: string,
164
+ dto: DashboardSaveLayoutDto,
165
+ activeUser?: ActiveUserData,
166
+ ): Promise<any> {
167
+ const dashboardDefinition = await this.getDashboardDefinition(moduleName, dashboardName);
168
+ const resolvedDashboardName = dashboardDefinition?.name ?? dashboardName;
169
+ const resolvedLayoutJson = this.resolveLayoutPayload(dto);
170
+ const userId = activeUser?.sub;
171
+ if (!userId) {
172
+ return {
173
+ moduleName,
174
+ dashboardName: resolvedDashboardName,
175
+ userId: null,
176
+ persisted: false,
177
+ message: 'Unable to persist layout without active user context.',
178
+ layoutJson: resolvedLayoutJson,
179
+ };
180
+ }
181
+ const layoutJsonAsString = typeof resolvedLayoutJson === 'string'
182
+ ? resolvedLayoutJson
183
+ : JSON.stringify(resolvedLayoutJson ?? {});
184
+ let savedLayout: any = null;
185
+ try {
186
+ const layoutRepo = this.dashboardUserLayoutService.repo;
187
+ const existing = await layoutRepo.findOne({
188
+ where: {
189
+ user: { id: userId },
190
+ module: { name: moduleName },
191
+ dashboardName: resolvedDashboardName,
192
+ } as any,
193
+ });
194
+
195
+ const moduleRepo = this.dashboardUserLayoutService.entityManager.getRepository(ModuleMetadata);
196
+ const moduleEntity = await moduleRepo.findOne({ where: { name: moduleName } as any });
197
+
198
+ if (!moduleEntity) {
199
+ throw new NotFoundException(`Module ${moduleName} not found.`);
200
+ }
201
+
202
+ const toSave = layoutRepo.create({
203
+ ...(existing ? { id: existing.id } : {}),
204
+ user: { id: userId } as any,
205
+ module: { id: moduleEntity.id } as any,
206
+ dashboardName: resolvedDashboardName,
207
+ layoutJson: layoutJsonAsString,
208
+ version: (existing?.version ?? 0) + 1,
209
+ } as any);
210
+
211
+ savedLayout = await layoutRepo.save(toSave);
212
+ } catch (err: any) {
213
+ const isEntityMetadataMissing = `${err?.message ?? ''}`.includes('No metadata for "DashboardUserLayout" was found');
214
+ if (!isEntityMetadataMissing) throw err;
215
+ this.logger.warn('DashboardUserLayout entity metadata is not registered yet. Returning non-persistent save fallback.');
216
+ return {
217
+ moduleName,
218
+ dashboardName: resolvedDashboardName,
219
+ userId,
220
+ persisted: false,
221
+ message: 'Layout model generated but entity is not registered in TypeORM yet. Please add DashboardUserLayout to module TypeOrm entities and restart.',
222
+ layoutJson: resolvedLayoutJson,
223
+ };
224
+ }
225
+
226
+ return {
227
+ moduleName,
228
+ dashboardName: resolvedDashboardName,
229
+ userId,
230
+ persisted: true,
231
+ message: 'Layout saved successfully.',
232
+ layoutJson: this.parseLayoutJson(savedLayout.layoutJson),
233
+ };
234
+ }
235
+
236
+ private async getModuleMetadata(moduleName: string): Promise<any> {
237
+ const configPath = await this.moduleMetadataHelperService.getModuleMetadataFilePath(moduleName);
238
+ const moduleMetadata = await this.moduleMetadataHelperService.getModuleMetadataConfiguration(configPath);
239
+
240
+ if (!moduleMetadata) {
241
+ throw new NotFoundException(ERROR_MESSAGES.MODULE_NOT_FOUND(moduleName));
242
+ }
243
+
244
+ return moduleMetadata;
245
+ }
246
+
247
+ private getDashboards(moduleMetadata: any): any[] {
248
+ return Array.isArray(moduleMetadata?.dashboards) ? moduleMetadata.dashboards : [];
249
+ }
250
+
251
+ private findWidgetDefinition(dashboardDefinition: any, widgetName: string): any {
252
+ const widgets = Array.isArray(dashboardDefinition.widgets) ? dashboardDefinition.widgets : [];
253
+ const widgetDefinition = widgets.find((widget) => widget?.id === widgetName || widget?.name === widgetName);
254
+
255
+ if (!widgetDefinition) {
256
+ throw new NotFoundException(`Widget ${widgetName} not found in dashboard ${dashboardDefinition?.name ?? ''}.`);
257
+ }
258
+
259
+ return widgetDefinition;
260
+ }
261
+
262
+ private async getWidgetDataFromDefinition(
263
+ dashboardDefinition: any,
264
+ moduleName: string,
265
+ dashboardName: string,
266
+ widgetName: string,
267
+ request: DashboardWidgetDataRequestDto = {},
268
+ activeUser?: ActiveUserData,
269
+ ): Promise<any> {
270
+ const widgetDefinition = this.findWidgetDefinition(dashboardDefinition, widgetName);
271
+ const resolvedWidgetName = widgetDefinition.id ?? widgetDefinition.name ?? widgetName;
272
+ const providerName = widgetDefinition.dataProvider;
273
+
274
+ if (!this.hasDashboardWidgetPermission(activeUser, dashboardDefinition?.name ?? dashboardName, resolvedWidgetName)) {
275
+ return this.buildUnauthorizedWidgetResponse(
276
+ dashboardDefinition?.name ?? dashboardName,
277
+ resolvedWidgetName,
278
+ providerName,
279
+ );
280
+ }
281
+
282
+ if (!providerName) {
283
+ throw new NotFoundException(`Widget ${widgetName} is missing dataProvider definition.`);
284
+ }
285
+
286
+ const provider = this.solidRegistry.getDashboardWidgetDataProviderInstance(providerName);
287
+ if (!provider) {
288
+ throw new NotFoundException(ERROR_MESSAGES.PROVIDER_NOT_FOUND(providerName));
289
+ }
290
+
291
+ const providerContext = {
292
+ ...(widgetDefinition.providerContext ?? {}),
293
+ ...(request.providerContext ?? {}),
294
+ };
295
+
296
+ const runtimeContext: IDashboardWidgetDataProviderContext = {
297
+ moduleName,
298
+ dashboardName,
299
+ widgetName: resolvedWidgetName,
300
+ variables: request.variables ?? {},
301
+ providerContext,
302
+ activeUser,
303
+ };
304
+
305
+ const startTime = Date.now();
306
+ const providerResponse = await provider.getData(widgetDefinition, runtimeContext);
307
+ const durationMs = Date.now() - startTime;
308
+
309
+ if (providerResponse && typeof providerResponse === 'object' && providerResponse.data !== undefined) {
310
+ const nextMeta = {
311
+ ...(providerResponse.meta ?? {}),
312
+ providerName,
313
+ widgetName: runtimeContext.widgetName,
314
+ durationMs: providerResponse?.meta?.durationMs ?? durationMs,
315
+ generatedAt: providerResponse?.meta?.generatedAt ?? new Date().toISOString(),
316
+ };
317
+
318
+ return {
319
+ ...providerResponse,
320
+ meta: nextMeta,
321
+ };
322
+ }
323
+
324
+ this.logger.debug(`Widget provider ${providerName} returned a non-envelope payload for ${runtimeContext.widgetName}. Normalizing response.`);
325
+ return {
326
+ meta: {
327
+ providerName,
328
+ widgetName: runtimeContext.widgetName,
329
+ durationMs,
330
+ generatedAt: new Date().toISOString(),
331
+ },
332
+ data: providerResponse,
333
+ };
334
+ }
335
+
336
+ private parseFormValues(formValues?: Record<string, any> | string): Record<string, any> {
337
+ if (!formValues) {
338
+ return {};
339
+ }
340
+ if (typeof formValues === 'object') {
341
+ return formValues;
342
+ }
343
+
344
+ try {
345
+ const parsedFromQueryString = qs.parse(formValues);
346
+ if (parsedFromQueryString && typeof parsedFromQueryString === 'object') {
347
+ if (parsedFromQueryString['formValues'] && typeof parsedFromQueryString['formValues'] === 'object') {
348
+ return parsedFromQueryString['formValues'] as Record<string, any>;
349
+ }
350
+ return parsedFromQueryString as Record<string, any>;
351
+ }
352
+ } catch (err) {
353
+ // ignore parse errors and try JSON
354
+ }
355
+
356
+ try {
357
+ return JSON.parse(formValues);
358
+ } catch (err) {
359
+ return {};
360
+ }
361
+ }
362
+
363
+ private hasDashboardWidgetPermission(
364
+ activeUser: ActiveUserData | undefined,
365
+ dashboardName: string,
366
+ widgetName: string,
367
+ ): boolean {
368
+ const permissions = Array.isArray(activeUser?.permissions) ? activeUser.permissions : [];
369
+ if (!dashboardName || !widgetName || permissions.length === 0) {
370
+ return false;
371
+ }
372
+
373
+ return permissions.some((permission) => this.matchesDashboardWidgetPermission(permission, dashboardName, widgetName));
374
+ }
375
+
376
+ private matchesDashboardWidgetPermission(permission: string, dashboardName: string, widgetName: string): boolean {
377
+ const match = /^dashboard:([^:]+):(.+)$/.exec(`${permission ?? ''}`.trim());
378
+ if (!match) {
379
+ return false;
380
+ }
381
+
382
+ const [, permissionDashboardName, widgetPattern] = match;
383
+ if (permissionDashboardName !== dashboardName || !widgetPattern) {
384
+ return false;
385
+ }
386
+
387
+ if (widgetPattern === '*') {
388
+ return true;
389
+ }
390
+
391
+ if (widgetPattern === widgetName) {
392
+ return true;
393
+ }
394
+
395
+ try {
396
+ return new RegExp(widgetPattern).test(widgetName);
397
+ } catch {
398
+ return false;
399
+ }
400
+ }
401
+
402
+ private buildUnauthorizedWidgetResponse(
403
+ dashboardName: string,
404
+ widgetName: string,
405
+ providerName?: string,
406
+ ): any {
407
+ return {
408
+ meta: {
409
+ providerName: providerName ?? null,
410
+ widgetName,
411
+ durationMs: 0,
412
+ generatedAt: new Date().toISOString(),
413
+ unauthorized: true,
414
+ permissionExpression: `dashboard:${dashboardName}:${widgetName}`,
415
+ },
416
+ data: null,
417
+ uiHints: {
418
+ state: 'unauthorized',
419
+ message: 'Unauthorized',
420
+ },
421
+ };
422
+ }
423
+
424
+ private parseLayoutJson(layoutJson: any): any {
425
+ if (layoutJson === null || layoutJson === undefined) return null;
426
+ if (typeof layoutJson !== 'string') return layoutJson;
427
+ try {
428
+ return JSON.parse(layoutJson);
429
+ } catch {
430
+ return layoutJson;
431
+ }
432
+ }
433
+
434
+ private resolveLayoutPayload(dto: DashboardSaveLayoutDto | Record<string, any> | null | undefined): any {
435
+ if (!dto) return {};
436
+ if (dto.layoutJson !== undefined) return dto.layoutJson;
437
+ if ((dto as any).layout !== undefined) return (dto as any).layout;
438
+ return dto;
439
+ }
440
+
441
+ private mergeLayouts(defaultLayout: any, userLayout: any): any {
442
+ if (!defaultLayout && !userLayout) return {};
443
+ if (!defaultLayout) return userLayout ?? {};
444
+ if (!userLayout) return defaultLayout ?? {};
445
+
446
+ const defaultItems = Array.isArray(defaultLayout?.items) ? defaultLayout.items : [];
447
+ const userItems = Array.isArray(userLayout?.items) ? userLayout.items : [];
448
+
449
+ if (!defaultItems.length) {
450
+ return {
451
+ ...defaultLayout,
452
+ ...userLayout,
453
+ items: userItems,
454
+ };
455
+ }
456
+
457
+ const userByWidget = new Map<string, any>();
458
+ userItems.forEach((item: any) => {
459
+ const key = item?.widgetId ?? item?.id;
460
+ if (key) userByWidget.set(key, item);
461
+ });
462
+
463
+ const mergedDefaultItems = defaultItems.map((baseItem: any) => {
464
+ const key = baseItem?.widgetId ?? baseItem?.id;
465
+ if (!key) return baseItem;
466
+ const override = userByWidget.get(key);
467
+ return override ? { ...baseItem, ...override, widgetId: key } : baseItem;
468
+ });
469
+
470
+ const defaultKeys = new Set(
471
+ defaultItems
472
+ .map((item: any) => item?.widgetId ?? item?.id)
473
+ .filter((value: any) => !!value)
474
+ );
475
+
476
+ const userOnlyItems = userItems.filter((item: any) => {
477
+ const key = item?.widgetId ?? item?.id;
478
+ return !!key && !defaultKeys.has(key);
479
+ });
480
+
481
+ return {
482
+ ...defaultLayout,
483
+ ...userLayout,
484
+ columns: userLayout?.columns ?? defaultLayout?.columns ?? 12,
485
+ items: [...mergedDefaultItems, ...userOnlyItems],
486
+ };
487
+ }
488
+ }
@@ -0,0 +1,20 @@
1
+ import { Injectable } from '@nestjs/common';
2
+ import { InjectEntityManager } from '@nestjs/typeorm';
3
+ import { ModuleRef } from "@nestjs/core";
4
+ import { EntityManager } from 'typeorm';
5
+ import { CRUDService } from 'src/services/crud.service';
6
+ import { DashboardUserLayout } from '../entities/dashboard-user-layout.entity';
7
+ import { DashboardUserLayoutRepository } from '../repositories/dashboard-user-layout.repository';
8
+
9
+ @Injectable()
10
+ export class DashboardUserLayoutService extends CRUDService<DashboardUserLayout>{
11
+ constructor(
12
+ @InjectEntityManager("default")
13
+ readonly entityManager: EntityManager,
14
+ readonly repo: DashboardUserLayoutRepository,
15
+ readonly moduleRef: ModuleRef,
16
+
17
+ ) {
18
+ super(entityManager, repo, 'dashboardUserLayout', 'solid-core', moduleRef);
19
+ }
20
+ }
@@ -27,6 +27,7 @@ import { getUserExcludedFields } from 'src/helpers/user-helper';
27
27
  import { ActiveUserData } from 'src/interfaces/active-user-data.interface';
28
28
  import { upperFirst, camelCase } from 'lodash';
29
29
  import { classify } from '../helpers/string.helper';
30
+ import type { SolidCoreSetting } from './settings/default-settings-provider.service';
30
31
 
31
32
  interface ImportTemplateFileInfo {
32
33
  stream: NodeJS.ReadableStream;
@@ -180,11 +181,20 @@ export class ImportTransactionService extends CRUDService<ImportTransaction> {
180
181
  // Replace modelMetadata.fields with combined (child + parent) fields
181
182
  // modelMetadata.fields = allFields;
182
183
 
184
+ const dateFieldFormat =
185
+ (this.settingService.getConfigValue<SolidCoreSetting>('dateFormat') as string | null) ??
186
+ 'YYYY-MM-DD';
187
+ const dateTimeFieldFormat =
188
+ (this.settingService.getConfigValue<SolidCoreSetting>('dateTimeFormat') as string | null) ??
189
+ 'YYYY-MM-DD HH:mm:ss';
190
+
183
191
  // Create the standard import instructions
184
192
  const standardInstructions: StandardImportInstructionsResponseDto = {
185
193
  requiredFields: [],
186
194
  dateFields: [],
195
+ dateFieldFormat,
187
196
  dateTimeFields: [],
197
+ dateTimeFieldFormat,
188
198
  numberFields: [],
189
199
  emailFields: [],
190
200
  regexFields: [],
@@ -792,4 +802,4 @@ export class ImportTransactionService extends CRUDService<ImportTransaction> {
792
802
  const relatedRecordsIds = relatedRecordsResult.records.map(record => record.id);
793
803
  return relatedRecordsIds;
794
804
  }
795
- }
805
+ }
@@ -0,0 +1,19 @@
1
+ import { Injectable } from '@nestjs/common';
2
+ import { ModuleRef } from '@nestjs/core';
3
+ import { InjectEntityManager } from '@nestjs/typeorm';
4
+ import { McpAuditLog } from 'src/entities/mcp-audit-log.entity';
5
+ import { McpAuditLogRepository } from 'src/repository/mcp-audit-log.repository';
6
+ import { EntityManager } from 'typeorm';
7
+ import { CRUDService } from './crud.service';
8
+
9
+ @Injectable()
10
+ export class McpAuditLogService extends CRUDService<McpAuditLog> {
11
+ constructor(
12
+ @InjectEntityManager()
13
+ readonly entityManager: EntityManager,
14
+ readonly repo: McpAuditLogRepository,
15
+ readonly moduleRef: ModuleRef,
16
+ ) {
17
+ super(entityManager, repo, 'mcpAuditLog', 'solid-core', moduleRef);
18
+ }
19
+ }
@@ -2,8 +2,8 @@ import { Injectable, Logger } from "@nestjs/common";
2
2
  import { ConfigService } from "@nestjs/config";
3
3
  import { CommonEntity } from "src/entities/common.entity";
4
4
  import { FieldMetadata } from "src/entities/field-metadata.entity";
5
- import { LegacyCommonEntity } from "src/entities/legacy-common.entity";
6
- import { LegacyCommonWithIdEntity } from "src/entities/legacy-common-with-id.entity";
5
+ import { LegacyCommonEntityWithExistingId } from "src/entities/legacy-common.entity";
6
+ import { LegacyCommonEntityWithGeneratedId } from "src/entities/legacy-common-with-id.entity";
7
7
  import { Media } from "src/entities/media.entity";
8
8
  import { MediaStorageProvider } from "src/interfaces";
9
9
  import { DiskFileService, S3FileService } from "src/services/file";
@@ -21,16 +21,51 @@ export class FileS3StorageProvider<T> implements MediaStorageProvider<T> {
21
21
  readonly mediaRepository: MediaRepository,
22
22
  ) { }
23
23
 
24
- storeStreams(streamPairs: [Readable, string][], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]> {
25
- throw new Error("Method not implemented.");
24
+ async storeStreams(streamPairs: [Readable, string][], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]> {
25
+ const isSupportedEntity = entity instanceof CommonEntity
26
+ || entity instanceof LegacyCommonEntityWithExistingId
27
+ || entity instanceof LegacyCommonEntityWithGeneratedId;
28
+ if (!isSupportedEntity) {
29
+ throw new Error("Entity must be an instance of CommonEntity, LegacyCommonEntityWithExistingId or LegacyCommonEntityWithGeneratedId");
30
+ }
31
+ const result: Media[] = [];
32
+ const storageProvider = mediaFieldMetadata.mediaStorageProvider;
33
+ const region = this.getEffectiveRegion(storageProvider.region);
34
+
35
+ for (const [stream, fileName] of streamPairs) {
36
+ const bucketName = storageProvider.bucketName;
37
+
38
+ // Buffer the stream so we can get the byte count and upload in one pass
39
+ const chunks: Buffer[] = [];
40
+ for await (const chunk of stream) {
41
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
42
+ }
43
+ const fileData = Buffer.concat(chunks);
44
+ const fileSize = fileData.length;
45
+
46
+ await this.s3FileService.write(`${bucketName}:${fileName}`, fileData, { region });
47
+
48
+ const mediaEntity = await this.mediaRepository.createMedia({
49
+ // @ts-ignore
50
+ entityId: entity.id,
51
+ modelMetadataId: mediaFieldMetadata.model.id,
52
+ relativeUri: fileName,
53
+ fileSize,
54
+ mediaStorageProviderMetadataId: mediaFieldMetadata.mediaStorageProvider.id,
55
+ fieldMetadataId: mediaFieldMetadata.id
56
+ }) as unknown as Media;
57
+ result.push(mediaEntity);
58
+ this.logger.debug(`Stored media with`, mediaEntity);
59
+ }
60
+ return result;
26
61
  }
27
62
 
28
63
  async retrieve(entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]> {
29
64
  const isSupportedEntity = entity instanceof CommonEntity
30
- || entity instanceof LegacyCommonEntity
31
- || entity instanceof LegacyCommonWithIdEntity;
65
+ || entity instanceof LegacyCommonEntityWithExistingId
66
+ || entity instanceof LegacyCommonEntityWithGeneratedId;
32
67
  if (!isSupportedEntity) {
33
- throw new Error("Entity must be an instance of CommonEntity, LegacyCommonEntity or LegacyCommonWithIdEntity"); // FIXME This needs to be handled through generics. e.g T extends CommonEntity
68
+ throw new Error("Entity must be an instance of CommonEntity, LegacyCommonEntityWithExistingId or LegacyCommonEntityWithGeneratedId"); // FIXME This needs to be handled through generics. e.g T extends CommonEntity
34
69
  }
35
70
  // @ts-ignore
36
71
  const media = await this.mediaRepository.findByEntityIdAndFieldIdAndModelMetadataId(entity.id, mediaFieldMetadata.id, mediaFieldMetadata.model.id, ['mediaStorageProviderMetadata']);
@@ -60,10 +95,10 @@ export class FileS3StorageProvider<T> implements MediaStorageProvider<T> {
60
95
 
61
96
  async store(files: Express.Multer.File[], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]> {
62
97
  const isSupportedEntity = entity instanceof CommonEntity
63
- || entity instanceof LegacyCommonEntity
64
- || entity instanceof LegacyCommonWithIdEntity;
98
+ || entity instanceof LegacyCommonEntityWithExistingId
99
+ || entity instanceof LegacyCommonEntityWithGeneratedId;
65
100
  if (!isSupportedEntity) {
66
- throw new Error("Entity must be an instance of CommonEntity, LegacyCommonEntity or LegacyCommonWithIdEntity"); // FIXME This needs to be handled through generics. e.g T extends CommonEntity
101
+ throw new Error("Entity must be an instance of CommonEntity, LegacyCommonEntityWithExistingId or LegacyCommonEntityWithGeneratedId"); // FIXME This needs to be handled through generics. e.g T extends CommonEntity
67
102
  }
68
103
  const result: Media[] = [];
69
104
  const storageProvider = mediaFieldMetadata.mediaStorageProvider;
@@ -102,10 +137,10 @@ export class FileS3StorageProvider<T> implements MediaStorageProvider<T> {
102
137
 
103
138
  async delete(entity: T, mediaFieldMetadata: FieldMetadata): Promise<void> {
104
139
  const isSupportedEntity = entity instanceof CommonEntity
105
- || entity instanceof LegacyCommonEntity
106
- || entity instanceof LegacyCommonWithIdEntity;
140
+ || entity instanceof LegacyCommonEntityWithExistingId
141
+ || entity instanceof LegacyCommonEntityWithGeneratedId;
107
142
  if (!isSupportedEntity) {
108
- throw new Error("Entity must be an instance of CommonEntity, LegacyCommonEntity or LegacyCommonWithIdEntity"); // FIXME This needs to be handled through generics. e.g T extends CommonEntity
143
+ throw new Error("Entity must be an instance of CommonEntity, LegacyCommonEntityWithExistingId or LegacyCommonEntityWithGeneratedId"); // FIXME This needs to be handled through generics. e.g T extends CommonEntity
109
144
  }
110
145
  const storageProvider = mediaFieldMetadata.mediaStorageProvider;
111
146
  const region = this.getEffectiveRegion(storageProvider.region);
@@ -120,6 +155,18 @@ export class FileS3StorageProvider<T> implements MediaStorageProvider<T> {
120
155
  }
121
156
  }
122
157
 
158
+ async deleteByMediaRecord(media: Media): Promise<void> {
159
+ const storageProvider = media?.mediaStorageProviderMetadata;
160
+ if (!storageProvider) {
161
+ throw new Error(`mediaStorageProviderMetadata is not populated for media id ${media?.id ?? 'unknown'}`);
162
+ }
163
+ if (!storageProvider?.bucketName || !media?.relativeUri) {
164
+ return;
165
+ }
166
+ const region = this.getEffectiveRegion(storageProvider.region);
167
+ await this.s3FileService.delete(`${storageProvider.bucketName}:${media.relativeUri}`, { region });
168
+ }
169
+
123
170
  /**
124
171
  * Get the effective region to use for S3 operations.
125
172
  * Uses the provider-specific region if configured, otherwise falls back to env variable.