@solidxai/core 0.1.10-beta.26 → 0.1.10-beta.28

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 (315) hide show
  1. package/.claude/settings.local.json +15 -0
  2. package/CLAUDE.md +26 -0
  3. package/MICROSOFT_ACTIVE_DIRECTORY_OAUTH_FLOW.md +616 -0
  4. package/ai-interaction-cleanup.sql +53 -0
  5. package/dist/constants/error-messages.d.ts +1 -0
  6. package/dist/constants/error-messages.d.ts.map +1 -1
  7. package/dist/constants/error-messages.js +1 -0
  8. package/dist/constants/error-messages.js.map +1 -1
  9. package/dist/controllers/microsoft-active-directory-authentication.controller.d.ts +28 -0
  10. package/dist/controllers/microsoft-active-directory-authentication.controller.d.ts.map +1 -0
  11. package/dist/controllers/microsoft-active-directory-authentication.controller.js +122 -0
  12. package/dist/controllers/microsoft-active-directory-authentication.controller.js.map +1 -0
  13. package/dist/controllers/service.controller.d.ts +1 -5
  14. package/dist/controllers/service.controller.d.ts.map +1 -1
  15. package/dist/controllers/service.controller.js +6 -11
  16. package/dist/controllers/service.controller.js.map +1 -1
  17. package/dist/controllers/test.controller.d.ts +1 -6
  18. package/dist/controllers/test.controller.d.ts.map +1 -1
  19. package/dist/controllers/test.controller.js +2 -20
  20. package/dist/controllers/test.controller.js.map +1 -1
  21. package/dist/dtos/create-permission-metadata.dto.d.ts.map +1 -1
  22. package/dist/dtos/create-permission-metadata.dto.js +2 -0
  23. package/dist/dtos/create-permission-metadata.dto.js.map +1 -1
  24. package/dist/dtos/create-role-metadata.dto.d.ts +2 -0
  25. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  26. package/dist/dtos/create-role-metadata.dto.js +13 -1
  27. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  28. package/dist/dtos/import-instructions.dto.d.ts +2 -0
  29. package/dist/dtos/import-instructions.dto.d.ts.map +1 -1
  30. package/dist/dtos/import-instructions.dto.js +15 -1
  31. package/dist/dtos/import-instructions.dto.js.map +1 -1
  32. package/dist/dtos/update-permission-metadata.dto.d.ts.map +1 -1
  33. package/dist/dtos/update-permission-metadata.dto.js +3 -1
  34. package/dist/dtos/update-permission-metadata.dto.js.map +1 -1
  35. package/dist/dtos/update-role-metadata.dto.d.ts +2 -0
  36. package/dist/dtos/update-role-metadata.dto.d.ts.map +1 -1
  37. package/dist/dtos/update-role-metadata.dto.js +13 -1
  38. package/dist/dtos/update-role-metadata.dto.js.map +1 -1
  39. package/dist/entities/action-metadata.entity.d.ts.map +1 -1
  40. package/dist/entities/action-metadata.entity.js +1 -0
  41. package/dist/entities/action-metadata.entity.js.map +1 -1
  42. package/dist/entities/agent-event.entity.d.ts.map +1 -1
  43. package/dist/entities/agent-event.entity.js +1 -0
  44. package/dist/entities/agent-event.entity.js.map +1 -1
  45. package/dist/entities/agent-session.entity.d.ts.map +1 -1
  46. package/dist/entities/agent-session.entity.js +1 -0
  47. package/dist/entities/agent-session.entity.js.map +1 -1
  48. package/dist/entities/chatter-message.entity.d.ts.map +1 -1
  49. package/dist/entities/chatter-message.entity.js +2 -0
  50. package/dist/entities/chatter-message.entity.js.map +1 -1
  51. package/dist/entities/email-template.entity.d.ts.map +1 -1
  52. package/dist/entities/email-template.entity.js +1 -0
  53. package/dist/entities/email-template.entity.js.map +1 -1
  54. package/dist/entities/field-metadata.entity.d.ts.map +1 -1
  55. package/dist/entities/field-metadata.entity.js +4 -0
  56. package/dist/entities/field-metadata.entity.js.map +1 -1
  57. package/dist/entities/list-of-values.entity.d.ts.map +1 -1
  58. package/dist/entities/list-of-values.entity.js +4 -0
  59. package/dist/entities/list-of-values.entity.js.map +1 -1
  60. package/dist/entities/locale.entity.d.ts.map +1 -1
  61. package/dist/entities/locale.entity.js +1 -0
  62. package/dist/entities/locale.entity.js.map +1 -1
  63. package/dist/entities/media.entity.d.ts.map +1 -1
  64. package/dist/entities/media.entity.js +1 -0
  65. package/dist/entities/media.entity.js.map +1 -1
  66. package/dist/entities/menu-item-metadata.entity.d.ts.map +1 -1
  67. package/dist/entities/menu-item-metadata.entity.js +2 -0
  68. package/dist/entities/menu-item-metadata.entity.js.map +1 -1
  69. package/dist/entities/model-metadata.entity.d.ts.map +1 -1
  70. package/dist/entities/model-metadata.entity.js +3 -0
  71. package/dist/entities/model-metadata.entity.js.map +1 -1
  72. package/dist/entities/module-metadata.entity.d.ts.map +1 -1
  73. package/dist/entities/module-metadata.entity.js +2 -0
  74. package/dist/entities/module-metadata.entity.js.map +1 -1
  75. package/dist/entities/permission-metadata.entity.d.ts.map +1 -1
  76. package/dist/entities/permission-metadata.entity.js.map +1 -1
  77. package/dist/entities/role-metadata.entity.d.ts +2 -0
  78. package/dist/entities/role-metadata.entity.d.ts.map +1 -1
  79. package/dist/entities/role-metadata.entity.js +10 -2
  80. package/dist/entities/role-metadata.entity.js.map +1 -1
  81. package/dist/entities/saved-filters.entity.d.ts.map +1 -1
  82. package/dist/entities/saved-filters.entity.js +3 -0
  83. package/dist/entities/saved-filters.entity.js.map +1 -1
  84. package/dist/entities/scheduled-job.entity.d.ts.map +1 -1
  85. package/dist/entities/scheduled-job.entity.js +2 -0
  86. package/dist/entities/scheduled-job.entity.js.map +1 -1
  87. package/dist/entities/security-rule.entity.d.ts.map +1 -1
  88. package/dist/entities/security-rule.entity.js +1 -0
  89. package/dist/entities/security-rule.entity.js.map +1 -1
  90. package/dist/entities/sms-template.entity.d.ts.map +1 -1
  91. package/dist/entities/sms-template.entity.js +2 -0
  92. package/dist/entities/sms-template.entity.js.map +1 -1
  93. package/dist/entities/user-activity-history.entity.d.ts.map +1 -1
  94. package/dist/entities/user-activity-history.entity.js +1 -0
  95. package/dist/entities/user-activity-history.entity.js.map +1 -1
  96. package/dist/entities/user.entity.d.ts +3 -0
  97. package/dist/entities/user.entity.d.ts.map +1 -1
  98. package/dist/entities/user.entity.js +15 -1
  99. package/dist/entities/user.entity.js.map +1 -1
  100. package/dist/entities/view-metadata.entity.d.ts.map +1 -1
  101. package/dist/entities/view-metadata.entity.js +2 -0
  102. package/dist/entities/view-metadata.entity.js.map +1 -1
  103. package/dist/helpers/microsoft-active-directory-oauth.helper.d.ts +34 -0
  104. package/dist/helpers/microsoft-active-directory-oauth.helper.d.ts.map +1 -0
  105. package/dist/helpers/microsoft-active-directory-oauth.helper.js +43 -0
  106. package/dist/helpers/microsoft-active-directory-oauth.helper.js.map +1 -0
  107. package/dist/helpers/module.helper.js +0 -5
  108. package/dist/helpers/module.helper.js.map +1 -1
  109. package/dist/helpers/user-helper.d.ts.map +1 -1
  110. package/dist/helpers/user-helper.js +4 -0
  111. package/dist/helpers/user-helper.js.map +1 -1
  112. package/dist/index.d.ts +1 -5
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +1 -5
  115. package/dist/index.js.map +1 -1
  116. package/dist/interfaces.d.ts +0 -8
  117. package/dist/interfaces.d.ts.map +1 -1
  118. package/dist/interfaces.js.map +1 -1
  119. package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.d.ts +14 -0
  120. package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.d.ts.map +1 -0
  121. package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.js +67 -0
  122. package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.js.map +1 -0
  123. package/dist/seeders/seed-data/solid-core-metadata.json +317 -814
  124. package/dist/services/authentication.service.d.ts +12 -0
  125. package/dist/services/authentication.service.d.ts.map +1 -1
  126. package/dist/services/authentication.service.js +64 -0
  127. package/dist/services/authentication.service.js.map +1 -1
  128. package/dist/services/crud-helper.service.d.ts.map +1 -1
  129. package/dist/services/crud-helper.service.js +11 -3
  130. package/dist/services/crud-helper.service.js.map +1 -1
  131. package/dist/services/import-transaction.service.d.ts.map +1 -1
  132. package/dist/services/import-transaction.service.js +6 -0
  133. package/dist/services/import-transaction.service.js.map +1 -1
  134. package/dist/services/settings/default-settings-provider.service.d.ts +100 -0
  135. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  136. package/dist/services/settings/default-settings-provider.service.js +56 -0
  137. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  138. package/dist/services/user.service.d.ts +2 -0
  139. package/dist/services/user.service.d.ts.map +1 -1
  140. package/dist/services/user.service.js +46 -0
  141. package/dist/services/user.service.js.map +1 -1
  142. package/dist/solid-core.module.d.ts.map +1 -1
  143. package/dist/solid-core.module.js +4 -29
  144. package/dist/solid-core.module.js.map +1 -1
  145. package/dist/subscribers/scheduled-job.subscriber.js +1 -1
  146. package/dist/subscribers/scheduled-job.subscriber.js.map +1 -1
  147. package/dist/subscribers/security-rule.subscriber.js +1 -1
  148. package/dist/subscribers/security-rule.subscriber.js.map +1 -1
  149. package/package.json +4 -4
  150. package/src/constants/error-messages.ts +2 -1
  151. package/src/controllers/microsoft-active-directory-authentication.controller.ts +104 -0
  152. package/src/controllers/service.controller.ts +4 -7
  153. package/src/controllers/test.controller.ts +0 -9
  154. package/src/dtos/create-permission-metadata.dto.ts +3 -0
  155. package/src/dtos/create-role-metadata.dto.ts +11 -1
  156. package/src/dtos/import-instructions.dto.ts +11 -1
  157. package/src/dtos/update-permission-metadata.dto.ts +4 -1
  158. package/src/dtos/update-role-metadata.dto.ts +21 -1
  159. package/src/entities/action-metadata.entity.ts +1 -0
  160. package/src/entities/agent-event.entity.ts +1 -0
  161. package/src/entities/agent-session.entity.ts +1 -0
  162. package/src/entities/chatter-message.entity.ts +2 -0
  163. package/src/entities/email-template.entity.ts +1 -0
  164. package/src/entities/field-metadata.entity.ts +4 -1
  165. package/src/entities/list-of-values.entity.ts +5 -1
  166. package/src/entities/locale.entity.ts +1 -0
  167. package/src/entities/media.entity.ts +1 -0
  168. package/src/entities/menu-item-metadata.entity.ts +2 -0
  169. package/src/entities/model-metadata.entity.ts +3 -0
  170. package/src/entities/module-metadata.entity.ts +2 -0
  171. package/src/entities/permission-metadata.entity.ts +2 -2
  172. package/src/entities/role-metadata.entity.ts +11 -3
  173. package/src/entities/saved-filters.entity.ts +3 -0
  174. package/src/entities/scheduled-job.entity.ts +2 -0
  175. package/src/entities/security-rule.entity.ts +1 -0
  176. package/src/entities/sms-template.entity.ts +2 -0
  177. package/src/entities/user-activity-history.entity.ts +1 -0
  178. package/src/entities/user.entity.ts +15 -1
  179. package/src/entities/view-metadata.entity.ts +2 -0
  180. package/src/helpers/microsoft-active-directory-oauth.helper.ts +83 -0
  181. package/src/helpers/module.helper.ts +5 -5
  182. package/src/helpers/user-helper.ts +5 -1
  183. package/src/index.ts +1 -5
  184. package/src/interfaces.ts +0 -8
  185. package/src/passport-strategies/microsoft-active-directory-oauth.strategy.ts +63 -0
  186. package/src/seeders/seed-data/solid-core-metadata.json +317 -814
  187. package/src/services/1.js +6 -0
  188. package/src/services/authentication.service.ts +78 -0
  189. package/src/services/crud-helper.service.ts +9 -3
  190. package/src/services/import-transaction.service.ts +11 -1
  191. package/src/services/settings/default-settings-provider.service.ts +59 -0
  192. package/src/services/user.service.ts +61 -0
  193. package/src/solid-core.module.ts +4 -31
  194. package/src/subscribers/scheduled-job.subscriber.ts +1 -1
  195. package/src/subscribers/security-rule.subscriber.ts +1 -1
  196. package/dist/commands/ingest.command.d.ts +0 -16
  197. package/dist/commands/ingest.command.d.ts.map +0 -1
  198. package/dist/commands/ingest.command.js +0 -50
  199. package/dist/commands/ingest.command.js.map +0 -1
  200. package/dist/controllers/ai-interaction.controller.d.ts +0 -29
  201. package/dist/controllers/ai-interaction.controller.d.ts.map +0 -1
  202. package/dist/controllers/ai-interaction.controller.js +0 -218
  203. package/dist/controllers/ai-interaction.controller.js.map +0 -1
  204. package/dist/dtos/create-ai-interaction.dto.d.ts +0 -23
  205. package/dist/dtos/create-ai-interaction.dto.d.ts.map +0 -1
  206. package/dist/dtos/create-ai-interaction.dto.js +0 -149
  207. package/dist/dtos/create-ai-interaction.dto.js.map +0 -1
  208. package/dist/dtos/invoke-ai-prompt.dto.d.ts +0 -5
  209. package/dist/dtos/invoke-ai-prompt.dto.d.ts.map +0 -1
  210. package/dist/dtos/invoke-ai-prompt.dto.js +0 -30
  211. package/dist/dtos/invoke-ai-prompt.dto.js.map +0 -1
  212. package/dist/dtos/update-ai-interaction.dto.d.ts +0 -24
  213. package/dist/dtos/update-ai-interaction.dto.d.ts.map +0 -1
  214. package/dist/dtos/update-ai-interaction.dto.js +0 -150
  215. package/dist/dtos/update-ai-interaction.dto.js.map +0 -1
  216. package/dist/entities/ai-interaction.entity.d.ts +0 -24
  217. package/dist/entities/ai-interaction.entity.d.ts.map +0 -1
  218. package/dist/entities/ai-interaction.entity.js +0 -116
  219. package/dist/entities/ai-interaction.entity.js.map +0 -1
  220. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts +0 -11
  221. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts.map +0 -1
  222. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js +0 -39
  223. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js.map +0 -1
  224. package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts +0 -8
  225. package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts.map +0 -1
  226. package/dist/jobs/database/trigger-mcp-client-queue-options.js +0 -10
  227. package/dist/jobs/database/trigger-mcp-client-queue-options.js.map +0 -1
  228. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts +0 -25
  229. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +0 -1
  230. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +0 -222
  231. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +0 -1
  232. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts +0 -11
  233. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts.map +0 -1
  234. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.js +0 -39
  235. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.js.map +0 -1
  236. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.d.ts +0 -8
  237. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.d.ts.map +0 -1
  238. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.js +0 -10
  239. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.js.map +0 -1
  240. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts +0 -18
  241. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts.map +0 -1
  242. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.js +0 -103
  243. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.js.map +0 -1
  244. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts +0 -11
  245. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts.map +0 -1
  246. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.js +0 -39
  247. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.js.map +0 -1
  248. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.d.ts +0 -8
  249. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.d.ts.map +0 -1
  250. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.js +0 -10
  251. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.js.map +0 -1
  252. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts +0 -18
  253. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts.map +0 -1
  254. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.js +0 -103
  255. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.js.map +0 -1
  256. package/dist/repository/ai-interaction.repository.d.ts +0 -12
  257. package/dist/repository/ai-interaction.repository.d.ts.map +0 -1
  258. package/dist/repository/ai-interaction.repository.js +0 -34
  259. package/dist/repository/ai-interaction.repository.js.map +0 -1
  260. package/dist/services/ai-interaction.service.d.ts +0 -23
  261. package/dist/services/ai-interaction.service.d.ts.map +0 -1
  262. package/dist/services/ai-interaction.service.js +0 -217
  263. package/dist/services/ai-interaction.service.js.map +0 -1
  264. package/dist/services/genai/ingest-metadata.service.d.ts +0 -38
  265. package/dist/services/genai/ingest-metadata.service.d.ts.map +0 -1
  266. package/dist/services/genai/ingest-metadata.service.js +0 -542
  267. package/dist/services/genai/ingest-metadata.service.js.map +0 -1
  268. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts +0 -9
  269. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts.map +0 -1
  270. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js +0 -39
  271. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js.map +0 -1
  272. package/dist/services/genai/r2r-helper.service.d.ts +0 -9
  273. package/dist/services/genai/r2r-helper.service.d.ts.map +0 -1
  274. package/dist/services/genai/r2r-helper.service.js +0 -40
  275. package/dist/services/genai/r2r-helper.service.js.map +0 -1
  276. package/dist-tests/api/authenticate.spec.js +0 -119
  277. package/dist-tests/api/authenticate.spec.js.map +0 -1
  278. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js +0 -97
  279. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js.map +0 -1
  280. package/dist-tests/api/ping.spec.js +0 -21
  281. package/dist-tests/api/ping.spec.js.map +0 -1
  282. package/dist-tests/helpers/auth.js +0 -41
  283. package/dist-tests/helpers/auth.js.map +0 -1
  284. package/dist-tests/helpers/env.js +0 -11
  285. package/dist-tests/helpers/env.js.map +0 -1
  286. package/docs/dashboards/AGENTIC_DASHBOARD_IMPLEMENTATION_PLAN.md +0 -438
  287. package/docs/dashboards/dashboard-curl-smoke-tests.txt +0 -146
  288. package/docs/dashboards/delete-legacy-dashboard-metadata.sql +0 -172
  289. package/docs/grouping-enhancements.md +0 -89
  290. package/docs/java-spring/README.md +0 -3
  291. package/docs/java-spring/solid-core-module-deep-dive-report.md +0 -1317
  292. package/docs/module-package-import-handoff.md +0 -691
  293. package/docs/seed-changes.md +0 -65
  294. package/docs/test-data-workflow.md +0 -200
  295. package/docs/type-declaration-import-issue.md +0 -24
  296. package/src/commands/ingest.command.ts +0 -36
  297. package/src/controllers/ai-interaction.controller.ts +0 -112
  298. package/src/dtos/create-ai-interaction.dto.ts +0 -89
  299. package/src/dtos/invoke-ai-prompt.dto.ts +0 -10
  300. package/src/dtos/update-ai-interaction.dto.ts +0 -93
  301. package/src/entities/ai-interaction.entity.ts +0 -71
  302. package/src/jobs/database/trigger-mcp-client-publisher-database.service.ts +0 -22
  303. package/src/jobs/database/trigger-mcp-client-queue-options.ts +0 -9
  304. package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +0 -278
  305. package/src/jobs/rabbitmq/trigger-mcp-client-publisher.service.ts +0 -22
  306. package/src/jobs/rabbitmq/trigger-mcp-client-queue-options.ts +0 -9
  307. package/src/jobs/rabbitmq/trigger-mcp-client-subscriber.service.ts +0 -104
  308. package/src/jobs/redis/trigger-mcp-client-publisher-redis.service.ts +0 -23
  309. package/src/jobs/redis/trigger-mcp-client-queue-options-redis.ts +0 -9
  310. package/src/jobs/redis/trigger-mcp-client-subscriber-redis.service.ts +0 -98
  311. package/src/repository/ai-interaction.repository.ts +0 -17
  312. package/src/services/ai-interaction.service.ts +0 -239
  313. package/src/services/genai/ingest-metadata.service.ts +0 -798
  314. package/src/services/genai/mcp-handlers/mcp-handler-factory.service.ts +0 -33
  315. package/src/services/genai/r2r-helper.service.ts +0 -37
