@solidxai/core 0.1.10-beta.25 → 0.1.10-beta.27

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 (428) hide show
  1. package/ai-interaction-cleanup.sql +53 -0
  2. package/dist/controllers/action-metadata.controller.d.ts +1 -20
  3. package/dist/controllers/action-metadata.controller.d.ts.map +1 -1
  4. package/dist/controllers/agent-event.controller.d.ts +1 -20
  5. package/dist/controllers/agent-event.controller.d.ts.map +1 -1
  6. package/dist/controllers/agent-session.controller.d.ts +1 -20
  7. package/dist/controllers/agent-session.controller.d.ts.map +1 -1
  8. package/dist/controllers/chatter-message-details.controller.d.ts +1 -20
  9. package/dist/controllers/chatter-message-details.controller.d.ts.map +1 -1
  10. package/dist/controllers/chatter-message.controller.d.ts +1 -20
  11. package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
  12. package/dist/controllers/dashboard-user-layout.controller.d.ts +1 -20
  13. package/dist/controllers/dashboard-user-layout.controller.d.ts.map +1 -1
  14. package/dist/controllers/email-template.controller.d.ts +1 -20
  15. package/dist/controllers/email-template.controller.d.ts.map +1 -1
  16. package/dist/controllers/export-template.controller.d.ts +1 -20
  17. package/dist/controllers/export-template.controller.d.ts.map +1 -1
  18. package/dist/controllers/export-transaction.controller.d.ts +1 -20
  19. package/dist/controllers/export-transaction.controller.d.ts.map +1 -1
  20. package/dist/controllers/import-transaction-error-log.controller.d.ts +1 -20
  21. package/dist/controllers/import-transaction-error-log.controller.d.ts.map +1 -1
  22. package/dist/controllers/import-transaction.controller.d.ts +1 -20
  23. package/dist/controllers/import-transaction.controller.d.ts.map +1 -1
  24. package/dist/controllers/list-of-values.controller.d.ts +1 -20
  25. package/dist/controllers/list-of-values.controller.d.ts.map +1 -1
  26. package/dist/controllers/locale.controller.d.ts +1 -20
  27. package/dist/controllers/locale.controller.d.ts.map +1 -1
  28. package/dist/controllers/mcp-audit-log.controller.d.ts +1 -20
  29. package/dist/controllers/mcp-audit-log.controller.d.ts.map +1 -1
  30. package/dist/controllers/media.controller.d.ts +1 -20
  31. package/dist/controllers/media.controller.d.ts.map +1 -1
  32. package/dist/controllers/menu-item-metadata.controller.d.ts +1 -20
  33. package/dist/controllers/menu-item-metadata.controller.d.ts.map +1 -1
  34. package/dist/controllers/model-metadata.controller.d.ts +10 -30
  35. package/dist/controllers/model-metadata.controller.d.ts.map +1 -1
  36. package/dist/controllers/model-metadata.controller.js +2 -2
  37. package/dist/controllers/model-sequence.controller.d.ts +1 -20
  38. package/dist/controllers/model-sequence.controller.d.ts.map +1 -1
  39. package/dist/controllers/module-metadata-explorer.controller.d.ts +171 -0
  40. package/dist/controllers/module-metadata-explorer.controller.d.ts.map +1 -0
  41. package/dist/controllers/module-metadata-explorer.controller.js +143 -0
  42. package/dist/controllers/module-metadata-explorer.controller.js.map +1 -0
  43. package/dist/controllers/module-metadata.controller.d.ts +5 -0
  44. package/dist/controllers/module-metadata.controller.d.ts.map +1 -1
  45. package/dist/controllers/module-metadata.controller.js +12 -0
  46. package/dist/controllers/module-metadata.controller.js.map +1 -1
  47. package/dist/controllers/module-package.controller.d.ts +622 -0
  48. package/dist/controllers/module-package.controller.d.ts.map +1 -0
  49. package/dist/controllers/module-package.controller.js +150 -0
  50. package/dist/controllers/module-package.controller.js.map +1 -0
  51. package/dist/controllers/mq-message-queue.controller.d.ts +1 -20
  52. package/dist/controllers/mq-message-queue.controller.d.ts.map +1 -1
  53. package/dist/controllers/mq-message.controller.d.ts +1 -20
  54. package/dist/controllers/mq-message.controller.d.ts.map +1 -1
  55. package/dist/controllers/permission-metadata.controller.d.ts +1 -20
  56. package/dist/controllers/permission-metadata.controller.d.ts.map +1 -1
  57. package/dist/controllers/role-metadata.controller.d.ts +1 -20
  58. package/dist/controllers/role-metadata.controller.d.ts.map +1 -1
  59. package/dist/controllers/saved-filters.controller.d.ts +1 -20
  60. package/dist/controllers/saved-filters.controller.d.ts.map +1 -1
  61. package/dist/controllers/scheduled-job.controller.d.ts +1 -20
  62. package/dist/controllers/scheduled-job.controller.d.ts.map +1 -1
  63. package/dist/controllers/security-rule.controller.d.ts +1 -20
  64. package/dist/controllers/security-rule.controller.d.ts.map +1 -1
  65. package/dist/controllers/service.controller.d.ts +1 -5
  66. package/dist/controllers/service.controller.d.ts.map +1 -1
  67. package/dist/controllers/service.controller.js +6 -11
  68. package/dist/controllers/service.controller.js.map +1 -1
  69. package/dist/controllers/sms-template.controller.d.ts +1 -20
  70. package/dist/controllers/sms-template.controller.d.ts.map +1 -1
  71. package/dist/controllers/test.controller.d.ts +1 -6
  72. package/dist/controllers/test.controller.d.ts.map +1 -1
  73. package/dist/controllers/test.controller.js +2 -20
  74. package/dist/controllers/test.controller.js.map +1 -1
  75. package/dist/controllers/user-activity-history.controller.d.ts +1 -20
  76. package/dist/controllers/user-activity-history.controller.d.ts.map +1 -1
  77. package/dist/controllers/user-view-metadata.controller.d.ts +1 -20
  78. package/dist/controllers/user-view-metadata.controller.d.ts.map +1 -1
  79. package/dist/controllers/user.controller.d.ts +1 -20
  80. package/dist/controllers/user.controller.d.ts.map +1 -1
  81. package/dist/controllers/view-metadata.controller.d.ts +1 -20
  82. package/dist/controllers/view-metadata.controller.d.ts.map +1 -1
  83. package/dist/dtos/confirm-module-package-import.dto.d.ts +4 -0
  84. package/dist/dtos/confirm-module-package-import.dto.d.ts.map +1 -0
  85. package/dist/dtos/confirm-module-package-import.dto.js +34 -0
  86. package/dist/dtos/confirm-module-package-import.dto.js.map +1 -0
  87. package/dist/dtos/create-permission-metadata.dto.d.ts.map +1 -1
  88. package/dist/dtos/create-permission-metadata.dto.js +2 -0
  89. package/dist/dtos/create-permission-metadata.dto.js.map +1 -1
  90. package/dist/dtos/create-role-metadata.dto.d.ts +2 -0
  91. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  92. package/dist/dtos/create-role-metadata.dto.js +13 -1
  93. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  94. package/dist/dtos/import-instructions.dto.d.ts +2 -0
  95. package/dist/dtos/import-instructions.dto.d.ts.map +1 -1
  96. package/dist/dtos/import-instructions.dto.js +15 -1
  97. package/dist/dtos/import-instructions.dto.js.map +1 -1
  98. package/dist/dtos/metadata-explorer-references-query.dto.d.ts +10 -0
  99. package/dist/dtos/metadata-explorer-references-query.dto.d.ts.map +1 -0
  100. package/dist/dtos/metadata-explorer-references-query.dto.js +69 -0
  101. package/dist/dtos/metadata-explorer-references-query.dto.js.map +1 -0
  102. package/dist/dtos/metadata-explorer-search-query.dto.d.ts +8 -0
  103. package/dist/dtos/metadata-explorer-search-query.dto.d.ts.map +1 -0
  104. package/dist/dtos/metadata-explorer-search-query.dto.js +55 -0
  105. package/dist/dtos/metadata-explorer-search-query.dto.js.map +1 -0
  106. package/dist/dtos/metadata-explorer-write.dto.d.ts +4 -0
  107. package/dist/dtos/metadata-explorer-write.dto.d.ts.map +1 -0
  108. package/dist/dtos/{invoke-ai-prompt.dto.js → metadata-explorer-write.dto.js} +12 -12
  109. package/dist/dtos/metadata-explorer-write.dto.js.map +1 -0
  110. package/dist/dtos/run-module-package-build.dto.d.ts +5 -0
  111. package/dist/dtos/run-module-package-build.dto.d.ts.map +1 -0
  112. package/dist/dtos/run-module-package-build.dto.js +38 -0
  113. package/dist/dtos/run-module-package-build.dto.js.map +1 -0
  114. package/dist/dtos/run-module-package-seed.dto.d.ts +4 -0
  115. package/dist/dtos/run-module-package-seed.dto.d.ts.map +1 -0
  116. package/dist/dtos/run-module-package-seed.dto.js +34 -0
  117. package/dist/dtos/run-module-package-seed.dto.js.map +1 -0
  118. package/dist/dtos/update-permission-metadata.dto.d.ts.map +1 -1
  119. package/dist/dtos/update-permission-metadata.dto.js +3 -1
  120. package/dist/dtos/update-permission-metadata.dto.js.map +1 -1
  121. package/dist/dtos/update-role-metadata.dto.d.ts +2 -0
  122. package/dist/dtos/update-role-metadata.dto.d.ts.map +1 -1
  123. package/dist/dtos/update-role-metadata.dto.js +13 -1
  124. package/dist/dtos/update-role-metadata.dto.js.map +1 -1
  125. package/dist/entities/action-metadata.entity.d.ts.map +1 -1
  126. package/dist/entities/action-metadata.entity.js +1 -0
  127. package/dist/entities/action-metadata.entity.js.map +1 -1
  128. package/dist/entities/agent-event.entity.d.ts.map +1 -1
  129. package/dist/entities/agent-event.entity.js +1 -0
  130. package/dist/entities/agent-event.entity.js.map +1 -1
  131. package/dist/entities/agent-session.entity.d.ts.map +1 -1
  132. package/dist/entities/agent-session.entity.js +1 -0
  133. package/dist/entities/agent-session.entity.js.map +1 -1
  134. package/dist/entities/chatter-message.entity.d.ts.map +1 -1
  135. package/dist/entities/chatter-message.entity.js +2 -0
  136. package/dist/entities/chatter-message.entity.js.map +1 -1
  137. package/dist/entities/email-template.entity.d.ts.map +1 -1
  138. package/dist/entities/email-template.entity.js +1 -0
  139. package/dist/entities/email-template.entity.js.map +1 -1
  140. package/dist/entities/field-metadata.entity.d.ts.map +1 -1
  141. package/dist/entities/field-metadata.entity.js +4 -0
  142. package/dist/entities/field-metadata.entity.js.map +1 -1
  143. package/dist/entities/list-of-values.entity.d.ts.map +1 -1
  144. package/dist/entities/list-of-values.entity.js +4 -0
  145. package/dist/entities/list-of-values.entity.js.map +1 -1
  146. package/dist/entities/locale.entity.d.ts.map +1 -1
  147. package/dist/entities/locale.entity.js +1 -0
  148. package/dist/entities/locale.entity.js.map +1 -1
  149. package/dist/entities/media.entity.d.ts.map +1 -1
  150. package/dist/entities/media.entity.js +1 -0
  151. package/dist/entities/media.entity.js.map +1 -1
  152. package/dist/entities/menu-item-metadata.entity.d.ts.map +1 -1
  153. package/dist/entities/menu-item-metadata.entity.js +2 -0
  154. package/dist/entities/menu-item-metadata.entity.js.map +1 -1
  155. package/dist/entities/model-metadata.entity.d.ts.map +1 -1
  156. package/dist/entities/model-metadata.entity.js +3 -0
  157. package/dist/entities/model-metadata.entity.js.map +1 -1
  158. package/dist/entities/module-metadata.entity.d.ts.map +1 -1
  159. package/dist/entities/module-metadata.entity.js +2 -0
  160. package/dist/entities/module-metadata.entity.js.map +1 -1
  161. package/dist/entities/permission-metadata.entity.d.ts.map +1 -1
  162. package/dist/entities/permission-metadata.entity.js.map +1 -1
  163. package/dist/entities/role-metadata.entity.d.ts +2 -0
  164. package/dist/entities/role-metadata.entity.d.ts.map +1 -1
  165. package/dist/entities/role-metadata.entity.js +10 -2
  166. package/dist/entities/role-metadata.entity.js.map +1 -1
  167. package/dist/entities/saved-filters.entity.d.ts.map +1 -1
  168. package/dist/entities/saved-filters.entity.js +3 -0
  169. package/dist/entities/saved-filters.entity.js.map +1 -1
  170. package/dist/entities/scheduled-job.entity.d.ts.map +1 -1
  171. package/dist/entities/scheduled-job.entity.js +2 -0
  172. package/dist/entities/scheduled-job.entity.js.map +1 -1
  173. package/dist/entities/security-rule.entity.d.ts.map +1 -1
  174. package/dist/entities/security-rule.entity.js +1 -0
  175. package/dist/entities/security-rule.entity.js.map +1 -1
  176. package/dist/entities/sms-template.entity.d.ts.map +1 -1
  177. package/dist/entities/sms-template.entity.js +2 -0
  178. package/dist/entities/sms-template.entity.js.map +1 -1
  179. package/dist/entities/user-activity-history.entity.d.ts.map +1 -1
  180. package/dist/entities/user-activity-history.entity.js +1 -0
  181. package/dist/entities/user-activity-history.entity.js.map +1 -1
  182. package/dist/entities/user.entity.d.ts.map +1 -1
  183. package/dist/entities/user.entity.js +2 -0
  184. package/dist/entities/user.entity.js.map +1 -1
  185. package/dist/entities/view-metadata.entity.d.ts.map +1 -1
  186. package/dist/entities/view-metadata.entity.js +2 -0
  187. package/dist/entities/view-metadata.entity.js.map +1 -1
  188. package/dist/helpers/command.service.js +1 -1
  189. package/dist/helpers/command.service.js.map +1 -1
  190. package/dist/helpers/module-metadata-helper.service.d.ts +2 -0
  191. package/dist/helpers/module-metadata-helper.service.d.ts.map +1 -1
  192. package/dist/helpers/module-metadata-helper.service.js +14 -12
  193. package/dist/helpers/module-metadata-helper.service.js.map +1 -1
  194. package/dist/helpers/module.helper.d.ts.map +1 -1
  195. package/dist/helpers/module.helper.js +6 -6
  196. package/dist/helpers/module.helper.js.map +1 -1
  197. package/dist/helpers/typeorm-migration-helpers.d.ts +12 -0
  198. package/dist/helpers/typeorm-migration-helpers.d.ts.map +1 -0
  199. package/dist/helpers/typeorm-migration-helpers.js +119 -0
  200. package/dist/helpers/typeorm-migration-helpers.js.map +1 -0
  201. package/dist/index.d.ts +8 -5
  202. package/dist/index.d.ts.map +1 -1
  203. package/dist/index.js +8 -5
  204. package/dist/index.js.map +1 -1
  205. package/dist/interfaces.d.ts +0 -8
  206. package/dist/interfaces.d.ts.map +1 -1
  207. package/dist/interfaces.js.map +1 -1
  208. package/dist/seeders/module-metadata-seeder.service.d.ts +1 -0
  209. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  210. package/dist/seeders/module-metadata-seeder.service.js +57 -38
  211. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  212. package/dist/seeders/module-test-data.service.js +1 -1
  213. package/dist/seeders/module-test-data.service.js.map +1 -1
  214. package/dist/seeders/seed-data/solid-core-metadata.json +2674 -1913
  215. package/dist/services/crud-helper.service.d.ts +18 -0
  216. package/dist/services/crud-helper.service.d.ts.map +1 -1
  217. package/dist/services/crud-helper.service.js +70 -3
  218. package/dist/services/crud-helper.service.js.map +1 -1
  219. package/dist/services/crud.service.d.ts +1 -21
  220. package/dist/services/crud.service.d.ts.map +1 -1
  221. package/dist/services/crud.service.js +9 -75
  222. package/dist/services/crud.service.js.map +1 -1
  223. package/dist/services/import-transaction.service.d.ts.map +1 -1
  224. package/dist/services/import-transaction.service.js +6 -0
  225. package/dist/services/import-transaction.service.js.map +1 -1
  226. package/dist/services/media.service.d.ts +1 -20
  227. package/dist/services/media.service.d.ts.map +1 -1
  228. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
  229. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +31 -2
  230. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
  231. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
  232. package/dist/services/mediaStorageProviders/file-storage-provider.js +5 -1
  233. package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
  234. package/dist/services/model-metadata.service.d.ts +15 -30
  235. package/dist/services/model-metadata.service.d.ts.map +1 -1
  236. package/dist/services/model-metadata.service.js +249 -29
  237. package/dist/services/model-metadata.service.js.map +1 -1
  238. package/dist/services/module-metadata-explorer.service.d.ts +161 -0
  239. package/dist/services/module-metadata-explorer.service.d.ts.map +1 -0
  240. package/dist/services/module-metadata-explorer.service.js +485 -0
  241. package/dist/services/module-metadata-explorer.service.js.map +1 -0
  242. package/dist/services/module-metadata.service.d.ts +7 -0
  243. package/dist/services/module-metadata.service.d.ts.map +1 -1
  244. package/dist/services/module-metadata.service.js +121 -2
  245. package/dist/services/module-metadata.service.js.map +1 -1
  246. package/dist/services/module-package.service.d.ts +266 -0
  247. package/dist/services/module-package.service.d.ts.map +1 -0
  248. package/dist/services/module-package.service.js +980 -0
  249. package/dist/services/module-package.service.js.map +1 -0
  250. package/dist/solid-core.module.d.ts.map +1 -1
  251. package/dist/solid-core.module.js +10 -31
  252. package/dist/solid-core.module.js.map +1 -1
  253. package/dist/subscribers/scheduled-job.subscriber.js +1 -1
  254. package/dist/subscribers/scheduled-job.subscriber.js.map +1 -1
  255. package/dist/subscribers/security-rule.subscriber.js +1 -1
  256. package/dist/subscribers/security-rule.subscriber.js.map +1 -1
  257. package/package.json +5 -4
  258. package/src/controllers/module-metadata-explorer.controller.ts +83 -0
  259. package/src/controllers/module-metadata.controller.ts +6 -0
  260. package/src/controllers/module-package.controller.ts +102 -0
  261. package/src/controllers/service.controller.ts +4 -7
  262. package/src/controllers/test.controller.ts +0 -9
  263. package/src/dtos/confirm-module-package-import.dto.ts +12 -0
  264. package/src/dtos/create-permission-metadata.dto.ts +3 -0
  265. package/src/dtos/create-role-metadata.dto.ts +11 -1
  266. package/src/dtos/import-instructions.dto.ts +11 -1
  267. package/src/dtos/metadata-explorer-references-query.dto.ts +39 -0
  268. package/src/dtos/metadata-explorer-search-query.dto.ts +28 -0
  269. package/src/dtos/metadata-explorer-write.dto.ts +11 -0
  270. package/src/dtos/run-module-package-build.dto.ts +14 -0
  271. package/src/dtos/run-module-package-seed.dto.ts +12 -0
  272. package/src/dtos/update-permission-metadata.dto.ts +4 -1
  273. package/src/dtos/update-role-metadata.dto.ts +21 -1
  274. package/src/entities/action-metadata.entity.ts +1 -0
  275. package/src/entities/agent-event.entity.ts +1 -0
  276. package/src/entities/agent-session.entity.ts +1 -0
  277. package/src/entities/chatter-message.entity.ts +2 -0
  278. package/src/entities/email-template.entity.ts +1 -0
  279. package/src/entities/field-metadata.entity.ts +4 -1
  280. package/src/entities/list-of-values.entity.ts +5 -1
  281. package/src/entities/locale.entity.ts +1 -0
  282. package/src/entities/media.entity.ts +1 -0
  283. package/src/entities/menu-item-metadata.entity.ts +2 -0
  284. package/src/entities/model-metadata.entity.ts +3 -0
  285. package/src/entities/module-metadata.entity.ts +2 -0
  286. package/src/entities/permission-metadata.entity.ts +2 -2
  287. package/src/entities/role-metadata.entity.ts +11 -3
  288. package/src/entities/saved-filters.entity.ts +3 -0
  289. package/src/entities/scheduled-job.entity.ts +2 -0
  290. package/src/entities/security-rule.entity.ts +1 -0
  291. package/src/entities/sms-template.entity.ts +2 -0
  292. package/src/entities/user-activity-history.entity.ts +1 -0
  293. package/src/entities/user.entity.ts +2 -0
  294. package/src/entities/view-metadata.entity.ts +2 -0
  295. package/src/helpers/command.service.ts +1 -1
  296. package/src/helpers/module-metadata-helper.service.ts +19 -21
  297. package/src/helpers/module.helper.ts +12 -9
  298. package/src/helpers/typeorm-migration-helpers.ts +163 -0
  299. package/src/index.ts +8 -5
  300. package/src/interfaces.ts +0 -8
  301. package/src/seeders/module-metadata-seeder.service.ts +63 -38
  302. package/src/seeders/module-test-data.service.ts +1 -1
  303. package/src/seeders/seed-data/solid-core-metadata.json +2675 -1914
  304. package/src/services/crud-helper.service.ts +81 -3
  305. package/src/services/crud.service.ts +11 -104
  306. package/src/services/dashboard-providers/README.md +1 -1
  307. package/src/services/import-transaction.service.ts +11 -1
  308. package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +37 -2
  309. package/src/services/mediaStorageProviders/file-storage-provider.ts +5 -1
  310. package/src/services/model-metadata.service.ts +302 -98
  311. package/src/services/module-metadata-explorer.service.ts +670 -0
  312. package/src/services/module-metadata.service.ts +136 -10
  313. package/src/services/module-package.service.ts +1171 -0
  314. package/src/solid-core.module.ts +10 -33
  315. package/src/subscribers/scheduled-job.subscriber.ts +1 -1
  316. package/src/subscribers/security-rule.subscriber.ts +1 -1
  317. package/dist/commands/ingest.command.d.ts +0 -16
  318. package/dist/commands/ingest.command.d.ts.map +0 -1
  319. package/dist/commands/ingest.command.js +0 -50
  320. package/dist/commands/ingest.command.js.map +0 -1
  321. package/dist/controllers/ai-interaction.controller.d.ts +0 -48
  322. package/dist/controllers/ai-interaction.controller.d.ts.map +0 -1
  323. package/dist/controllers/ai-interaction.controller.js +0 -218
  324. package/dist/controllers/ai-interaction.controller.js.map +0 -1
  325. package/dist/dtos/create-ai-interaction.dto.d.ts +0 -23
  326. package/dist/dtos/create-ai-interaction.dto.d.ts.map +0 -1
  327. package/dist/dtos/create-ai-interaction.dto.js +0 -149
  328. package/dist/dtos/create-ai-interaction.dto.js.map +0 -1
  329. package/dist/dtos/invoke-ai-prompt.dto.d.ts +0 -5
  330. package/dist/dtos/invoke-ai-prompt.dto.d.ts.map +0 -1
  331. package/dist/dtos/invoke-ai-prompt.dto.js.map +0 -1
  332. package/dist/dtos/update-ai-interaction.dto.d.ts +0 -24
  333. package/dist/dtos/update-ai-interaction.dto.d.ts.map +0 -1
  334. package/dist/dtos/update-ai-interaction.dto.js +0 -150
  335. package/dist/dtos/update-ai-interaction.dto.js.map +0 -1
  336. package/dist/entities/ai-interaction.entity.d.ts +0 -24
  337. package/dist/entities/ai-interaction.entity.d.ts.map +0 -1
  338. package/dist/entities/ai-interaction.entity.js +0 -116
  339. package/dist/entities/ai-interaction.entity.js.map +0 -1
  340. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts +0 -11
  341. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts.map +0 -1
  342. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js +0 -39
  343. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js.map +0 -1
  344. package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts +0 -8
  345. package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts.map +0 -1
  346. package/dist/jobs/database/trigger-mcp-client-queue-options.js +0 -10
  347. package/dist/jobs/database/trigger-mcp-client-queue-options.js.map +0 -1
  348. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts +0 -25
  349. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +0 -1
  350. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +0 -222
  351. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +0 -1
  352. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts +0 -11
  353. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts.map +0 -1
  354. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.js +0 -39
  355. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.js.map +0 -1
  356. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.d.ts +0 -8
  357. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.d.ts.map +0 -1
  358. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.js +0 -10
  359. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.js.map +0 -1
  360. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts +0 -18
  361. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts.map +0 -1
  362. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.js +0 -103
  363. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.js.map +0 -1
  364. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts +0 -11
  365. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts.map +0 -1
  366. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.js +0 -39
  367. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.js.map +0 -1
  368. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.d.ts +0 -8
  369. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.d.ts.map +0 -1
  370. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.js +0 -10
  371. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.js.map +0 -1
  372. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts +0 -18
  373. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts.map +0 -1
  374. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.js +0 -103
  375. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.js.map +0 -1
  376. package/dist/repository/ai-interaction.repository.d.ts +0 -12
  377. package/dist/repository/ai-interaction.repository.d.ts.map +0 -1
  378. package/dist/repository/ai-interaction.repository.js +0 -34
  379. package/dist/repository/ai-interaction.repository.js.map +0 -1
  380. package/dist/services/ai-interaction.service.d.ts +0 -23
  381. package/dist/services/ai-interaction.service.d.ts.map +0 -1
  382. package/dist/services/ai-interaction.service.js +0 -217
  383. package/dist/services/ai-interaction.service.js.map +0 -1
  384. package/dist/services/database/database-bootstrap.service.d.ts +0 -12
  385. package/dist/services/database/database-bootstrap.service.d.ts.map +0 -1
  386. package/dist/services/database/database-bootstrap.service.js +0 -115
  387. package/dist/services/database/database-bootstrap.service.js.map +0 -1
  388. package/dist/services/genai/ingest-metadata.service.d.ts +0 -38
  389. package/dist/services/genai/ingest-metadata.service.d.ts.map +0 -1
  390. package/dist/services/genai/ingest-metadata.service.js +0 -542
  391. package/dist/services/genai/ingest-metadata.service.js.map +0 -1
  392. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts +0 -9
  393. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts.map +0 -1
  394. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js +0 -39
  395. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js.map +0 -1
  396. package/dist/services/genai/r2r-helper.service.d.ts +0 -9
  397. package/dist/services/genai/r2r-helper.service.d.ts.map +0 -1
  398. package/dist/services/genai/r2r-helper.service.js +0 -40
  399. package/dist/services/genai/r2r-helper.service.js.map +0 -1
  400. package/sql/default/mariadb/proc_CleanupModelMetadata.sql +0 -153
  401. package/sql/default/mariadb/proc_CleanupModuleMetadata.sql +0 -56
  402. package/sql/default/mssql/proc_CleanupModuleMetadata.sql +0 -78
  403. package/sql/default/mysql/proc_CleanupModelMetadata.sql +0 -153
  404. package/sql/default/mysql/proc_CleanupModuleMetadata.sql +0 -56
  405. package/sql/default/postgres/proc_CleanupModelMetadata.sql +0 -148
  406. package/sql/default/postgres/proc_CleanupModuleMetadata.sql +0 -50
  407. package/sql/default/postgres/scratchpad.sql.txt +0 -12
  408. package/src/commands/ingest.command.ts +0 -36
  409. package/src/controllers/ai-interaction.controller.ts +0 -112
  410. package/src/dtos/create-ai-interaction.dto.ts +0 -89
  411. package/src/dtos/invoke-ai-prompt.dto.ts +0 -10
  412. package/src/dtos/update-ai-interaction.dto.ts +0 -93
  413. package/src/entities/ai-interaction.entity.ts +0 -71
  414. package/src/jobs/database/trigger-mcp-client-publisher-database.service.ts +0 -22
  415. package/src/jobs/database/trigger-mcp-client-queue-options.ts +0 -9
  416. package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +0 -278
  417. package/src/jobs/rabbitmq/trigger-mcp-client-publisher.service.ts +0 -22
  418. package/src/jobs/rabbitmq/trigger-mcp-client-queue-options.ts +0 -9
  419. package/src/jobs/rabbitmq/trigger-mcp-client-subscriber.service.ts +0 -104
  420. package/src/jobs/redis/trigger-mcp-client-publisher-redis.service.ts +0 -23
  421. package/src/jobs/redis/trigger-mcp-client-queue-options-redis.ts +0 -9
  422. package/src/jobs/redis/trigger-mcp-client-subscriber-redis.service.ts +0 -98
  423. package/src/repository/ai-interaction.repository.ts +0 -17
  424. package/src/services/ai-interaction.service.ts +0 -239
  425. package/src/services/database/database-bootstrap.service.ts +0 -91
  426. package/src/services/genai/ingest-metadata.service.ts +0 -798
  427. package/src/services/genai/mcp-handlers/mcp-handler-factory.service.ts +0 -33
  428. package/src/services/genai/r2r-helper.service.ts +0 -37