@@ -0,0 +1,6 @@
1
+ 1. Do i need to create a storeStreams method for aws service too?
2
+ - Handle later
3
+ 2. queues handling -> if queues is enabled by default, i.e triggerExport(exportTransactionEntity.id).
4
+ - startExport should either return the data or return the transaction id
5
+ 3. How to handle scenarios wherein, nested related exist.(do i need to only get the userkey)
6
+ - show the userKey
@@ -1997,6 +1997,84 @@ export class AuthenticationService {
1997
1997
  };
1998
1998
  }
1999
1999
 
2000
+ async validateUserUsingMicrosoftActiveDirectory(user: User) {
2001
+ if (
2002
+ !user.microsoftActiveDirectoryAccessToken ||
2003
+ !user.microsoftActiveDirectoryId
2004
+ ) {
2005
+ throw new UnauthorizedException(ERROR_MESSAGES.USER_NOT_FOUND);
2006
+ }
2007
+
2008
+ try {
2009
+ const response = await this.httpService.axiosRef.get(
2010
+ `https://graph.microsoft.com/v1.0/me?$select=id,displayName,mail,userPrincipalName`,
2011
+ {
2012
+ headers: {
2013
+ Authorization: `Bearer ${user.microsoftActiveDirectoryAccessToken}`,
2014
+ },
2015
+ },
2016
+ );
2017
+ const userProfile = response.data;
2018
+ const profileEmail = (userProfile.mail || userProfile.userPrincipalName)
2019
+ ?.trim()
2020
+ .toLowerCase();
2021
+ const userEmail = user.email?.trim().toLowerCase();
2022
+
2023
+ if (
2024
+ userProfile.id === user.microsoftActiveDirectoryId &&
2025
+ (!userEmail || profileEmail === userEmail)
2026
+ ) {
2027
+ return userProfile;
2028
+ } else {
2029
+ throw new UnauthorizedException(ERROR_MESSAGES.INVALID_USER_PROFILE);
2030
+ }
2031
+ } catch (error: any) {
2032
+ if (error instanceof UnauthorizedException) {
2033
+ throw error;
2034
+ }
2035
+
2036
+ throw new UnauthorizedException(
2037
+ ERROR_MESSAGES.MICROSOFT_ACTIVE_DIRECTORY_OAUTH_PROFILE_FETCH_FAILED,
2038
+ );
2039
+ }
2040
+ }
2041
+
2042
+ async signInUsingMicrosoftActiveDirectory(accessCode: string) {
2043
+ const user = await this.userRepository.findOne({
2044
+ where: {
2045
+ accessCode: accessCode,
2046
+ },
2047
+ relations: {
2048
+ roles: true,
2049
+ },
2050
+ });
2051
+
2052
+ if (!user) {
2053
+ throw new UnauthorizedException(ERROR_MESSAGES.USER_NOT_FOUND);
2054
+ }
2055
+ this.checkAccountBlocked(user);
2056
+
2057
+ try {
2058
+ await this.validateUserUsingMicrosoftActiveDirectory(user);
2059
+ } catch (e) {
2060
+ await this.incrementFailedAttempts(user);
2061
+ throw e;
2062
+ }
2063
+
2064
+ await this.resetFailedAttempts(user);
2065
+ const tokens = await this.generateTokens(user);
2066
+ return {
2067
+ user: {
2068
+ email: user.email,
2069
+ mobile: user.mobile,
2070
+ username: user.username,
2071
+ id: user.id,
2072
+ roles: user.roles.map((role) => role.name),
2073
+ },
2074
+ ...tokens,
2075
+ };
2076
+ }
2077
+
2000
2078
  async signInUsingApple(accessCode: string) {
2001
2079
  const user = await this.userRepository.findOne({
2002
2080
  where: {
@@ -284,8 +284,10 @@ export class CrudHelperService {
284
284
  const value = orderOptions[key] as 'ASC' | 'DESC';
285
285
  const field = String(key);
286
286
  if (field.includes('.')) {
287
- const { alias, property } = this.ensureRelationPathJoined(qb, entityAlias, field.split('.'));
288
- qb.addOrderBy(`${alias}.${property}`, value);
287
+ const { alias, property, created } = this.ensureRelationPathJoined(qb, entityAlias, field.split('.'));
288
+ const orderColumn = `${alias}.${property}`;
289
+ qb.addOrderBy(orderColumn, value);
290
+ if (created) qb.addSelect(orderColumn);
289
291
  } else {
290
292
  qb.addOrderBy(`${entityAlias}.${field}`, value);
291
293
  }
@@ -347,6 +349,7 @@ export class CrudHelperService {
347
349
  qb.expressionMap?.aliases?.find(a => a.metadata)?.name ||
348
350
  qb.expressionMap?.aliases?.[0]?.name;
349
351
  let parentAlias = mainAlias || rootAlias;
352
+ let leafJoinCreated = false;
350
353
  for (let i = 0; i < pathParts.length - 1; i++) {
351
354
  const part = pathParts[i];
352
355
  const joinProperty = `${parentAlias}.${part}`;
@@ -354,10 +357,13 @@ export class CrudHelperService {
354
357
  const joinAlias = existingAlias ?? this.sanitizeAlias(`${parentAlias}_${part}`);
355
358
  if (!existingAlias && !this.isRelationJoined(qb, joinProperty) && !this.isAliasJoined(qb, joinAlias)) {
356
359
  qb.leftJoin(joinProperty, joinAlias);
360
+ leafJoinCreated = true;
361
+ } else {
362
+ leafJoinCreated = false;
357
363
  }
358
364
  parentAlias = joinAlias;
359
365
  }
360
- return { alias: parentAlias, property: pathParts[pathParts.length - 1] };
366
+ return { alias: parentAlias, property: pathParts[pathParts.length - 1], created: leafJoinCreated };
361
367
  }
362
368
 
363
369
  private getDriver(qb: SelectQueryBuilder<any>) {
@@ -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
+ }
@@ -43,6 +43,16 @@ const getSolidCoreSettings = (isProd: boolean) =>
43
43
  sortOrder: 50,
44
44
  controlType: "boolean",
45
45
  },
46
+ {
47
+ moduleName: "solid-core",
48
+ key: "iamMicrosoftActiveDirectoryOAuthEnabled",
49
+ value: false,
50
+ level: SettingLevel.SystemAdminEditable,
51
+ label: "Allow Login / Signup With Microsoft Active Directory",
52
+ group: "authentication-settings",
53
+ sortOrder: 50,
54
+ controlType: "boolean",
55
+ },
46
56
  {
47
57
  moduleName: "solid-core",
48
58
  key: "authPagesLayout",
@@ -703,6 +713,55 @@ const getSolidCoreSettings = (isProd: boolean) =>
703
713
  level: SettingLevel.SystemAdminReadonly,
704
714
  },
705
715
 
716
+ // microsoft-active-directory-oauth-settings-provider.service.ts
717
+ {
718
+ moduleName: "solid-core",
719
+ key: "MICROSOFT_ACTIVE_DIRECTORY_CLIENT_ID",
720
+ value: process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_CLIENT_ID,
721
+ level: SettingLevel.SystemAdminReadonly,
722
+ label: "Microsoft Active Directory OAuth Client ID",
723
+ group: "oauth-settings",
724
+ sortOrder: 70,
725
+ controlType: "shortText",
726
+ },
727
+ {
728
+ moduleName: "solid-core",
729
+ key: "MICROSOFT_ACTIVE_DIRECTORY_CLIENT_SECRET",
730
+ value: process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_CLIENT_SECRET,
731
+ level: SettingLevel.SystemEnv,
732
+ },
733
+ {
734
+ moduleName: "solid-core",
735
+ key: "MICROSOFT_ACTIVE_DIRECTORY_TENANT_ID",
736
+ value:
737
+ process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_TENANT_ID || "common",
738
+ level: SettingLevel.SystemAdminReadonly,
739
+ label: "Microsoft Active Directory OAuth Tenant ID",
740
+ group: "oauth-settings",
741
+ sortOrder: 80,
742
+ controlType: "shortText",
743
+ },
744
+ {
745
+ moduleName: "solid-core",
746
+ key: "MICROSOFT_ACTIVE_DIRECTORY_CALLBACK_URL",
747
+ value: process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_CALLBACK_URL,
748
+ level: SettingLevel.SystemAdminReadonly,
749
+ label: "Microsoft Active Directory OAuth Callback URL",
750
+ group: "oauth-settings",
751
+ sortOrder: 90,
752
+ controlType: "shortText",
753
+ },
754
+ {
755
+ moduleName: "solid-core",
756
+ key: "MICROSOFT_ACTIVE_DIRECTORY_REDIRECT_URL",
757
+ value: process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_REDIRECT_URL,
758
+ level: SettingLevel.SystemAdminReadonly,
759
+ label: "Microsoft Active Directory OAuth Redirect URL",
760
+ group: "oauth-settings",
761
+ sortOrder: 100,
762
+ controlType: "shortText",
763
+ },
764
+
706
765
  // iam-settings-provider.service.ts
707
766
  {
708
767
  moduleName: "solid-core",
@@ -30,6 +30,23 @@ export class UserService extends CRUDService<User> {
30
30
  return normalized || "facebook_user";
31
31
  }
32
32
 
33
+ private buildMicrosoftActiveDirectoryUsernameBase(
34
+ email?: string,
35
+ providerId?: string,
36
+ name?: string,
37
+ ): string {
38
+ const source =
39
+ email ||
40
+ name ||
41
+ (providerId ? `microsoft_active_directory_${providerId}` : "");
42
+ const normalized = source
43
+ .trim()
44
+ .toLowerCase()
45
+ .replace(/[^a-z0-9@._-]+/g, "_")
46
+ .replace(/^_+|_+$/g, "");
47
+ return normalized || "microsoft_active_directory_user";
48
+ }
49
+
33
50
  private async resolveUniqueUsername(
34
51
  preferredUsername: string,
35
52
  // fallbackUsername: string,
@@ -397,6 +414,50 @@ export class UserService extends CRUDService<User> {
397
414
  return user;
398
415
  }
399
416
 
417
+ async resolveUserOnOauthMicrosoftActiveDirectory(
418
+ oauthUserDto: OauthUserDto,
419
+ ): Promise<User> {
420
+ const user = await this.repo.findOne({
421
+ where: {
422
+ email: oauthUserDto.email,
423
+ },
424
+ relations: {
425
+ roles: true,
426
+ },
427
+ });
428
+
429
+ if (!user) {
430
+ const newUser = new User();
431
+ newUser.username = oauthUserDto.email;
432
+ newUser.email = oauthUserDto.email;
433
+ newUser.fullName = oauthUserDto.name;
434
+ newUser.lastLoginProvider = oauthUserDto.provider;
435
+ newUser.accessCode = oauthUserDto.accessCode;
436
+ newUser.microsoftActiveDirectoryAccessToken = oauthUserDto.accessToken;
437
+ newUser.microsoftActiveDirectoryId = oauthUserDto.providerId;
438
+ newUser.microsoftActiveDirectoryProfilePicture = oauthUserDto.picture;
439
+
440
+ const savedUser = await this.repo.save(newUser);
441
+
442
+ await this.initializeRolesForNewUser(
443
+ [this.settingService.getConfigValue<SolidCoreSetting>("defaultRole")],
444
+ savedUser,
445
+ );
446
+ } else {
447
+ const entity = await this.repo.preload({
448
+ id: user.id,
449
+ lastLoginProvider: oauthUserDto.provider,
450
+ accessCode: oauthUserDto.accessCode,
451
+ microsoftActiveDirectoryAccessToken: oauthUserDto.accessToken,
452
+ microsoftActiveDirectoryId: oauthUserDto.providerId,
453
+ microsoftActiveDirectoryProfilePicture: oauthUserDto.picture,
454
+ });
455
+
456
+ await this.repo.save(entity);
457
+ }
458
+ return user;
459
+ }
460
+
400
461
  async findUsersByRole(
401
462
  roleName: string,
402
463
  relations: any = {},
@@ -66,8 +66,10 @@ import { ActionMetadataService } from "./services/action-metadata.service";
66
66
 
67
67
  import { FacebookAuthenticationController } from "./controllers/facebook-authentication.controller";
68
68
  import { MicrosoftAuthenticationController } from "./controllers/microsoft-authentication.controller";
69
+ import { MicrosoftActiveDirectoryAuthenticationController } from "./controllers/microsoft-active-directory-authentication.controller";
69
70
  import { FacebookOAuthStrategy } from "./passport-strategies/facebook-oauth.strategy";
70
71
  import { MicrosoftOAuthStrategy } from "./passport-strategies/microsoft-oauth.strategy";
72
+ import { MicrosoftActiveDirectoryOAuthStrategy } from "./passport-strategies/microsoft-active-directory-oauth.strategy";
71
73
 
72
74
  import { GupshupOtpWhatsappService } from "./services/whatsapp/GupshupOtpWhatsappService";
73
75
  import { MetaCloudWhatsappService } from "./services/whatsapp/MetaCloudWhatsappService";
@@ -140,8 +142,6 @@ import { SmtpEmailQueuePublisherRedis } from "./jobs/redis/smtp-email-publisher-
140
142
  import { SmtpEmailQueueSubscriberRedis } from "./jobs/redis/smtp-email-subscriber-redis.service";
141
143
  import { Three60WhatsappQueuePublisherRedis } from "./jobs/redis/three60-whatsapp-publisher-redis.service";
142
144
  import { Three60WhatsappQueueSubscriberRedis } from "./jobs/redis/three60-whatsapp-subscriber-redis.service";
143
- import { TriggerMcpClientPublisherRedis } from "./jobs/redis/trigger-mcp-client-publisher-redis.service";
144
- import { TriggerMcpClientSubscriberRedis } from "./jobs/redis/trigger-mcp-client-subscriber-redis.service";
145
145
  import { TwilioSmsQueuePublisherRedis } from "./jobs/redis/twilio-sms-publisher-redis.service";
146
146
  import { TwilioSmsQueueSubscriberRedis } from "./jobs/redis/twilio-sms-subscriber-redis.service";
147
147
  import { UserRegistrationListener } from "./listeners/user-registration.listener";
@@ -184,7 +184,6 @@ import { PermissionMetadataService } from "./services/permission-metadata.servic
184
184
 
185
185
  import { ScheduleModule } from "@nestjs/schedule";
186
186
  import { ClsModule } from "nestjs-cls";
187
- import { AiInteractionController } from "./controllers/ai-interaction.controller";
188
187
  import { ChatterMessageDetailsController } from "./controllers/chatter-message-details.controller";
189
188
  import { ChatterMessageController } from "./controllers/chatter-message.controller";
190
189
 
@@ -207,7 +206,6 @@ import { InfoService } from './services/info.service';
207
206
  import { UserActivityHistoryController } from './controllers/user-activity-history.controller';
208
207
  import { UserViewMetadataController } from './controllers/user-view-metadata.controller';
209
208
  import { UserController } from './controllers/user.controller';
210
- import { AiInteraction } from './entities/ai-interaction.entity';
211
209
  import { ChatterMessageDetails } from './entities/chatter-message-details.entity';
212
210
  import { ChatterMessage } from './entities/chatter-message.entity';
213
211
 
@@ -248,7 +246,6 @@ import { TwilioSmsQueuePublisherDatabase } from "./jobs/database/twilio-sms-publ
248
246
  import { TwilioSmsQueueSubscriberDatabase } from "./jobs/database/twilio-sms-subscriber-database.service";
249
247
 
250
248
  // import { ThrottlerModule } from '@nestjs/throttler';
251
- import { IngestCommand } from "./commands/ingest.command";
252
249
  import { MailFactory } from "./factories/mail.factory";
253
250
  import { ErrorMapperService } from "./helpers/error-mapper.service";
254
251
  import { SolidCoreErrorCodesProvider } from "./helpers/solid-core-error-codes-provider.service";
@@ -258,19 +255,14 @@ import { Msg91WhatsappQueuePublisherDatabase } from "./jobs/database/msg91-whats
258
255
  import { Msg91WhatsappQueueSubscriberDatabase } from "./jobs/database/msg91-whatsapp-subscriber-database.service";
259
256
  import { Three60WhatsappQueuePublisherDatabase } from "./jobs/database/three60-whatsapp-publisher-database.service";
260
257
  import { Three60WhatsappQueueSubscriberDatabase } from "./jobs/database/three60-whatsapp-subscriber-database.service";
261
- import { TriggerMcpClientPublisherDatabase } from "./jobs/database/trigger-mcp-client-publisher-database.service";
262
- import { TriggerMcpClientSubscriberDatabase } from "./jobs/database/trigger-mcp-client-subscriber-database.service";
263
258
  import { GenerateCodePublisherRabbitmq } from "./jobs/rabbitmq/generate-code-publisher.service";
264
259
  import { GenerateCodeSubscriberRabbitmq } from "./jobs/rabbitmq/generate-code-subscriber.service";
265
260
  import { Three60WhatsappQueuePublisher } from "./jobs/rabbitmq/three60-whatsapp-publisher.service";
266
261
  import { Three60WhatsappQueueSubscriber } from "./jobs/rabbitmq/three60-whatsapp-subscriber.service";
267
- import { TriggerMcpClientPublisherRabbitmq } from "./jobs/rabbitmq/trigger-mcp-client-publisher.service";
268
- import { TriggerMcpClientSubscriberRabbitmq } from "./jobs/rabbitmq/trigger-mcp-client-subscriber.service";
269
262
  import { TwilioSmsQueuePublisherRabbitmq } from "./jobs/rabbitmq/twilio-sms-publisher.service";
270
263
  import { TwilioSmsQueueSubscriberRabbitmq } from "./jobs/rabbitmq/twilio-sms-subscriber.service";
271
264
  import { ListOfValuesMapper } from "./mappers/list-of-values-mapper";
272
265
  import { ActionMetadataRepository } from "./repository/action-metadata.repository";
273
- import { AiInteractionRepository } from "./repository/ai-interaction.repository";
274
266
  import { ChatterMessageDetailsRepository } from "./repository/chatter-message-details.repository";
275
267
  import { ChatterMessageRepository } from "./repository/chatter-message.repository";
276
268
 
@@ -305,7 +297,6 @@ import { UserRepository } from './repository/user.repository';
305
297
  import { ViewMetadataRepository } from './repository/view-metadata.repository';
306
298
  import { PermissionMetadataSeederService } from './seeders/permission-metadata-seeder.service';
307
299
  import { SystemFieldsSeederService } from './seeders/system-fields-seeder.service';
308
- import { AiInteractionService } from './services/ai-interaction.service';
309
300
  import { ChatterMessageDetailsService } from './services/chatter-message-details.service';
310
301
  import { ChatterMessageService } from './services/chatter-message.service';
311
302
  import { ConcatComputedFieldProvider } from './services/computed-fields/concat-computed-field-provider.service';
@@ -331,9 +322,6 @@ import { CsvService } from './services/csv.service';
331
322
  import { ExcelService } from './services/excel.service';
332
323
  import { ExportTemplateService } from './services/export-template.service';
333
324
  import { ExportTransactionService } from './services/export-transaction.service';
334
- import { IngestMetadataService } from './services/genai/ingest-metadata.service';
335
- import { McpHandlerFactory } from './services/genai/mcp-handlers/mcp-handler-factory.service';
336
- import { R2RHelperService } from './services/genai/r2r-helper.service';
337
325
  import { ImportTransactionErrorLogService } from './services/import-transaction-error-log.service';
338
326
  import { ImportTransactionService } from './services/import-transaction.service';
339
327
  import { LocaleService } from './services/locale.service';
@@ -397,7 +385,6 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
397
385
  imports: [
398
386
  TypeOrmModule.forFeature([
399
387
  ActionMetadata,
400
- AiInteraction,
401
388
  ChatterMessage,
402
389
  ChatterMessageDetails,
403
390
  EmailAttachment,
@@ -468,7 +455,6 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
468
455
  ],
469
456
  controllers: [
470
457
  ActionMetadataController,
471
- AiInteractionController,
472
458
  AuthenticationController,
473
459
  ChatterMessageController,
474
460
  ChatterMessageDetailsController,
@@ -480,6 +466,7 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
480
466
  GoogleAuthenticationController,
481
467
  FacebookAuthenticationController,
482
468
  MicrosoftAuthenticationController,
469
+ MicrosoftActiveDirectoryAuthenticationController,
483
470
  ImportTransactionController,
484
471
  ImportTransactionErrorLogController,
485
472
  ListOfValuesController,
@@ -553,7 +540,6 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
553
540
  InfoService,
554
541
  SolidIntrospectService,
555
542
  DiscoveryService,
556
- R2RHelperService,
557
543
  CrudHelperService,
558
544
  CRUDService,
559
545
  Reflector,
@@ -590,8 +576,6 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
590
576
  TestDataCommand,
591
577
  TestRunCommand,
592
578
  McpCommand,
593
- IngestCommand,
594
- IngestMetadataService,
595
579
  SMTPEMailService,
596
580
  ElasticEmailService,
597
581
  Msg91SMSService,
@@ -607,11 +591,6 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
607
591
  ErrorMapperService,
608
592
  SolidCoreErrorCodesProvider,
609
593
 
610
- TriggerMcpClientPublisherDatabase,
611
- TriggerMcpClientSubscriberDatabase,
612
- TriggerMcpClientPublisherRabbitmq,
613
- TriggerMcpClientSubscriberRabbitmq,
614
-
615
594
  SmtpEmailQueuePublisherRabbitmq,
616
595
  SmtpEmailQueueSubscriberRabbitmq,
617
596
  SmtpEmailQueuePublisherDatabase,
@@ -661,6 +640,7 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
661
640
  GoogleOauthStrategy,
662
641
  FacebookOAuthStrategy,
663
642
  MicrosoftOAuthStrategy,
643
+ MicrosoftActiveDirectoryOAuthStrategy,
664
644
  UserRegistrationListener,
665
645
  TestQueuePublisher,
666
646
  TestQueueSubscriber,
@@ -692,8 +672,6 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
692
672
  SmtpEmailQueueSubscriberRedis,
693
673
  Three60WhatsappQueuePublisherRedis,
694
674
  Three60WhatsappQueueSubscriberRedis,
695
- TriggerMcpClientPublisherRedis,
696
- TriggerMcpClientSubscriberRedis,
697
675
  TwilioSmsQueuePublisherRedis,
698
676
  TwilioSmsQueueSubscriberRedis,
699
677
  GenerateCodePublisherDatabase,
@@ -758,11 +736,8 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
758
736
  ComputedFieldEvaluationSubscriberRabbitmq,
759
737
  ConcatEntityComputedFieldProvider,
760
738
  UserActivityHistoryService,
761
- AiInteractionService,
762
739
  NoopsEntityComputedFieldProviderService,
763
740
 
764
- McpHandlerFactory,
765
-
766
741
  SolidTsMorphService,
767
742
 
768
743
  ViewMetadataRepository,
@@ -782,7 +757,6 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
782
757
  SmsFactory,
783
758
  ChatterMessageRepository,
784
759
  ChatterMessageDetailsRepository,
785
- AiInteractionRepository,
786
760
  EmailTemplateRepository,
787
761
  ExportTemplateRepository,
788
762
  ExportTransactionRepository,
@@ -818,7 +792,6 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
818
792
  DashboardUserLayoutRepository,
819
793
  ],
820
794
  exports: [
821
- AiInteractionService,
822
795
  AuthenticationService,
823
796
  ChatterMessageDetailsRepository,
824
797
  ChatterMessageDetailsService,
@@ -83,7 +83,7 @@ export class ScheduledJobSubscriber
83
83
  return;
84
84
  }
85
85
 
86
- const moduleMetadataRepo = this.dataSource.getRepository(ModuleMetadata);
86
+ const moduleMetadataRepo = event.queryRunner.manager.getRepository(ModuleMetadata);
87
87
  const populatedModuleMetadata = await moduleMetadataRepo.findOne({
88
88
  where: { id: moduleMetadata.id },
89
89
  });
@@ -40,7 +40,7 @@ export class SecurityRuleSubscriber implements EntitySubscriberInterface<Securit
40
40
  return;
41
41
  }
42
42
 
43
- const modelMetadataRepo = this.dataSource.getRepository(ModelMetadata);
43
+ const modelMetadataRepo = event.manager.getRepository(ModelMetadata);
44
44
  const populatedModelMetadata = await modelMetadataRepo.findOne({
45
45
  where: {
46
46
  id: modelMetadata.id
@@ -1,16 +0,0 @@
1
- import { CommandRunner } from 'nest-commander';
2
- import { SolidRegistry } from '../helpers/solid-registry';
3
- import { IngestMetadataService } from '../services/genai/ingest-metadata.service';
4
- interface IngestCommandOptions {
5
- module?: string;
6
- }
7
- export declare class IngestCommand extends CommandRunner {
8
- private readonly solidRegistry;
9
- private readonly ingestMetadataService;
10
- private readonly logger;
11
- constructor(solidRegistry: SolidRegistry, ingestMetadataService: IngestMetadataService);
12
- run(passedParam: string[], options?: IngestCommandOptions): Promise<void>;
13
- parseString(val: string): string;
14
- }
15
- export {};
16
- //# sourceMappingURL=ingest.command.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ingest.command.d.ts","sourceRoot":"","sources":["../../src/commands/ingest.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAEnF,UAAU,oBAAoB;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CAEjB;AAED,qBACa,aAAc,SAAQ,aAAa;IAI5C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAJxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;gBAGtC,aAAa,EAAE,aAAa,EAC5B,qBAAqB,EAAE,qBAAqB;IAKzD,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/E,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAGjC"}
@@ -1,50 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var IngestCommand_1;
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.IngestCommand = void 0;
14
- const common_1 = require("@nestjs/common");
15
- const nest_commander_1 = require("nest-commander");
16
- const solid_registry_1 = require("../helpers/solid-registry");
17
- const ingest_metadata_service_1 = require("../services/genai/ingest-metadata.service");
18
- let IngestCommand = IngestCommand_1 = class IngestCommand extends nest_commander_1.CommandRunner {
19
- constructor(solidRegistry, ingestMetadataService) {
20
- super();
21
- this.solidRegistry = solidRegistry;
22
- this.ingestMetadataService = ingestMetadataService;
23
- this.logger = new common_1.Logger(IngestCommand_1.name);
24
- }
25
- async run(passedParam, options) {
26
- this.logger.log(`Running the solid ingest for module ${options.module} at ${new Date()}`);
27
- await this.ingestMetadataService.ingest();
28
- }
29
- parseString(val) {
30
- return val;
31
- }
32
- };
33
- exports.IngestCommand = IngestCommand;
34
- __decorate([
35
- (0, nest_commander_1.Option)({
36
- flags: '-m, --module [module name]',
37
- description: 'The seeder to run.',
38
- required: false,
39
- defaultValue: ''
40
- }),
41
- __metadata("design:type", Function),
42
- __metadata("design:paramtypes", [String]),
43
- __metadata("design:returntype", String)
44
- ], IngestCommand.prototype, "parseString", null);
45
- exports.IngestCommand = IngestCommand = IngestCommand_1 = __decorate([
46
- (0, nest_commander_1.Command)({ name: 'ingest', description: 'Ingests solid metadata json for all modules deployed in the consuming project' }),
47
- __metadata("design:paramtypes", [solid_registry_1.SolidRegistry,
48
- ingest_metadata_service_1.IngestMetadataService])
49
- ], IngestCommand);
50
- //# sourceMappingURL=ingest.command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ingest.command.js","sourceRoot":"","sources":["../../src/commands/ingest.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAwC;AACxC,mDAAgE;AAChE,8DAA2D;AAC3D,uFAAmF;AAQ5E,IAAM,aAAa,qBAAnB,MAAM,aAAc,SAAQ,8BAAa;IAG9C,YACmB,aAA4B,EAC5B,qBAA4C;QAE7D,KAAK,EAAE,CAAC;QAHS,kBAAa,GAAb,aAAa,CAAe;QAC5B,0BAAqB,GAArB,qBAAqB,CAAuB;QAJ9C,WAAM,GAAG,IAAI,eAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;IAOzD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,WAAqB,EAAE,OAA8B;QAC7D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uCAAuC,OAAO,CAAC,MAAM,OAAO,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1F,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;IAQD,WAAW,CAAC,GAAW;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAA;AAxBY,sCAAa;AAqBxB;IANC,IAAA,uBAAM,EAAC;QACN,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,oBAAoB;QACjC,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,EAAE;KACjB,CAAC;;;;gDAGD;wBAvBU,aAAa;IADzB,IAAA,wBAAO,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+EAA+E,EAAE,CAAC;qCAKtF,8BAAa;QACL,+CAAqB;GALpD,aAAa,CAwBzB","sourcesContent":["import { Logger } from '@nestjs/common';\nimport { Command, CommandRunner, Option } from 'nest-commander';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { IngestMetadataService } from 'src/services/genai/ingest-metadata.service';\n\ninterface IngestCommandOptions {\n module?: string;\n // seeder?: string;\n}\n\n@Command({ name: 'ingest', description: 'Ingests solid metadata json for all modules deployed in the consuming project' })\nexport class IngestCommand extends CommandRunner {\n private readonly logger = new Logger(IngestCommand.name);\n\n constructor(\n private readonly solidRegistry: SolidRegistry,\n private readonly ingestMetadataService: IngestMetadataService,\n ) {\n super();\n }\n\n async run(passedParam: string[], options?: IngestCommandOptions): Promise<void> {\n this.logger.log(`Running the solid ingest for module ${options.module} at ${new Date()}`);\n await this.ingestMetadataService.ingest();\n }\n\n @Option({\n flags: '-m, --module [module name]',\n description: 'The seeder to run.',\n required: false,\n defaultValue: ''\n })\n parseString(val: string): string {\n return val;\n }\n}\n"]}
@@ -1,29 +0,0 @@
1
- import { AiInteractionService } from '../services/ai-interaction.service';
2
- import { CreateAiInteractionDto } from '../dtos/create-ai-interaction.dto';
3
- import { UpdateAiInteractionDto } from '../dtos/update-ai-interaction.dto';
4
- import { InvokeAiPromptDto } from '../dtos/invoke-ai-prompt.dto';
5
- import { ActiveUserData } from '../interfaces/active-user-data.interface';
6
- export declare class AiInteractionController {
7
- private readonly service;
8
- constructor(service: AiInteractionService);
9
- create(createDto: CreateAiInteractionDto, files: Array<Express.Multer.File>): Promise<import("..").AiInteraction>;
10
- insertMany(createDtos: CreateAiInteractionDto[], filesArray?: Express.Multer.File[][]): Promise<import("..").AiInteraction[]>;
11
- update(id: number, updateDto: UpdateAiInteractionDto, files: Array<Express.Multer.File>): Promise<import("..").AiInteraction>;
12
- partialUpdate(id: number, updateDto: UpdateAiInteractionDto, files: Array<Express.Multer.File>): Promise<import("..").AiInteraction>;
13
- recoverMany(ids: number[]): Promise<{
14
- message: string;
15
- recoveredIds: number[];
16
- }>;
17
- recover(id: number): Promise<{
18
- message: string;
19
- data: import("..").AiInteraction;
20
- }>;
21
- findMany(query: any): Promise<any>;
22
- findOne(id: string, query: any): Promise<import("..").AiInteraction>;
23
- deleteMany(ids: number[]): Promise<any>;
24
- delete(id: number): Promise<import("..").AiInteraction>;
25
- triggerMcpClientJob(dto: InvokeAiPromptDto, activeUser: ActiveUserData): Promise<any>;
26
- applySolidAiInteraction(id: number): Promise<any>;
27
- runMcpPrompt(dto: InvokeAiPromptDto): Promise<import("..").McpResponse>;
28
- }
29
- //# sourceMappingURL=ai-interaction.controller.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai-interaction.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/ai-interaction.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAO3E,qBAEa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,oBAAoB;IAK1D,MAAM,CAAS,SAAS,EAAE,sBAAsB,EAAmB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;IAOpG,UAAU,CAAS,UAAU,EAAE,sBAAsB,EAAE,EAAmB,UAAU,GAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAO;IAQlH,MAAM,CAAc,EAAE,EAAE,MAAM,EAAU,SAAS,EAAE,sBAAsB,EAAmB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;IAO7H,aAAa,CAAc,EAAE,EAAE,MAAM,EAAU,SAAS,EAAE,sBAAsB,EAAmB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;IAM9H,WAAW,CAAS,GAAG,EAAE,MAAM,EAAE;;;;IAMjC,OAAO,CAAc,EAAE,EAAE,MAAM;;;;IAe/B,QAAQ,CAAU,KAAK,EAAE,GAAG;IAM5B,OAAO,CAAc,EAAE,EAAE,MAAM,EAAW,KAAK,EAAE,GAAG;IAMpD,UAAU,CAAS,GAAG,EAAE,MAAM,EAAE;IAMhC,MAAM,CAAc,EAAE,EAAE,MAAM;IAM9B,mBAAmB,CAAS,GAAG,EAAE,iBAAiB,EAAgB,UAAU,EAAE,cAAc;IAM5F,uBAAuB,CAAc,EAAE,EAAE,MAAM;IAM/C,YAAY,CAAS,GAAG,EAAE,iBAAiB;CAGlD"}