@@ -1,93 +0,0 @@
1
- import { IsInt,IsOptional, IsString, IsNotEmpty, IsJSON, IsBoolean } from 'class-validator';
2
- import { ApiProperty } from '@nestjs/swagger';
3
-
4
- export class UpdateAiInteractionDto {
5
- @IsOptional()
6
- @IsInt()
7
- id: number;
8
- @IsOptional()
9
- @IsInt()
10
- @ApiProperty()
11
- userId: number;
12
- @IsString()
13
- @IsOptional()
14
- @ApiProperty()
15
- userUserKey: string;
16
- @IsNotEmpty()
17
- @IsOptional()
18
- @IsString()
19
- @ApiProperty()
20
- threadId: string;
21
- @IsNotEmpty()
22
- @IsOptional()
23
- @IsString()
24
- @ApiProperty()
25
- role: string;
26
- @IsNotEmpty()
27
- @IsOptional()
28
- @IsString()
29
- @ApiProperty()
30
- message: string;
31
- @IsOptional()
32
- @IsString()
33
- @ApiProperty()
34
- contentType: string;
35
- @IsOptional()
36
- @IsString()
37
- @ApiProperty()
38
- status: string;
39
- @IsOptional()
40
- @IsString()
41
- @ApiProperty()
42
- errorMessage: string;
43
- @IsOptional()
44
- @IsString()
45
- @ApiProperty()
46
- modelUsed: string;
47
- @IsOptional()
48
- @IsInt()
49
- @ApiProperty()
50
- responseTimeMs: number;
51
- @IsOptional()
52
- @IsJSON()
53
- @ApiProperty()
54
- metadata: any;
55
- @IsOptional()
56
- @IsBoolean()
57
- @ApiProperty()
58
- isApplied: boolean;
59
- @IsOptional()
60
- @IsInt()
61
- @ApiProperty()
62
- parentInteractionId: number;
63
- @IsString()
64
- @IsOptional()
65
- @ApiProperty()
66
- parentInteractionUserKey: string;
67
- @IsOptional()
68
- @IsBoolean()
69
- @ApiProperty()
70
- isAutoApply: boolean;
71
- @IsOptional()
72
- @IsInt()
73
- @ApiProperty()
74
- inputTokens: number;
75
- @IsOptional()
76
- @IsInt()
77
- @ApiProperty()
78
- outputTokens: number;
79
- @IsOptional()
80
- @IsInt()
81
- @ApiProperty()
82
- totalTokens: number;
83
-
84
- @IsOptional()
85
- @IsString()
86
- @ApiProperty()
87
- originalMessage: string;
88
-
89
- @IsOptional()
90
- @IsBoolean()
91
- @ApiProperty()
92
- isEdited: boolean;
93
- }
@@ -1,71 +0,0 @@
1
- import { CommonEntity } from 'src/entities/common.entity'
2
- import { Entity, JoinColumn, ManyToOne, Index, Column } from 'typeorm';
3
- import { User } from 'src/entities/user.entity'
4
- import { getColumnType } from 'src/helpers/typeorm-db-helper';
5
-
6
- @Entity("ss_ai_interactions")
7
- export class AiInteraction extends CommonEntity {
8
- @Index()
9
- @ManyToOne(() => User, { nullable: true })
10
- @JoinColumn()
11
- user: User;
12
-
13
- @Index()
14
- @Column({ type: "varchar" })
15
- threadId: string;
16
-
17
- @Column({ type: "varchar" })
18
- role: string;
19
-
20
- @Column({ ...getColumnType('longText'), nullable: true })
21
- message: string;
22
-
23
- @Column({ type: "varchar", nullable: true })
24
- contentType: string;
25
-
26
- @Index()
27
- @Column({ type: "varchar", nullable: true })
28
- status: string;
29
-
30
- @Column({ nullable: true, ...getColumnType('longText') })
31
- errorMessage: string;
32
-
33
- @Column({ type: "varchar", nullable: true })
34
- modelUsed: string;
35
-
36
- @Column({ type: "integer", nullable: true })
37
- responseTimeMs: number;
38
-
39
- @Column({ type: "simple-json", nullable: true, ...getColumnType('simpleJsonLargeText') })
40
- metadata: any;
41
-
42
- @Column({ nullable: true, default: false })
43
- isApplied: boolean = false;
44
-
45
- @Index()
46
- @ManyToOne(() => AiInteraction, { nullable: true })
47
- @JoinColumn()
48
- parentInteraction: AiInteraction;
49
-
50
- @Index({ unique: true })
51
- @Column({ type: "varchar" })
52
- externalId: string;
53
-
54
- @Column({ nullable: true, default: false })
55
- isAutoApply: boolean = false;
56
-
57
- @Column({ type: "integer", nullable: true })
58
- inputTokens: number;
59
-
60
- @Column({ type: "integer", nullable: true })
61
- outputTokens: number;
62
-
63
- @Column({ type: "integer", nullable: true })
64
- totalTokens: number;
65
-
66
- @Column({ nullable: true, ...getColumnType('longText') })
67
- originalMessage: string;
68
-
69
- @Column({ nullable: true, default: false })
70
- isEdited: boolean = false;
71
- }
@@ -1,22 +0,0 @@
1
- import { Injectable } from "@nestjs/common";
2
- import { QueuesModuleOptions, TriggerMcpClientOptions } from "src/interfaces";
3
- import { MqMessageQueueService } from "src/services/mq-message-queue.service";
4
- import { MqMessageService } from "src/services/mq-message.service";
5
- import { DatabasePublisher } from "src/services/queues/database-publisher.service";
6
- import triggerMcpClientQueueOptions from "./trigger-mcp-client-queue-options";
7
-
8
- @Injectable()
9
- export class TriggerMcpClientPublisherDatabase extends DatabasePublisher<TriggerMcpClientOptions> {
10
- constructor(
11
- protected readonly mqMessageService: MqMessageService,
12
- protected readonly mqMessageQueueService: MqMessageQueueService,
13
- ) {
14
- super(mqMessageService, mqMessageQueueService);
15
- }
16
-
17
- options(): QueuesModuleOptions {
18
- return {
19
- ...triggerMcpClientQueueOptions
20
- };
21
- }
22
- }
@@ -1,9 +0,0 @@
1
- import { BrokerType } from "src/interfaces";
2
-
3
- const TRIGGER_MCP_CLIENT_QUEUE_NAME = 'solid_trigger_mcp_client_queue';
4
-
5
- export default {
6
- name: TRIGGER_MCP_CLIENT_QUEUE_NAME,
7
- type: BrokerType.Database,
8
- queueName: TRIGGER_MCP_CLIENT_QUEUE_NAME,
9
- };
@@ -1,278 +0,0 @@
1
- import { Injectable, Logger } from '@nestjs/common';
2
- import { ModelMetadataService } from '../../services/model-metadata.service';
3
- import { SolidRegistry } from 'src/helpers/solid-registry';
4
- import { QueueMessage } from 'src/interfaces/mq';
5
- import { AiInteractionService } from 'src/services/ai-interaction.service';
6
- import { ModuleMetadataService } from 'src/services/module-metadata.service';
7
- import { PollerService } from 'src/services/poller.service';
8
- import { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';
9
- import { McpResponse, QueuesModuleOptions, TriggerMcpClientOptions } from "../../interfaces";
10
- import { MqMessageQueueService } from '../../services/mq-message-queue.service';
11
- import { MqMessageService } from '../../services/mq-message.service';
12
- import triggerMcpClientQueueOptions from "./trigger-mcp-client-queue-options";
13
-
14
- @Injectable()
15
- export class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<TriggerMcpClientOptions> {
16
- private readonly triggerMcpClientSubscriberLogger = new Logger(TriggerMcpClientSubscriberDatabase.name);
17
-
18
- constructor(
19
- readonly mqMessageService: MqMessageService,
20
- readonly mqMessageQueueService: MqMessageQueueService,
21
- readonly poller: PollerService,
22
- readonly aiInteractionService: AiInteractionService,
23
- readonly moduleMetadataService: ModuleMetadataService,
24
- readonly modelMetadataService: ModelMetadataService,
25
- private readonly solidRegistry: SolidRegistry
26
-
27
- ) {
28
- super(mqMessageService, mqMessageQueueService, poller);
29
- }
30
-
31
- options(): QueuesModuleOptions {
32
- return {
33
- ...triggerMcpClientQueueOptions
34
- }
35
- }
36
-
37
- cleanNestedResponse(aiResponse: McpResponse) {
38
- let nestedResponse: any;
39
-
40
- try {
41
- let raw = aiResponse.response;
42
-
43
- if (typeof raw === "string") {
44
- raw = raw.trim();
45
- try {
46
- // Try to parse as JSON
47
- nestedResponse = JSON.parse(raw);
48
- } catch {
49
- // Not JSON, just keep as string
50
- nestedResponse = raw;
51
- }
52
- } else if (typeof raw === "object" && raw !== null) {
53
- // Already JSON
54
- nestedResponse = raw;
55
- } else {
56
- // Fallback
57
- nestedResponse = String(raw);
58
- }
59
- } catch (err: any) {
60
- this.triggerMcpClientSubscriberLogger.error("Error processing AI response:", err);
61
- nestedResponse = `Error handling response: ${err?.message || String(err)}`;
62
- }
63
-
64
- return nestedResponse;
65
- }
66
-
67
- async subscribe(message: QueueMessage<TriggerMcpClientOptions>) {
68
- this.triggerMcpClientSubscriberLogger.debug(`Received message: ${JSON.stringify(message)}`);
69
-
70
- const codeGnerationOptions = message.payload;
71
-
72
- const aiInteraction = await this.aiInteractionService.findOne(codeGnerationOptions.aiInteractionId, {
73
- populate: ['user']
74
- });
75
- if (!aiInteraction) {
76
- const m = `Unable to identified the aiInteraction entry that triggered this job... using id: ${codeGnerationOptions.aiInteractionId}`
77
- this.triggerMcpClientSubscriberLogger.log(m);
78
- throw new Error(m);
79
- }
80
-
81
- // The message contains the users prompt.
82
- const prompt = aiInteraction.message;
83
-
84
- // Use this to invoke our mcp client
85
- // TODO: try / catch ...
86
- // Handle the rejection gracefully...
87
-
88
- // We create the aiInteraction entry first
89
- const genAiInteraction = await this.aiInteractionService.create({
90
- userId: aiInteraction.user.id,
91
- threadId: aiInteraction.threadId,
92
- parentInteractionId: aiInteraction.id,
93
- role: 'gen-ai',
94
- message: '...', // Updated in the tool
95
- contentType: '', // Updated in the tool
96
- errorMessage: '', // Updated after we receive the response
97
- modelUsed: '', // Updated after we receive the response
98
- responseTimeMs: 0, // Updated after we receive the response
99
- metadata: '', // Updated in the tool
100
- isApplied: false, // Updated after we receive the response
101
- status: 'pending' // Updated after we receive the response
102
- });
103
-
104
- const existingComputationProviders = this.solidRegistry.getComputedFieldProviders();
105
-
106
- const { records: existingModules } = await this.moduleMetadataService.findMany({
107
- filters: {
108
- name: { $ne: 'solid-core' }
109
- },
110
- fields: ['id', 'name', 'displayName', 'description'],
111
- limit: 1000
112
- });
113
- const { records: existingModels } = await this.modelMetadataService.findMany({
114
- filters: {
115
- module: {
116
- name: {
117
- $ne: 'solid-core',
118
- }
119
- }
120
- },
121
- limit: 1000,
122
- populate: ['module']
123
- });
124
-
125
- const existingControllerAndTheirMethods = this.solidRegistry.getControllers();
126
-
127
-
128
-
129
- // Build markdown sections using template interpolation
130
- const modulesSection = (existingModules ?? [])
131
- .map(m => [
132
- `### ${m.displayName}`,
133
- `- name: ${m.name}`,
134
- `- description: ${m.description ?? ""}`,
135
- ].join('\n'))
136
- .join('\n\n');
137
-
138
- const modelsSection = (existingModels ?? [])
139
- .map(m => [
140
- `### ${m.displayName}`,
141
- `- singularName: ${m.singularName}`,
142
- `- description: ${m.description ?? ""}`,
143
- `- moduleName: ${m.module.name}`,
144
- ].join('\n'))
145
- .join('\n\n');
146
-
147
- const computationProvidersSection = (existingComputationProviders ?? [])
148
- .map(m => [
149
- `### ${m.instance.name()}`,
150
- `- name: ${m.instance.name()}`,
151
- `- description: ${m.instance.help() ?? ""}`,
152
- ].join('\n'))
153
- .join('\n\n');
154
-
155
- const controllersAndTheirMethods = (existingControllerAndTheirMethods ?? [])
156
- .map(m => [
157
- `### ${m.name}`,
158
- `- methods: ${m.methods.length ? m.methods.map(m => `- ${m}`).join('\n') : '- No methods found'}`,
159
- ].join('\n'))
160
- .join('\n\n');
161
-
162
-
163
-
164
- const finalPrompt = `
165
- # User Prompt:
166
- ${prompt}
167
-
168
- # System Instructions:
169
- - aiInteractionId: ${genAiInteraction.id}
170
- - You will be invoking tools if needed, hence you will have to choose the applicable tools based on the tool context given to you.
171
- - If a tool is invoked, you must return **exactly** the raw output from the tool, without any json envelopes, additional formatting, commentary, or text.
172
- - Do not wrap the result in quotes, JSON, or markdown fences.
173
- - Do not explain what the result means.
174
-
175
- # LISTS FOR REFERENCE AND VALIDATIONS
176
-
177
- ## LIST OF EXISTING MODULES
178
- Use the below list of modules to infer which module the user is referring to, .
179
-
180
- ${modulesSection}
181
-
182
- ## LIST OF EXISTING MODELS
183
- Use the below list of models to infer which model the user is referring to.
184
- You need to pull out the singularName for the model from the user prompt to match against the below list.
185
-
186
- ${modelsSection}
187
-
188
- ## LIST OF EXISTING COMPUTED FIELD PROVIDERS
189
- Use the below list of computed field providers to infer which provider the user is referring to.
190
-
191
- ${computationProvidersSection}
192
- `.trim();
193
-
194
- // ## LIST OF EXISTING CONTROLLERS AND THEIR METHODS
195
- // Use the below list of controllers and their methods to infer whether the api call being made to a particular controller exists or not.
196
-
197
- // ${controllersAndTheirMethods}
198
-
199
- const aiResponse = await this.aiInteractionService.runMcpPrompt(finalPrompt);
200
- this.triggerMcpClientSubscriberLogger.log(`aiResponse: `);
201
- this.triggerMcpClientSubscriberLogger.log(JSON.stringify(aiResponse));
202
-
203
- if (!aiResponse.success) {
204
- this.triggerMcpClientSubscriberLogger.log(`Gen ai has returned with a false status code`);
205
-
206
- const errorsStr = aiResponse.errors?.join('\n ');
207
- const errorTrace = aiResponse.error_trace?.join('\n');
208
-
209
- // await this.aiInteractionService.create({
210
- // userId: aiInteraction.user.id,
211
- // threadId: aiInteraction.threadId,
212
- // parentInteractionId: aiInteraction.id,
213
- // role: 'gen-ai',
214
- // message: '-',
215
- // contentType: aiResponse.content_type,
216
- // errorMessage: `${errorsStr}\n\n${errorTrace}`,
217
- // modelUsed: aiResponse.model,
218
- // responseTimeMs: aiResponse.duration_ms,
219
- // metadata: JSON.stringify(aiResponse, null, 2),
220
- // isApplied: aiInteraction.isApplied,
221
- // status: aiResponse.success ? 'succeeded' : 'failed'
222
- // });
223
-
224
- // TODO: Update the previously created genAiInteraction record with the respective error fields and save to DB
225
- await this.aiInteractionService.update(genAiInteraction.id, {
226
- contentType: aiResponse.content_type,
227
- errorMessage: `${errorsStr}\n\n${errorTrace}`,
228
- modelUsed: aiResponse.model,
229
- responseTimeMs: aiResponse.duration_ms,
230
- isApplied: aiInteraction.isApplied,
231
- status: aiResponse.success ? 'succeeded' : 'failed'
232
- }, [], true);
233
-
234
- // update the job entry with failure... raising an error will lead the job to be marked as failed...
235
- throw new Error(errorsStr);
236
- }
237
- else {
238
- let nestedResponse = this.cleanNestedResponse(aiResponse);
239
-
240
- // TODO: Update the previously created genAiInteraction record with the respective success fields and save to DB
241
- const errorsStr = nestedResponse?.status == "error" && nestedResponse?.errors.join('\n ');
242
- const errorTrace = nestedResponse?.status == "error" && nestedResponse?.error_trace?.join('\n');
243
-
244
- // const genAiInteraction = await this.aiInteractionService.create({
245
- // userId: aiInteraction.user.id,
246
- // threadId: aiInteraction.threadId,
247
- // parentInteractionId: aiInteraction.id,
248
- // role: 'gen-ai',
249
- // message: nestedResponse,
250
- // contentType: aiResponse.content_type,
251
- // errorMessage: `${errorsStr}\n\n${errorTrace}`,
252
- // modelUsed: aiResponse.model,
253
- // responseTimeMs: aiResponse.duration_ms,
254
- // metadata: JSON.stringify(aiResponse, null, 2),
255
- // isApplied: aiInteraction.isApplied,
256
- // status: aiResponse.success ? 'succeeded' : 'failed'
257
- // });
258
-
259
- await this.aiInteractionService.update(genAiInteraction.id, {
260
- errorMessage: nestedResponse.status == "error" ? `${errorsStr}\n\n${errorTrace}` : "",
261
- contentType: aiResponse.content_type,
262
- message: JSON.stringify(nestedResponse),
263
- modelUsed: aiResponse.model,
264
- responseTimeMs: aiResponse.duration_ms,
265
- metadata: JSON.stringify(aiResponse, null, 2),
266
- isApplied: aiInteraction.isApplied,
267
- status: aiResponse.success && nestedResponse.status == "success" ? 'succeeded' : 'failed'
268
- }, [], true);
269
-
270
- // If the human interaction was with isAutoApply=true, then we can go ahead and autoApply.
271
- if (aiInteraction.isAutoApply) {
272
- this.aiInteractionService.applySolidAiInteraction(genAiInteraction.id);
273
- }
274
- }
275
-
276
- return aiResponse;
277
- }
278
- }
@@ -1,22 +0,0 @@
1
- import { Injectable } from "@nestjs/common";
2
- import { QueuesModuleOptions, TriggerMcpClientOptions } from "../../interfaces";
3
- import { MqMessageQueueService } from "src/services/mq-message-queue.service";
4
- import { MqMessageService } from "src/services/mq-message.service";
5
- import { RabbitMqPublisher } from "src/services/queues/rabbitmq-publisher.service";
6
- import triggerMcpClientQueueOptions from "./trigger-mcp-client-queue-options";
7
-
8
- @Injectable()
9
- export class TriggerMcpClientPublisherRabbitmq extends RabbitMqPublisher<TriggerMcpClientOptions> {
10
- constructor(
11
- protected readonly mqMessageService: MqMessageService,
12
- protected readonly mqMessageQueueService: MqMessageQueueService,
13
- ) {
14
- super(mqMessageService, mqMessageQueueService);
15
- }
16
-
17
- options(): QueuesModuleOptions {
18
- return {
19
- ...triggerMcpClientQueueOptions
20
- };
21
- }
22
- }
@@ -1,9 +0,0 @@
1
- import { BrokerType } from "../../interfaces";
2
-
3
- const TRIGGER_MCP_CLIENT_QUEUE_NAME = 'solid_trigger_mcp_client_queue_rabbitmq';
4
-
5
- export default {
6
- name: TRIGGER_MCP_CLIENT_QUEUE_NAME,
7
- type: BrokerType.RabbitMQ,
8
- queueName: TRIGGER_MCP_CLIENT_QUEUE_NAME,
9
- };
@@ -1,104 +0,0 @@
1
- import { Injectable, Logger } from '@nestjs/common';
2
-
3
- import { QueueMessage } from 'src/interfaces/mq';
4
- import triggerMcpClientQueueOptions from "./trigger-mcp-client-queue-options";
5
- import { AiInteractionService } from 'src/services/ai-interaction.service';
6
- import { PollerService } from 'src/services/poller.service';
7
- import { TriggerMcpClientOptions, QueuesModuleOptions } from '../../interfaces';
8
- import { MqMessageQueueService } from 'src/services/mq-message-queue.service';
9
- import { MqMessageService } from 'src/services/mq-message.service';
10
- import { RabbitMqSubscriber } from 'src/services/queues/rabbitmq-subscriber.service';
11
-
12
- @Injectable()
13
- export class TriggerMcpClientSubscriberRabbitmq extends RabbitMqSubscriber<TriggerMcpClientOptions> {
14
- private readonly triggerMcpClientSubscriberLogger = new Logger(TriggerMcpClientSubscriberRabbitmq.name);
15
-
16
- constructor(
17
- readonly mqMessageService: MqMessageService,
18
- readonly mqMessageQueueService: MqMessageQueueService,
19
- readonly poller: PollerService,
20
- readonly aiInteractionService: AiInteractionService,
21
- ) {
22
- super(mqMessageService, mqMessageQueueService);
23
- }
24
-
25
- options(): QueuesModuleOptions {
26
- return {
27
- ...triggerMcpClientQueueOptions
28
- }
29
- }
30
-
31
- async subscribe(message: QueueMessage<TriggerMcpClientOptions>) {
32
- this.triggerMcpClientSubscriberLogger.debug(`Received message: ${JSON.stringify(message)}`);
33
-
34
- const codeGnerationOptions = message.payload;
35
-
36
- const aiInteraction = await this.aiInteractionService.findOne(codeGnerationOptions.aiInteractionId, {
37
- populate: ['user']
38
- });
39
- if (!aiInteraction) {
40
- const m = `Unable to identified the aiInteraction entry that triggered this job... using id: ${codeGnerationOptions.aiInteractionId}`
41
- this.triggerMcpClientSubscriberLogger.log(m);
42
- throw new Error(m);
43
- }
44
-
45
- // The message contains the users prompt.
46
- const prompt = aiInteraction.message;
47
-
48
- // Use this to invoke our mcp client
49
- // TODO: try / catch ...
50
- // Handle the rejection gracefully...
51
- const aiResponse = await this.aiInteractionService.runMcpPrompt(prompt);
52
- this.triggerMcpClientSubscriberLogger.log(`aiResponse: `);
53
- this.triggerMcpClientSubscriberLogger.log(JSON.stringify(aiResponse));
54
-
55
- if (!aiResponse.success) {
56
- this.triggerMcpClientSubscriberLogger.log(`Gen ai has returned with a false status code`);
57
-
58
- const errorsStr = aiResponse.errors.join('; ');
59
-
60
- await this.aiInteractionService.create({
61
- userId: aiInteraction.user.id,
62
- threadId: aiInteraction.threadId,
63
- parentInteractionId: aiInteraction.id,
64
- role: 'gen-ai',
65
- message: '-',
66
- contentType: aiResponse.content_type,
67
- errorMessage: errorsStr,
68
- modelUsed: aiResponse.model,
69
- responseTimeMs: aiResponse.duration_ms,
70
- metadata: JSON.stringify(aiResponse),
71
- isApplied: aiInteraction.isApplied,
72
- status: aiResponse.success ? 'succeeded' : 'failed'
73
- });
74
-
75
- // update the job entry with failure... raising an error will lead the job to be marked as failed...
76
- throw new Error(errorsStr);
77
- }
78
- else {
79
- let nestedResponse = aiResponse.response.trim();
80
-
81
- const genAiInteraction = await this.aiInteractionService.create({
82
- userId: aiInteraction.user.id,
83
- threadId: aiInteraction.threadId,
84
- parentInteractionId: aiInteraction.id,
85
- role: 'gen-ai',
86
- message: nestedResponse,
87
- contentType: aiResponse.content_type,
88
- errorMessage: '',
89
- modelUsed: aiResponse.model,
90
- responseTimeMs: aiResponse.duration_ms,
91
- metadata: JSON.stringify(aiResponse),
92
- isApplied: aiInteraction.isApplied,
93
- status: aiResponse.success ? 'succeeded' : 'failed'
94
- });
95
-
96
- // If the human interaction was with isAutoApply=true, then we can go ahead and autoApply.
97
- if (aiInteraction.isAutoApply) {
98
- this.aiInteractionService.applySolidAiInteraction(genAiInteraction.id);
99
- }
100
- }
101
-
102
- return aiResponse;
103
- }
104
- }
@@ -1,23 +0,0 @@
1
- import { Injectable } from '@nestjs/common';
2
-
3
- import { RedisPublisher } from 'src/services/queues/redis-publisher.service';
4
- import triggerMcpClientQueueConfig from './trigger-mcp-client-queue-options-redis';
5
- import { MqMessageQueueService } from '../../services/mq-message-queue.service';
6
- import { MqMessageService } from '../../services/mq-message.service';
7
- import { TriggerMcpClientOptions, QueuesModuleOptions } from "../../interfaces";
8
-
9
- @Injectable()
10
- export class TriggerMcpClientPublisherRedis extends RedisPublisher<TriggerMcpClientOptions> {
11
- constructor(
12
- protected readonly mqMessageService: MqMessageService,
13
- protected readonly mqMessageQueueService: MqMessageQueueService,
14
- ) {
15
- super(mqMessageService, mqMessageQueueService);
16
- }
17
-
18
- options(): QueuesModuleOptions {
19
- return {
20
- ...triggerMcpClientQueueConfig
21
- }
22
- }
23
- }
@@ -1,9 +0,0 @@
1
- import { BrokerType } from "../../interfaces";
2
-
3
- const QUEUE_NAME = 'solid_trigger_mcp_client_queue_redis';
4
-
5
- export default {
6
- name: QUEUE_NAME,
7
- type: BrokerType.Redis,
8
- queueName: QUEUE_NAME,
9
- };