@solidstarters/solid-core 1.2.192 → 1.2.200

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 (376) hide show
  1. package/dist/commands/mcp.command.d.ts +20 -0
  2. package/dist/commands/mcp.command.d.ts.map +1 -0
  3. package/dist/commands/mcp.command.js +208 -0
  4. package/dist/commands/mcp.command.js.map +1 -0
  5. package/dist/commands/refresh-model.command.d.ts +8 -5
  6. package/dist/commands/refresh-model.command.d.ts.map +1 -1
  7. package/dist/commands/refresh-model.command.js +32 -0
  8. package/dist/commands/refresh-model.command.js.map +1 -1
  9. package/dist/commands/remove-fields.command.js +1 -1
  10. package/dist/commands/remove-fields.command.js.map +1 -1
  11. package/dist/commands/seed.command.d.ts +2 -0
  12. package/dist/commands/seed.command.d.ts.map +1 -1
  13. package/dist/commands/seed.command.js +28 -1
  14. package/dist/commands/seed.command.js.map +1 -1
  15. package/dist/controllers/authentication.controller.js +1 -1
  16. package/dist/controllers/authentication.controller.js.map +1 -1
  17. package/dist/controllers/email-template.controller.js +1 -1
  18. package/dist/controllers/email-template.controller.js.map +1 -1
  19. package/dist/controllers/field-metadata.controller.d.ts +136 -4
  20. package/dist/controllers/field-metadata.controller.d.ts.map +1 -1
  21. package/dist/controllers/field-metadata.controller.js +14 -1
  22. package/dist/controllers/field-metadata.controller.js.map +1 -1
  23. package/dist/controllers/media-storage-provider-metadata.controller.js +1 -1
  24. package/dist/controllers/media-storage-provider-metadata.controller.js.map +1 -1
  25. package/dist/controllers/model-metadata.controller.js +1 -1
  26. package/dist/controllers/model-metadata.controller.js.map +1 -1
  27. package/dist/controllers/module-metadata.controller.js +1 -1
  28. package/dist/controllers/module-metadata.controller.js.map +1 -1
  29. package/dist/controllers/otp-authentication.controller.js +1 -1
  30. package/dist/controllers/otp-authentication.controller.js.map +1 -1
  31. package/dist/controllers/service.controller.js +1 -1
  32. package/dist/controllers/service.controller.js.map +1 -1
  33. package/dist/controllers/sms-template.controller.js +1 -1
  34. package/dist/controllers/sms-template.controller.js.map +1 -1
  35. package/dist/controllers/test-queue.controller.js +1 -1
  36. package/dist/controllers/test-queue.controller.js.map +1 -1
  37. package/dist/controllers/test.controller.js +1 -1
  38. package/dist/controllers/test.controller.js.map +1 -1
  39. package/dist/dtos/create-ai-interaction.dto.d.ts +2 -0
  40. package/dist/dtos/create-ai-interaction.dto.d.ts.map +1 -1
  41. package/dist/dtos/create-ai-interaction.dto.js +14 -1
  42. package/dist/dtos/create-ai-interaction.dto.js.map +1 -1
  43. package/dist/dtos/create-field-metadata.dto.d.ts +22 -5
  44. package/dist/dtos/create-field-metadata.dto.d.ts.map +1 -1
  45. package/dist/dtos/create-field-metadata.dto.js +33 -7
  46. package/dist/dtos/create-field-metadata.dto.js.map +1 -1
  47. package/dist/dtos/create-import-transaction.dto.d.ts +0 -1
  48. package/dist/dtos/create-import-transaction.dto.d.ts.map +1 -1
  49. package/dist/dtos/create-import-transaction.dto.js +1 -7
  50. package/dist/dtos/create-import-transaction.dto.js.map +1 -1
  51. package/dist/dtos/create-model-metadata.dto.d.ts +2 -0
  52. package/dist/dtos/create-model-metadata.dto.d.ts.map +1 -1
  53. package/dist/dtos/create-model-metadata.dto.js +13 -1
  54. package/dist/dtos/create-model-metadata.dto.js.map +1 -1
  55. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  56. package/dist/dtos/create-role-metadata.dto.js +5 -1
  57. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  58. package/dist/dtos/resolve-s3-url.dto.d.ts +10 -0
  59. package/dist/dtos/resolve-s3-url.dto.d.ts.map +1 -0
  60. package/dist/dtos/resolve-s3-url.dto.js +49 -0
  61. package/dist/dtos/resolve-s3-url.dto.js.map +1 -0
  62. package/dist/dtos/update-ai-interaction.dto.d.ts +2 -0
  63. package/dist/dtos/update-ai-interaction.dto.d.ts.map +1 -1
  64. package/dist/dtos/update-ai-interaction.dto.js +13 -1
  65. package/dist/dtos/update-ai-interaction.dto.js.map +1 -1
  66. package/dist/dtos/update-field-metadata.dto.d.ts.map +1 -1
  67. package/dist/dtos/update-field-metadata.dto.js.map +1 -1
  68. package/dist/dtos/update-import-transaction.dto.d.ts +0 -1
  69. package/dist/dtos/update-import-transaction.dto.d.ts.map +1 -1
  70. package/dist/dtos/update-import-transaction.dto.js +1 -7
  71. package/dist/dtos/update-import-transaction.dto.js.map +1 -1
  72. package/dist/entities/action-metadata.entity.js +4 -4
  73. package/dist/entities/action-metadata.entity.js.map +1 -1
  74. package/dist/entities/ai-interaction.entity.d.ts +2 -0
  75. package/dist/entities/ai-interaction.entity.d.ts.map +1 -1
  76. package/dist/entities/ai-interaction.entity.js +15 -6
  77. package/dist/entities/ai-interaction.entity.js.map +1 -1
  78. package/dist/entities/chatter-message-details.entity.d.ts.map +1 -1
  79. package/dist/entities/chatter-message-details.entity.js +1 -1
  80. package/dist/entities/chatter-message-details.entity.js.map +1 -1
  81. package/dist/entities/chatter-message.entity.js +1 -1
  82. package/dist/entities/chatter-message.entity.js.map +1 -1
  83. package/dist/entities/common.entity.d.ts +2 -3
  84. package/dist/entities/common.entity.d.ts.map +1 -1
  85. package/dist/entities/common.entity.js +9 -11
  86. package/dist/entities/common.entity.js.map +1 -1
  87. package/dist/entities/dashboard-question-sql-dataset-config.entity.js +2 -2
  88. package/dist/entities/dashboard-question-sql-dataset-config.entity.js.map +1 -1
  89. package/dist/entities/dashboard-question.entity.js +3 -3
  90. package/dist/entities/dashboard-question.entity.js.map +1 -1
  91. package/dist/entities/dashboard-variable.entity.js +3 -3
  92. package/dist/entities/dashboard-variable.entity.js.map +1 -1
  93. package/dist/entities/dashboard.entity.js +1 -1
  94. package/dist/entities/dashboard.entity.js.map +1 -1
  95. package/dist/entities/email-template.entity.d.ts.map +1 -1
  96. package/dist/entities/email-template.entity.js +4 -3
  97. package/dist/entities/email-template.entity.js.map +1 -1
  98. package/dist/entities/export-template.entity.js +2 -2
  99. package/dist/entities/export-template.entity.js.map +1 -1
  100. package/dist/entities/export-transaction.entity.js +2 -2
  101. package/dist/entities/export-transaction.entity.js.map +1 -1
  102. package/dist/entities/field-metadata.entity.d.ts +1 -0
  103. package/dist/entities/field-metadata.entity.d.ts.map +1 -1
  104. package/dist/entities/field-metadata.entity.js +8 -4
  105. package/dist/entities/field-metadata.entity.js.map +1 -1
  106. package/dist/entities/import-transaction-error-log.entity.js +1 -1
  107. package/dist/entities/import-transaction-error-log.entity.js.map +1 -1
  108. package/dist/entities/import-transaction.entity.d.ts +0 -1
  109. package/dist/entities/import-transaction.entity.d.ts.map +1 -1
  110. package/dist/entities/import-transaction.entity.js +2 -7
  111. package/dist/entities/import-transaction.entity.js.map +1 -1
  112. package/dist/entities/legacy-common-with-id.entity.d.ts +5 -0
  113. package/dist/entities/legacy-common-with-id.entity.d.ts.map +1 -0
  114. package/dist/entities/legacy-common-with-id.entity.js +32 -0
  115. package/dist/entities/legacy-common-with-id.entity.js.map +1 -0
  116. package/dist/entities/legacy-common.entity.d.ts +13 -0
  117. package/dist/entities/legacy-common.entity.d.ts.map +1 -0
  118. package/dist/entities/legacy-common.entity.js +67 -0
  119. package/dist/entities/legacy-common.entity.js.map +1 -0
  120. package/dist/entities/list-of-values.entity.js +2 -2
  121. package/dist/entities/list-of-values.entity.js.map +1 -1
  122. package/dist/entities/locale.entity.js +1 -1
  123. package/dist/entities/locale.entity.js.map +1 -1
  124. package/dist/entities/media.entity.d.ts.map +1 -1
  125. package/dist/entities/media.entity.js +3 -3
  126. package/dist/entities/media.entity.js.map +1 -1
  127. package/dist/entities/menu-item-metadata.entity.js +4 -4
  128. package/dist/entities/menu-item-metadata.entity.js.map +1 -1
  129. package/dist/entities/model-metadata.entity.d.ts +2 -0
  130. package/dist/entities/model-metadata.entity.d.ts.map +1 -1
  131. package/dist/entities/model-metadata.entity.js +11 -3
  132. package/dist/entities/model-metadata.entity.js.map +1 -1
  133. package/dist/entities/mq-message-queue.entity.js +1 -1
  134. package/dist/entities/mq-message-queue.entity.js.map +1 -1
  135. package/dist/entities/mq-message.entity.d.ts +3 -3
  136. package/dist/entities/mq-message.entity.d.ts.map +1 -1
  137. package/dist/entities/mq-message.entity.js +10 -10
  138. package/dist/entities/mq-message.entity.js.map +1 -1
  139. package/dist/entities/saved-filters.entity.js +4 -4
  140. package/dist/entities/saved-filters.entity.js.map +1 -1
  141. package/dist/entities/scheduled-job.entity.js +4 -4
  142. package/dist/entities/scheduled-job.entity.js.map +1 -1
  143. package/dist/entities/security-rule.entity.js +2 -2
  144. package/dist/entities/security-rule.entity.js.map +1 -1
  145. package/dist/entities/setting.entity.js +2 -2
  146. package/dist/entities/setting.entity.js.map +1 -1
  147. package/dist/entities/sms-template.entity.js +2 -2
  148. package/dist/entities/sms-template.entity.js.map +1 -1
  149. package/dist/entities/user-activity-history.entity.d.ts.map +1 -1
  150. package/dist/entities/user-activity-history.entity.js +1 -1
  151. package/dist/entities/user-activity-history.entity.js.map +1 -1
  152. package/dist/entities/user-view-metadata.entity.js +2 -2
  153. package/dist/entities/user-view-metadata.entity.js.map +1 -1
  154. package/dist/entities/user.entity.js +13 -15
  155. package/dist/entities/user.entity.js.map +1 -1
  156. package/dist/entities/view-metadata.entity.js +3 -3
  157. package/dist/entities/view-metadata.entity.js.map +1 -1
  158. package/dist/helpers/date.helper.d.ts +1 -1
  159. package/dist/helpers/date.helper.d.ts.map +1 -1
  160. package/dist/helpers/date.helper.js +24 -2
  161. package/dist/helpers/date.helper.js.map +1 -1
  162. package/dist/helpers/model-metadata-helper.service.d.ts +4 -1
  163. package/dist/helpers/model-metadata-helper.service.d.ts.map +1 -1
  164. package/dist/helpers/model-metadata-helper.service.js +48 -30
  165. package/dist/helpers/model-metadata-helper.service.js.map +1 -1
  166. package/dist/helpers/module.helper.d.ts.map +1 -1
  167. package/dist/helpers/module.helper.js +1 -3
  168. package/dist/helpers/module.helper.js.map +1 -1
  169. package/dist/helpers/schematic.service.d.ts +9 -3
  170. package/dist/helpers/schematic.service.d.ts.map +1 -1
  171. package/dist/helpers/schematic.service.js +49 -32
  172. package/dist/helpers/schematic.service.js.map +1 -1
  173. package/dist/helpers/solid-registry.d.ts +3 -2
  174. package/dist/helpers/solid-registry.d.ts.map +1 -1
  175. package/dist/helpers/solid-registry.js +10 -0
  176. package/dist/helpers/solid-registry.js.map +1 -1
  177. package/dist/helpers/typeorm-db-helper.d.ts +3 -0
  178. package/dist/helpers/typeorm-db-helper.d.ts.map +1 -0
  179. package/dist/helpers/typeorm-db-helper.js +24 -0
  180. package/dist/helpers/typeorm-db-helper.js.map +1 -0
  181. package/dist/index.d.ts +5 -1
  182. package/dist/index.d.ts.map +1 -1
  183. package/dist/index.js +5 -1
  184. package/dist/index.js.map +1 -1
  185. package/dist/interfaces.d.ts +3 -0
  186. package/dist/interfaces.d.ts.map +1 -1
  187. package/dist/interfaces.js.map +1 -1
  188. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -1
  189. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +6 -1
  190. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
  191. package/dist/seeders/module-metadata-seeder.service.d.ts +1 -1
  192. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  193. package/dist/seeders/module-metadata-seeder.service.js +39 -17
  194. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  195. package/dist/seeders/seed-data/solid-core-metadata.json +53 -468
  196. package/dist/seeders/system-fields-seeder.service.d.ts.map +1 -1
  197. package/dist/seeders/system-fields-seeder.service.js +1 -1
  198. package/dist/seeders/system-fields-seeder.service.js.map +1 -1
  199. package/dist/services/ai-interaction.service.js +1 -1
  200. package/dist/services/ai-interaction.service.js.map +1 -1
  201. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.d.ts.map +1 -1
  202. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js +6 -4
  203. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js.map +1 -1
  204. package/dist/services/crud-helper.service.d.ts +8 -0
  205. package/dist/services/crud-helper.service.d.ts.map +1 -1
  206. package/dist/services/crud-helper.service.js +28 -5
  207. package/dist/services/crud-helper.service.js.map +1 -1
  208. package/dist/services/crud.service.d.ts +4 -1
  209. package/dist/services/crud.service.d.ts.map +1 -1
  210. package/dist/services/crud.service.js +87 -7
  211. package/dist/services/crud.service.js.map +1 -1
  212. package/dist/services/field-metadata.service.d.ts +143 -6
  213. package/dist/services/field-metadata.service.d.ts.map +1 -1
  214. package/dist/services/field-metadata.service.js +211 -56
  215. package/dist/services/field-metadata.service.js.map +1 -1
  216. package/dist/services/menu-item-metadata.service.d.ts +3 -1
  217. package/dist/services/menu-item-metadata.service.d.ts.map +1 -1
  218. package/dist/services/menu-item-metadata.service.js +31 -11
  219. package/dist/services/menu-item-metadata.service.js.map +1 -1
  220. package/dist/services/model-metadata.service.d.ts.map +1 -1
  221. package/dist/services/model-metadata.service.js +14 -3
  222. package/dist/services/model-metadata.service.js.map +1 -1
  223. package/dist/services/mq-message.service.d.ts.map +1 -1
  224. package/dist/services/mq-message.service.js +3 -4
  225. package/dist/services/mq-message.service.js.map +1 -1
  226. package/dist/services/queues/publisher-factory.service.d.ts.map +1 -1
  227. package/dist/services/queues/publisher-factory.service.js +4 -0
  228. package/dist/services/queues/publisher-factory.service.js.map +1 -1
  229. package/dist/{providers → services/selection-providers}/list-of-values-selection-providers.service.d.ts +2 -2
  230. package/dist/services/selection-providers/list-of-values-selection-providers.service.d.ts.map +1 -0
  231. package/dist/{providers → services/selection-providers}/list-of-values-selection-providers.service.js +3 -3
  232. package/dist/services/selection-providers/list-of-values-selection-providers.service.js.map +1 -0
  233. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.d.ts +20 -0
  234. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.d.ts.map +1 -0
  235. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js +87 -0
  236. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js.map +1 -0
  237. package/dist/services/setting.service.d.ts.map +1 -1
  238. package/dist/services/setting.service.js +2 -1
  239. package/dist/services/setting.service.js.map +1 -1
  240. package/dist/services/solid-introspect.service.d.ts +19 -3
  241. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  242. package/dist/services/solid-introspect.service.js +83 -11
  243. package/dist/services/solid-introspect.service.js.map +1 -1
  244. package/dist/services/view-metadata.service.d.ts +3 -1
  245. package/dist/services/view-metadata.service.d.ts.map +1 -1
  246. package/dist/services/view-metadata.service.js +31 -5
  247. package/dist/services/view-metadata.service.js.map +1 -1
  248. package/dist/solid-core.module.d.ts.map +1 -1
  249. package/dist/solid-core.module.js +5 -1
  250. package/dist/solid-core.module.js.map +1 -1
  251. package/dist/subscribers/audit.subscriber.d.ts +3 -2
  252. package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
  253. package/dist/subscribers/audit.subscriber.js +6 -12
  254. package/dist/subscribers/audit.subscriber.js.map +1 -1
  255. package/dist/subscribers/computed-entity-field.subscriber.d.ts +3 -2
  256. package/dist/subscribers/computed-entity-field.subscriber.d.ts.map +1 -1
  257. package/dist/subscribers/computed-entity-field.subscriber.js +7 -9
  258. package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
  259. package/dist/subscribers/created-by-updated-by.subscriber.d.ts +4 -2
  260. package/dist/subscribers/created-by-updated-by.subscriber.d.ts.map +1 -1
  261. package/dist/subscribers/created-by-updated-by.subscriber.js +10 -8
  262. package/dist/subscribers/created-by-updated-by.subscriber.js.map +1 -1
  263. package/dist/subscribers/field-metadata.subscriber.d.ts.map +1 -1
  264. package/dist/subscribers/field-metadata.subscriber.js +0 -1
  265. package/dist/subscribers/field-metadata.subscriber.js.map +1 -1
  266. package/dist/subscribers/model-metadata.subscriber.d.ts.map +1 -1
  267. package/dist/subscribers/model-metadata.subscriber.js +3 -2
  268. package/dist/subscribers/model-metadata.subscriber.js.map +1 -1
  269. package/dist/subscribers/soft-delete-aware-event.subscriber.d.ts +3 -2
  270. package/dist/subscribers/soft-delete-aware-event.subscriber.d.ts.map +1 -1
  271. package/dist/subscribers/soft-delete-aware-event.subscriber.js +6 -11
  272. package/dist/subscribers/soft-delete-aware-event.subscriber.js.map +1 -1
  273. package/dist/tsconfig.tsbuildinfo +1 -1
  274. package/package.json +1 -1
  275. package/sql/mssql/proc_CleanupModelMetadata.sql +175 -0
  276. package/sql/mssql/proc_CleanupModuleMetadata.sql +78 -0
  277. package/sql/mssql/scratchpad.sql +10 -0
  278. package/sql/postgres/proc_CleanupModelMetadata.sql +148 -0
  279. package/sql/postgres/proc_CleanupModuleMetadata.sql +50 -0
  280. package/sql/postgres/scratchpad.sql +12 -0
  281. package/sql-server-changes.txt +88 -0
  282. package/src/commands/mcp.command.ts +215 -0
  283. package/src/commands/refresh-model.command.ts +37 -5
  284. package/src/commands/remove-fields.command.ts +1 -1
  285. package/src/commands/seed.command.ts +34 -15
  286. package/src/controllers/authentication.controller.ts +1 -1
  287. package/src/controllers/email-template.controller.ts +1 -1
  288. package/src/controllers/field-metadata.controller.ts +7 -1
  289. package/src/controllers/media-storage-provider-metadata.controller.ts +1 -1
  290. package/src/controllers/model-metadata.controller.ts +1 -1
  291. package/src/controllers/module-metadata.controller.ts +1 -1
  292. package/src/controllers/otp-authentication.controller.ts +1 -1
  293. package/src/controllers/service.controller.ts +1 -1
  294. package/src/controllers/sms-template.controller.ts +1 -1
  295. package/src/controllers/test-queue.controller.ts +1 -1
  296. package/src/controllers/test.controller.ts +1 -1
  297. package/src/dtos/create-ai-interaction.dto.ts +16 -9
  298. package/src/dtos/create-field-metadata.dto.ts +42 -12
  299. package/src/dtos/create-import-transaction.dto.ts +0 -4
  300. package/src/dtos/create-model-metadata.dto.ts +10 -0
  301. package/src/dtos/create-role-metadata.dto.ts +8 -2
  302. package/src/dtos/resolve-s3-url.dto.ts +33 -0
  303. package/src/dtos/update-ai-interaction.dto.ts +16 -9
  304. package/src/dtos/update-field-metadata.dto.ts +1 -2
  305. package/src/dtos/update-import-transaction.dto.ts +0 -4
  306. package/src/entities/action-metadata.entity.ts +4 -4
  307. package/src/entities/ai-interaction.entity.ts +16 -12
  308. package/src/entities/chatter-message-details.entity.ts +18 -18
  309. package/src/entities/chatter-message.entity.ts +2 -2
  310. package/src/entities/common.entity.ts +19 -10
  311. package/src/entities/dashboard-question-sql-dataset-config.entity.ts +2 -2
  312. package/src/entities/dashboard-question.entity.ts +3 -3
  313. package/src/entities/dashboard-variable.entity.ts +3 -3
  314. package/src/entities/dashboard.entity.ts +1 -1
  315. package/src/entities/email-template.entity.ts +4 -3
  316. package/src/entities/export-template.entity.ts +2 -2
  317. package/src/entities/export-transaction.entity.ts +2 -2
  318. package/src/entities/field-metadata.entity.ts +6 -3
  319. package/src/entities/import-transaction-error-log.entity.ts +2 -2
  320. package/src/entities/import-transaction.entity.ts +2 -5
  321. package/src/entities/legacy-common-with-id.entity.ts +11 -0
  322. package/src/entities/legacy-common.entity.ts +57 -0
  323. package/src/entities/list-of-values.entity.ts +2 -2
  324. package/src/entities/locale.entity.ts +1 -1
  325. package/src/entities/media.entity.ts +25 -25
  326. package/src/entities/menu-item-metadata.entity.ts +4 -4
  327. package/src/entities/model-metadata.entity.ts +9 -2
  328. package/src/entities/mq-message-queue.entity.ts +1 -1
  329. package/src/entities/mq-message.entity.ts +34 -34
  330. package/src/entities/saved-filters.entity.ts +5 -5
  331. package/src/entities/scheduled-job.entity.ts +4 -4
  332. package/src/entities/security-rule.entity.ts +2 -2
  333. package/src/entities/setting.entity.ts +2 -2
  334. package/src/entities/sms-template.entity.ts +2 -2
  335. package/src/entities/user-activity-history.entity.ts +14 -14
  336. package/src/entities/user-view-metadata.entity.ts +2 -2
  337. package/src/entities/user.entity.ts +15 -15
  338. package/src/entities/view-metadata.entity.ts +3 -3
  339. package/src/helpers/date.helper.ts +31 -10
  340. package/src/helpers/model-metadata-helper.service.ts +63 -32
  341. package/src/helpers/module.helper.ts +4 -3
  342. package/src/helpers/schematic.service.ts +72 -46
  343. package/src/helpers/solid-registry.ts +14 -2
  344. package/src/helpers/typeorm-db-helper.ts +26 -0
  345. package/src/index.ts +5 -1
  346. package/src/interfaces.ts +3 -0
  347. package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +17 -21
  348. package/src/seeders/module-metadata-seeder.service.ts +73 -29
  349. package/src/seeders/seed-data/solid-core-metadata.json +55 -470
  350. package/src/seeders/system-fields-seeder.service.ts +34 -35
  351. package/src/services/ai-interaction.service.ts +1 -1
  352. package/src/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.ts +13 -9
  353. package/src/services/crud-helper.service.ts +32 -4
  354. package/src/services/crud.service.ts +158 -10
  355. package/src/services/field-metadata.service.ts +272 -67
  356. package/src/services/menu-item-metadata.service.ts +81 -50
  357. package/src/services/model-metadata.service.ts +18 -3
  358. package/src/services/mq-message.service.ts +16 -15
  359. package/src/services/queues/publisher-factory.service.ts +2 -1
  360. package/src/{providers → services/selection-providers}/list-of-values-selection-providers.service.ts +2 -2
  361. package/src/services/selection-providers/pseudo-foreign-key-selection-provider.service.ts +94 -0
  362. package/src/services/setting.service.ts +13 -10
  363. package/src/services/solid-introspect.service.ts +110 -10
  364. package/src/services/view-metadata.service.ts +48 -18
  365. package/src/solid-core.module.ts +5 -1
  366. package/src/subscribers/audit.subscriber.ts +12 -8
  367. package/src/subscribers/computed-entity-field.subscriber.ts +13 -7
  368. package/src/subscribers/created-by-updated-by.subscriber.ts +14 -8
  369. package/src/subscribers/field-metadata.subscriber.ts +1 -1
  370. package/src/subscribers/model-metadata.subscriber.ts +4 -2
  371. package/src/subscribers/soft-delete-aware-event.subscriber.ts +12 -6
  372. package/dist/providers/list-of-values-selection-providers.service.d.ts.map +0 -1
  373. package/dist/providers/list-of-values-selection-providers.service.js.map +0 -1
  374. package/src/commands/ingest-rag-chunking-strategy-for.md +0 -224
  375. package/src/entities/user.entity.ts.bkp +0 -144
  376. package/src/services/docker exec -it mssql //" +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AA6JA,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,gDAAmC,CAAA;AACrC,CAAC,EAFW,SAAS,yBAAT,SAAS,QAEpB;AAED,MAAa,YAAY;IACvB,YACS,IAAS,EACT,OAAU;QADV,SAAI,GAAJ,IAAI,CAAK;QACT,YAAO,GAAP,OAAO,CAAG;IACf,CAAC;CACN;AALD,oCAKC;AAmED,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,mCAAqB,CAAA;IACrB,mCAAqB,CAAA;AACvB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB","sourcesContent":["import { CreateEmailTemplateDto } from 'src/dtos/create-email-template.dto';\nimport { CreateSmsTemplateDto } from 'src/dtos/create-sms-template.dto';\nimport { SignUpDto } from 'src/dtos/sign-up.dto';\nimport { Readable } from 'stream';\nimport { CreateMediaStorageProviderMetadataDto } from './dtos/create-media-storage-provider-metadata.dto';\nimport { DatasourceType } from './dtos/create-model-metadata.dto';\nimport { CreateModuleMetadataDto } from './dtos/create-module-metadata.dto';\nimport { CreateRoleMetadataDto } from './dtos/create-role-metadata.dto';\nimport { CreateSecurityRuleDto } from './dtos/create-security-rule.dto';\nimport { FieldMetadata } from './entities/field-metadata.entity';\nimport { Media } from './entities/media.entity';\nimport { DashboardQuestion } from './entities/dashboard-question.entity';\nimport { ComputedFieldMetadata } from './helpers/solid-registry';\nimport { SqlExpression } from './services/question-data-providers/chartjs-sql-data-provider.service';\nimport { CreateDashboardDto } from './dtos/create-dashboard.dto';\nimport { AiInteraction } from './entities/ai-interaction.entity';\nimport { ActiveUserData } from './interfaces/active-user-data.interface';\nimport { SecurityRuleConfig } from './dtos/security-rule-config.dto';\nimport { SecurityRule } from './entities/security-rule.entity';\n\nexport interface FieldCrudManager {\n // fieldMetadata: FieldMetadata;\n // entityManager?: EntityManager;\n // createDto: any;\n // files : Array<Express.Multer.File>;\n validate(\n dto: any,\n files: Array<Express.Multer.File>,\n ): ValidationError[] | Promise<ValidationError[]>;\n transformForCreate(dto: any, ctxt?: any): any | Promise<any>;\n}\n\nexport interface ValidationError {\n field: string;\n error: string;\n}\n\n// export interface MediaStorage\nexport interface MediaStorageProvider<T> {\n store(files: Express.Multer.File[], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]>;\n delete(entity: T, mediaFieldMetadata: FieldMetadata): Promise<void>;\n retrieve(entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]>;\n storeStreams(streamPairs: [Readable, string][], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]>;\n // delete(file: string): Promise<void>;\n}\n\nexport interface ModuleMetadataConfiguration {\n moduleMetadata?: CreateModuleMetadataDto,\n roles?: CreateRoleMetadataDto[],\n users?: SignUpDto[],\n actions?: any[],\n menus?: any[],\n views?: any[],\n emailTemplates?: CreateEmailTemplateDto[],\n smsTemplates?: CreateSmsTemplateDto[],\n mediaStorageProviders?: CreateMediaStorageProviderMetadataDto[]\n securityRules?: CreateSecurityRuleDto[],\n dashboards?: CreateDashboardDto[],\n}\n\nexport interface CodeGenerationOptions {\n moduleId?: number;\n moduleUserKey?: string;\n modelId?: number;\n modelUserKey?: string;\n fieldIdsForRemoval?: number[];\n dryRun?: boolean;\n}\n\nexport interface TriggerMcpClientOptions {\n aiInteractionId: number;\n moduleName: string;\n}\n\nexport interface McpResponse {\n success: boolean;\n request: string;\n response: string;\n model?: string;\n tools_invoked?: string[];\n tool_calls?: any[];\n duration_ms?: number;\n errors?: string[];\n error_trace?: string[];\n content_type?: string;\n}\n\nexport interface ISelectionProviderContext {\n limit: number;\n offset: number;\n formValues: Record<string, any>;\n // query: string;\n}\n\nexport interface ISelectionProviderValues {\n label: string;\n value: string;\n}\n\nexport interface ISelectionProvider<T extends ISelectionProviderContext> {\n help(): string;\n\n name(): string;\n\n value(optionValue: string, ctxt: T): Promise<ISelectionProviderValues | any>;\n\n values(query: any, ctxt: T): Promise<readonly ISelectionProviderValues[]>;\n}\n\nexport interface IDashboardVariableSelectionProvider<T extends ISelectionProviderContext> extends ISelectionProvider<T> {\n}\n\nexport interface IMcpToolResponseHandler {\n apply(aiInteraction: AiInteraction);\n}\n\nexport interface IDashboardQuestionDataProvider<TContext, TData> {\n help(): string;\n\n name(): string;\n\n getData(question: DashboardQuestion, expressions?: SqlExpression[], ctxt?: TContext): Promise<TData[] | TData>;\n}\n\n/**\n * @deprecated Use `IEntityComputedFieldProvider` instead.\n */\nexport interface IComputedFieldProvider<T> {\n help(): string;\n\n name(): string;\n\n valueType(): string;\n\n computeValue(dto: any, ctxt: T): Promise<string | number>; // FIXME : Improve the types to make it more specific using generics\n}\n\nexport interface IEntityComputedFieldProvider {\n help(): string;\n\n name(): string;\n}\n\nexport interface IEntityPreComputeFieldProvider<TTriggerEntity, TContext, TValue = void> extends IEntityComputedFieldProvider {\n preComputeValue(triggerEntity: TTriggerEntity, computedFieldMetadata: ComputedFieldMetadata<TContext>): Promise<TValue>;\n}\n\nexport interface IEntityPostComputeFieldProvider<TTriggerEntity, TContext> extends IEntityComputedFieldProvider {\n postComputeAndSaveValue(triggerEntity: TTriggerEntity, computedFieldMetadata: ComputedFieldMetadata<TContext>): Promise<void>;\n}\n\nexport interface ISolidDatabaseModule {\n name(): string;\n\n type(): DatasourceType;\n}\n\nexport enum EventType {\n USER_REGISTERED = 'user.registered',\n}\n\nexport class EventDetails<T> {\n constructor(\n public type: any,\n public payload: T,\n ) { }\n}\n\nexport interface IMail<TResponse = unknown> {\n sendEmail(\n to: string,\n subject: string,\n body: string,\n shouldQueueEmails: boolean,\n wrapperAttachments?: MailAttachmentWrapper[],\n attachments?: MailAttachment[],\n parentEntity?: any,\n parentEntityId?: any,\n cc?: string[],\n bcc?: string[],\n from?: string,\n ): Promise<TResponse>;\n\n sendEmailUsingTemplate(\n to: string,\n templateName: string,\n templateParams: any,\n shouldQueueEmails: boolean,\n wrapperAttachments?: MailAttachmentWrapper[],\n attachments?: MailAttachment[],\n parentEntity?: any,\n parentEntityId?: any,\n cc?: string[],\n bcc?: string[],\n from?: string,\n ): Promise<TResponse>;\n}\n\nexport interface ISMS {\n sendSMS(to: string, body: string, shouldQueueSms: boolean): Promise<any>;\n\n sendSMSUsingTemplate(\n to: string,\n templateName: string,\n templateParams: any,\n shouldQueueSms: boolean,\n ): Promise<any>;\n}\n\nexport interface IWhatsAppTransport {\n sendWhatsAppMessage(\n to: string,\n templateId: string,\n parameters: any,\n parentEntity?: any,\n parentEntityId?: any\n ): Promise<any>;\n}\n\nexport interface MailAttachmentWrapper {\n relativePath?: string;\n attachment?: MailAttachment;\n}\n\nexport interface MailAttachment {\n filename: string;\n templatePath?: string; // deprecated\n templateParams?: any; // deprecated\n content?: string | Buffer;\n contentType?: string;\n path?: string; //Filesystem absolute path or URL. \n}\n\nexport enum BrokerType {\n RabbitMQ = 'rabbitmq',\n Database = 'database'\n}\n\nexport interface QueuesModuleOptions {\n name: string;\n type: BrokerType;\n queueName: string;\n}\n\nexport type MediaWithFullUrl = Media & {\n _full_url: string;\n};\n\n\nexport type ErrorCode = string;\n\nexport type ErrorMeta = {\n message: string;\n httpStatus?: number;\n};\n\nexport type ErrorRule = {\n /** Canonical error code. Keep them kebab-case for consistency. */\n code: ErrorCode;\n /** Higher runs earlier. Defaults to 0 if not provided. */\n priority?: number;\n /** Return true if this rule matches the combined error text. */\n match: (combinedErrorText: string) => boolean;\n /** Display + HTTP mapping for this code. */\n meta: ErrorMeta;\n};\n\nexport interface IErrorCodeProvider {\n /** Used for registry identity & logs */\n name(): string;\n\n /**\n * Return all rules this provider contributes.\n * These will be merged with other providers’ rules, then sorted by priority.\n */\n rules(): ReadonlyArray<ErrorRule>;\n\n /**\n * Optional fallback meta for codes this provider owns (when called by getMessage/getHttpStatus).\n * If omitted, the ErrorMapperService will rely on the rule.meta of the first matching rule.\n */\n resolve?(code: ErrorCode): ErrorMeta | undefined;\n}\n\n// MCP Tool Related\n\nexport type PlanStep = CreateNewFileStep | RegisterNestProviderStep | AddMethodToExistingClassStep | RegisterSolidXExtensionComponentStep | AddListViewButtonStep | AddFormViewButtonStep | AddImportStep;\nexport interface AddImportStep {\n type: \"addImport\";\n path: string; // e.g. apps/api/src/address-master/services/address-master.service.ts\n importStatement: string; // e.g. import { Something } from 'somewhere';\n overwrite?: boolean; // default=false\n rationale?: string; // optional, ignored by executor\n}\n\nexport interface CreateNewFileStep {\n type: \"createNewFile\";\n path: string; // repo-relative e.g. solid-api/api/src/computed-providers/foo.provider.ts\n content: string; // full file content\n overwrite?: boolean; // default=false\n rationale?: string; // optional, ignored by executor\n}\n\nexport interface RegisterNestProviderStep {\n type: \"registerNestProvider\";\n modulePath: string; // e.g. apps/api/src/address-master/address-master.module.ts\n providerClassName: string; // e.g. StateTotalCitiesComputedFieldProvider\n importFrom: string; // e.g. \"@/computed-providers/state-total-cities.provider\"\n registerIn: Array<\"providers\" | \"exports\">; // which arrays to add to\n uniqueGuard?: boolean; // default=true\n rationale?: string; // optional, ignored by executor\n}\n\nexport interface AddMethodToExistingClassStep {\n type: \"addMethodToExistingClass\";\n path: string; // e.g. apps/api/src/address-master/services/address-master.service.ts\n className: string // e.g. CountryService\n methodName: string // e.g. addCountry\n content: string // Full Method Code\n importStatements?: string[]; // e.g. [ \"import { X } from 'y';\" ]\n rationale?: string; // optional, ignored by executor\n}\n\nexport interface RegisterSolidXExtensionComponentStep {\n type: \"registerSolidXExtensionComponent\";\n path: string; // e.g. apps/api/src/address-master/services/address-master.service.ts\n content?: string; // Code\n importExtensionComponent?: string;\n}\n\nexport interface AddListViewButtonStep {\n type: \"addListViewButton\";\n moduleName?: string;\n modelName?: string;\n buttonType?: string;\n content?: string; // Code\n}\n\nexport interface AddFormViewButtonStep {\n type: \"addFormViewButton\";\n moduleName?: string;\n modelName?: string;\n buttonType?: string;\n content?: string; // Code\n}\n\nexport interface McpComputedProviderResponse {\n plan: PlanStep[];\n // provider?: any; // (intentionally ignored per your note)\n}\n\nexport interface ISecurityRuleConfigProvider {\n securityRuleConfig(activeUser: ActiveUserData, securityRule: SecurityRule): Promise<SecurityRuleConfig>;\n}\n"]}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AAgKA,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,gDAAmC,CAAA;AACrC,CAAC,EAFW,SAAS,yBAAT,SAAS,QAEpB;AAED,MAAa,YAAY;IACvB,YACS,IAAS,EACT,OAAU;QADV,SAAI,GAAJ,IAAI,CAAK;QACT,YAAO,GAAP,OAAO,CAAG;IACf,CAAC;CACN;AALD,oCAKC;AAmED,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,mCAAqB,CAAA;IACrB,mCAAqB,CAAA;AACvB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB","sourcesContent":["import { CreateEmailTemplateDto } from 'src/dtos/create-email-template.dto';\nimport { CreateSmsTemplateDto } from 'src/dtos/create-sms-template.dto';\nimport { SignUpDto } from 'src/dtos/sign-up.dto';\nimport { Readable } from 'stream';\nimport { CreateMediaStorageProviderMetadataDto } from './dtos/create-media-storage-provider-metadata.dto';\nimport { DatasourceType } from './dtos/create-model-metadata.dto';\nimport { CreateModuleMetadataDto } from './dtos/create-module-metadata.dto';\nimport { CreateRoleMetadataDto } from './dtos/create-role-metadata.dto';\nimport { CreateSecurityRuleDto } from './dtos/create-security-rule.dto';\nimport { FieldMetadata } from './entities/field-metadata.entity';\nimport { Media } from './entities/media.entity';\nimport { DashboardQuestion } from './entities/dashboard-question.entity';\nimport { ComputedFieldMetadata } from './helpers/solid-registry';\nimport { SqlExpression } from './services/question-data-providers/chartjs-sql-data-provider.service';\nimport { CreateDashboardDto } from './dtos/create-dashboard.dto';\nimport { AiInteraction } from './entities/ai-interaction.entity';\nimport { ActiveUserData } from './interfaces/active-user-data.interface';\nimport { SecurityRuleConfig } from './dtos/security-rule-config.dto';\nimport { SecurityRule } from './entities/security-rule.entity';\n\nexport interface FieldCrudManager {\n // fieldMetadata: FieldMetadata;\n // entityManager?: EntityManager;\n // createDto: any;\n // files : Array<Express.Multer.File>;\n validate(\n dto: any,\n files: Array<Express.Multer.File>,\n ): ValidationError[] | Promise<ValidationError[]>;\n transformForCreate(dto: any, ctxt?: any): any | Promise<any>;\n}\n\nexport interface ValidationError {\n field: string;\n error: string;\n}\n\n// export interface MediaStorage\nexport interface MediaStorageProvider<T> {\n store(files: Express.Multer.File[], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]>;\n delete(entity: T, mediaFieldMetadata: FieldMetadata): Promise<void>;\n retrieve(entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]>;\n storeStreams(streamPairs: [Readable, string][], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]>;\n // delete(file: string): Promise<void>;\n}\n\nexport interface ModuleMetadataConfiguration {\n moduleMetadata?: CreateModuleMetadataDto,\n roles?: CreateRoleMetadataDto[],\n users?: SignUpDto[],\n actions?: any[],\n menus?: any[],\n views?: any[],\n emailTemplates?: CreateEmailTemplateDto[],\n smsTemplates?: CreateSmsTemplateDto[],\n mediaStorageProviders?: CreateMediaStorageProviderMetadataDto[]\n securityRules?: CreateSecurityRuleDto[],\n dashboards?: CreateDashboardDto[],\n}\n\nexport interface CodeGenerationOptions {\n moduleId?: number;\n moduleUserKey?: string;\n modelId?: number;\n modelUserKey?: string;\n fieldIdsForRemoval?: number[];\n fieldNamesForRemoval?: string[];\n dryRun?: boolean;\n fieldIdsForRefresh?: number[];\n fieldNamesForRefresh?: string[];\n}\n\nexport interface TriggerMcpClientOptions {\n aiInteractionId: number;\n moduleName: string;\n}\n\nexport interface McpResponse {\n success: boolean;\n request: string;\n response: string;\n model?: string;\n tools_invoked?: string[];\n tool_calls?: any[];\n duration_ms?: number;\n errors?: string[];\n error_trace?: string[];\n content_type?: string;\n}\n\nexport interface ISelectionProviderContext {\n limit: number;\n offset: number;\n formValues: Record<string, any>;\n // query: string;\n}\n\nexport interface ISelectionProviderValues {\n label: string;\n value: string;\n}\n\nexport interface ISelectionProvider<T extends ISelectionProviderContext> {\n help(): string;\n\n name(): string;\n\n value(optionValue: string, ctxt: T): Promise<ISelectionProviderValues | any>;\n\n values(query: any, ctxt: T): Promise<readonly ISelectionProviderValues[]>;\n}\n\nexport interface IDashboardVariableSelectionProvider<T extends ISelectionProviderContext> extends ISelectionProvider<T> {\n}\n\nexport interface IMcpToolResponseHandler {\n apply(aiInteraction: AiInteraction);\n}\n\nexport interface IDashboardQuestionDataProvider<TContext, TData> {\n help(): string;\n\n name(): string;\n\n getData(question: DashboardQuestion, expressions?: SqlExpression[], ctxt?: TContext): Promise<TData[] | TData>;\n}\n\n/**\n * @deprecated Use `IEntityComputedFieldProvider` instead.\n */\nexport interface IComputedFieldProvider<T> {\n help(): string;\n\n name(): string;\n\n valueType(): string;\n\n computeValue(dto: any, ctxt: T): Promise<string | number>; // FIXME : Improve the types to make it more specific using generics\n}\n\nexport interface IEntityComputedFieldProvider {\n help(): string;\n\n name(): string;\n}\n\nexport interface IEntityPreComputeFieldProvider<TTriggerEntity, TContext, TValue = void> extends IEntityComputedFieldProvider {\n preComputeValue(triggerEntity: TTriggerEntity, computedFieldMetadata: ComputedFieldMetadata<TContext>): Promise<TValue>;\n}\n\nexport interface IEntityPostComputeFieldProvider<TTriggerEntity, TContext> extends IEntityComputedFieldProvider {\n postComputeAndSaveValue(triggerEntity: TTriggerEntity, computedFieldMetadata: ComputedFieldMetadata<TContext>): Promise<void>;\n}\n\nexport interface ISolidDatabaseModule {\n name(): string;\n\n type(): DatasourceType;\n}\n\nexport enum EventType {\n USER_REGISTERED = 'user.registered',\n}\n\nexport class EventDetails<T> {\n constructor(\n public type: any,\n public payload: T,\n ) { }\n}\n\nexport interface IMail<TResponse = unknown> {\n sendEmail(\n to: string,\n subject: string,\n body: string,\n shouldQueueEmails: boolean,\n wrapperAttachments?: MailAttachmentWrapper[],\n attachments?: MailAttachment[],\n parentEntity?: any,\n parentEntityId?: any,\n cc?: string[],\n bcc?: string[],\n from?: string,\n ): Promise<TResponse>;\n\n sendEmailUsingTemplate(\n to: string,\n templateName: string,\n templateParams: any,\n shouldQueueEmails: boolean,\n wrapperAttachments?: MailAttachmentWrapper[],\n attachments?: MailAttachment[],\n parentEntity?: any,\n parentEntityId?: any,\n cc?: string[],\n bcc?: string[],\n from?: string,\n ): Promise<TResponse>;\n}\n\nexport interface ISMS {\n sendSMS(to: string, body: string, shouldQueueSms: boolean): Promise<any>;\n\n sendSMSUsingTemplate(\n to: string,\n templateName: string,\n templateParams: any,\n shouldQueueSms: boolean,\n ): Promise<any>;\n}\n\nexport interface IWhatsAppTransport {\n sendWhatsAppMessage(\n to: string,\n templateId: string,\n parameters: any,\n parentEntity?: any,\n parentEntityId?: any\n ): Promise<any>;\n}\n\nexport interface MailAttachmentWrapper {\n relativePath?: string;\n attachment?: MailAttachment;\n}\n\nexport interface MailAttachment {\n filename: string;\n templatePath?: string; // deprecated\n templateParams?: any; // deprecated\n content?: string | Buffer;\n contentType?: string;\n path?: string; //Filesystem absolute path or URL. \n}\n\nexport enum BrokerType {\n RabbitMQ = 'rabbitmq',\n Database = 'database'\n}\n\nexport interface QueuesModuleOptions {\n name: string;\n type: BrokerType;\n queueName: string;\n}\n\nexport type MediaWithFullUrl = Media & {\n _full_url: string;\n};\n\n\nexport type ErrorCode = string;\n\nexport type ErrorMeta = {\n message: string;\n httpStatus?: number;\n};\n\nexport type ErrorRule = {\n /** Canonical error code. Keep them kebab-case for consistency. */\n code: ErrorCode;\n /** Higher runs earlier. Defaults to 0 if not provided. */\n priority?: number;\n /** Return true if this rule matches the combined error text. */\n match: (combinedErrorText: string) => boolean;\n /** Display + HTTP mapping for this code. */\n meta: ErrorMeta;\n};\n\nexport interface IErrorCodeProvider {\n /** Used for registry identity & logs */\n name(): string;\n\n /**\n * Return all rules this provider contributes.\n * These will be merged with other providers’ rules, then sorted by priority.\n */\n rules(): ReadonlyArray<ErrorRule>;\n\n /**\n * Optional fallback meta for codes this provider owns (when called by getMessage/getHttpStatus).\n * If omitted, the ErrorMapperService will rely on the rule.meta of the first matching rule.\n */\n resolve?(code: ErrorCode): ErrorMeta | undefined;\n}\n\n// MCP Tool Related\n\nexport type PlanStep = CreateNewFileStep | RegisterNestProviderStep | AddMethodToExistingClassStep | RegisterSolidXExtensionComponentStep | AddListViewButtonStep | AddFormViewButtonStep | AddImportStep;\nexport interface AddImportStep {\n type: \"addImport\";\n path: string; // e.g. apps/api/src/address-master/services/address-master.service.ts\n importStatement: string; // e.g. import { Something } from 'somewhere';\n overwrite?: boolean; // default=false\n rationale?: string; // optional, ignored by executor\n}\n\nexport interface CreateNewFileStep {\n type: \"createNewFile\";\n path: string; // repo-relative e.g. solid-api/api/src/computed-providers/foo.provider.ts\n content: string; // full file content\n overwrite?: boolean; // default=false\n rationale?: string; // optional, ignored by executor\n}\n\nexport interface RegisterNestProviderStep {\n type: \"registerNestProvider\";\n modulePath: string; // e.g. apps/api/src/address-master/address-master.module.ts\n providerClassName: string; // e.g. StateTotalCitiesComputedFieldProvider\n importFrom: string; // e.g. \"@/computed-providers/state-total-cities.provider\"\n registerIn: Array<\"providers\" | \"exports\">; // which arrays to add to\n uniqueGuard?: boolean; // default=true\n rationale?: string; // optional, ignored by executor\n}\n\nexport interface AddMethodToExistingClassStep {\n type: \"addMethodToExistingClass\";\n path: string; // e.g. apps/api/src/address-master/services/address-master.service.ts\n className: string // e.g. CountryService\n methodName: string // e.g. addCountry\n content: string // Full Method Code\n importStatements?: string[]; // e.g. [ \"import { X } from 'y';\" ]\n rationale?: string; // optional, ignored by executor\n}\n\nexport interface RegisterSolidXExtensionComponentStep {\n type: \"registerSolidXExtensionComponent\";\n path: string; // e.g. apps/api/src/address-master/services/address-master.service.ts\n content?: string; // Code\n importExtensionComponent?: string;\n}\n\nexport interface AddListViewButtonStep {\n type: \"addListViewButton\";\n moduleName?: string;\n modelName?: string;\n buttonType?: string;\n content?: string; // Code\n}\n\nexport interface AddFormViewButtonStep {\n type: \"addFormViewButton\";\n moduleName?: string;\n modelName?: string;\n buttonType?: string;\n content?: string; // Code\n}\n\nexport interface McpComputedProviderResponse {\n plan: PlanStep[];\n // provider?: any; // (intentionally ignored per your note)\n}\n\nexport interface ISecurityRuleConfigProvider {\n securityRuleConfig(activeUser: ActiveUserData, securityRule: SecurityRule): Promise<SecurityRuleConfig>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"trigger-mcp-client-subscriber-database.service.d.ts","sourceRoot":"","sources":["../../../src/jobs/database/trigger-mcp-client-subscriber-database.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAGrE,qBACa,kCAAmC,SAAQ,kBAAkB,CAAC,uBAAuB,CAAC;IAI3F,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,MAAM,EAAE,aAAa;IAC9B,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAXxC,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAuD;gBAG3F,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,EAAE,aAAa,EACrB,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,oBAAoB,EAAE,oBAAoB,EAClC,aAAa,EAAE,aAAa,EAE5B,mBAAmB,EAAE,mBAAmB;IAM7D,OAAO,IAAI,mBAAmB;IAM9B,mBAAmB,CAAC,UAAU,EAAE,WAAW;IA8BrC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,uBAAuB,CAAC;CAoPjE"}
1
+ {"version":3,"file":"trigger-mcp-client-subscriber-database.service.d.ts","sourceRoot":"","sources":["../../../src/jobs/database/trigger-mcp-client-subscriber-database.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAGrE,qBACa,kCAAmC,SAAQ,kBAAkB,CAAC,uBAAuB,CAAC;IAI3F,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,MAAM,EAAE,aAAa;IAC9B,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAXxC,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAuD;gBAG3F,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,EAAE,aAAa,EACrB,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,oBAAoB,EAAE,oBAAoB,EAClC,aAAa,EAAE,aAAa,EAE5B,mBAAmB,EAAE,mBAAmB;IAM7D,OAAO,IAAI,mBAAmB;IAM9B,mBAAmB,CAAC,UAAU,EAAE,WAAW;IA8BrC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,uBAAuB,CAAC;CAgPjE"}
@@ -200,6 +200,7 @@ ${computationProvidersSection}
200
200
  const errorsStr = aiResponse.errors?.join('\n ');
201
201
  const errorTrace = aiResponse.error_trace?.join('\n');
202
202
  await this.aiInteractionService.update(genAiInteraction.id, {
203
+ contentType: aiResponse.content_type,
203
204
  errorMessage: `${errorsStr}\n\n${errorTrace}`,
204
205
  modelUsed: aiResponse.model,
205
206
  responseTimeMs: aiResponse.duration_ms,
@@ -211,10 +212,14 @@ ${computationProvidersSection}
211
212
  else {
212
213
  let nestedResponse = this.cleanNestedResponse(aiResponse);
213
214
  const errorsStr = nestedResponse?.status == "error" && nestedResponse?.errors.join('\n ');
215
+ const errorTrace = nestedResponse?.status == "error" && nestedResponse?.error_trace?.join('\n');
214
216
  await this.aiInteractionService.update(genAiInteraction.id, {
215
- errorMessage: nestedResponse.status == "error" ? `${errorsStr}` : "",
217
+ errorMessage: nestedResponse.status == "error" ? `${errorsStr}\n\n${errorTrace}` : "",
218
+ contentType: aiResponse.content_type,
219
+ message: JSON.stringify(nestedResponse),
216
220
  modelUsed: aiResponse.model,
217
221
  responseTimeMs: aiResponse.duration_ms,
222
+ metadata: JSON.stringify(aiResponse, null, 2),
218
223
  isApplied: aiInteraction.isApplied,
219
224
  status: aiResponse.success && nestedResponse.status == "success" ? 'succeeded' : 'failed'
220
225
  }, [], true);
@@ -1 +1 @@
1
- {"version":3,"file":"trigger-mcp-client-subscriber-database.service.js","sourceRoot":"","sources":["../../../src/jobs/database/trigger-mcp-client-subscriber-database.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { ModelMetadataService } from 'src';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport { DashboardRepository } from 'src/repository/dashboard.repository';\nimport { AiInteractionService } from 'src/services/ai-interaction.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\nimport { PollerService } from 'src/services/poller.service';\nimport { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';\nimport { Not } from 'typeorm';\nimport { McpResponse, QueuesModuleOptions, TriggerMcpClientOptions } from \"../../interfaces\";\nimport { MqMessageQueueService } from '../../services/mq-message-queue.service';\nimport { MqMessageService } from '../../services/mq-message.service';\nimport triggerMcpClientQueueOptions from \"./trigger-mcp-client-queue-options\";\n\n@Injectable()\nexport class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<TriggerMcpClientOptions> {\n private readonly triggerMcpClientSubscriberLogger = new Logger(TriggerMcpClientSubscriberDatabase.name);\n\n constructor(\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n readonly poller: PollerService,\n readonly aiInteractionService: AiInteractionService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly modelMetadataService: ModelMetadataService,\n private readonly solidRegistry: SolidRegistry,\n // private readonly dashboardService: DashboardService\n private readonly dashboardRepository: DashboardRepository\n\n ) {\n super(mqMessageService, mqMessageQueueService, poller);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...triggerMcpClientQueueOptions\n }\n }\n\n cleanNestedResponse(aiResponse: McpResponse) {\n let nestedResponse: any;\n\n try {\n let raw = aiResponse.response;\n\n if (typeof raw === \"string\") {\n raw = raw.trim();\n try {\n // Try to parse as JSON\n nestedResponse = JSON.parse(raw);\n } catch {\n // Not JSON, just keep as string\n nestedResponse = raw;\n }\n } else if (typeof raw === \"object\" && raw !== null) {\n // Already JSON\n nestedResponse = raw;\n } else {\n // Fallback\n nestedResponse = String(raw);\n }\n } catch (err) {\n this.triggerMcpClientSubscriberLogger.error(\"Error processing AI response:\", err);\n nestedResponse = `Error handling response: ${err?.message || String(err)}`;\n }\n\n return nestedResponse;\n }\n\n async subscribe(message: QueueMessage<TriggerMcpClientOptions>) {\n this.triggerMcpClientSubscriberLogger.debug(`Received message: ${JSON.stringify(message)}`);\n\n const codeGnerationOptions = message.payload;\n\n const aiInteraction = await this.aiInteractionService.findOne(codeGnerationOptions.aiInteractionId, {\n populate: ['user']\n });\n if (!aiInteraction) {\n const m = `Unable to identified the aiInteraction entry that triggered this job... using id: ${codeGnerationOptions.aiInteractionId}`\n this.triggerMcpClientSubscriberLogger.log(m);\n throw new Error(m);\n }\n\n // The message contains the users prompt.\n const prompt = aiInteraction.message;\n\n // Use this to invoke our mcp client\n // TODO: try / catch ... \n // Handle the rejection gracefully...\n\n // We create the aiInteraction entry first \n const genAiInteraction = await this.aiInteractionService.create({\n userId: aiInteraction.user.id,\n threadId: aiInteraction.threadId,\n parentInteractionId: aiInteraction.id,\n role: 'gen-ai',\n message: '...', // Updated in the tool\n contentType: '', // Updated in the tool\n errorMessage: '', // Updated after we receive the response\n modelUsed: '', // Updated after we receive the response\n responseTimeMs: 0, // Updated after we receive the response\n metadata: '', // Updated in the tool\n isApplied: false, // Updated after we receive the response\n status: 'pending' // Updated after we receive the response\n });\n\n const existingComputationProviders = this.solidRegistry.getComputedFieldProviders();\n\n const { records: existingModules } = await this.moduleMetadataService.findMany({\n filters: {\n name: { $ne: 'solid-core' }\n },\n fields: ['id', 'name', 'displayName', 'description'],\n limit: 1000\n });\n const { records: existingModels } = await this.modelMetadataService.findMany({\n filters: {\n module: {\n name: {\n $ne: 'solid-core',\n }\n }\n },\n limit: 1000,\n populate: ['module']\n });\n\n // Get the list of dashboards\n // TODO: Ideally we should fetch dashboard like below, but used below approach to avoid below CLS issues for now.\n // Cannot set the key \"filter\". No CLS context available, please make sure that a ClsMiddleware/Guard/Interceptor has set up the context, or wrap any calls that depend on CLS with \"ClsService#run\"\n // const { records: existingDashboards } = await this.dashboardService.find({\n // fields\n // })\n const existingDashboards = await this.dashboardRepository.find(\n {\n where: {\n module: {\n name: Not('solid-core')\n }\n },\n }\n );\n\n const existingControllerAndTheirMethods = this.solidRegistry.getControllers();\n\n \n\n // Build markdown sections using template interpolation\n const modulesSection = (existingModules ?? [])\n .map(m => [\n `### ${m.displayName}`,\n `- name: ${m.name}`,\n `- description: ${m.description ?? \"\"}`,\n ].join('\\n'))\n .join('\\n\\n');\n\n const modelsSection = (existingModels ?? [])\n .map(m => [\n `### ${m.displayName}`,\n `- singularName: ${m.singularName}`,\n `- description: ${m.description ?? \"\"}`,\n `- moduleName: ${m.module.name}`,\n ].join('\\n'))\n .join('\\n\\n');\n\n const dashboardsSection = (existingDashboards ?? [])\n .map(d => [\n `### ${d.displayName}`,\n `- name: ${d.name}`,\n `- description: ${d.description ?? \"\"}`,\n ].join('\\n'))\n .join('\\n\\n'); \n\n const computationProvidersSection = (existingComputationProviders ?? [])\n .map(m => [\n `### ${m.instance.name()}`,\n `- name: ${m.instance.name()}`,\n `- description: ${m.instance.help() ?? \"\"}`,\n ].join('\\n'))\n .join('\\n\\n');\n\n const controllersAndTheirMethods = (existingControllerAndTheirMethods ?? [])\n .map(m => [\n `### ${m.name}`,\n `- methods: ${m.methods.length ? m.methods.map(m => `- ${m}`).join('\\n'): '- No methods found'}`,\n ].join('\\n'))\n .join('\\n\\n');\n\n\n\n const finalPrompt = `\n# User Prompt: \n${prompt}\n\n# System Instructions:\n- aiInteractionId: ${genAiInteraction.id}\n- You will be invoking tools if needed, hence you will have to choose the applicable tools based on the tool context given to you.\n- If a tool is invoked, you must return **exactly** the raw output from the tool, without any json envelopes, additional formatting, commentary, or text.\n- Do not wrap the result in quotes, JSON, or markdown fences.\n- Do not explain what the result means.\n\n# LISTS FOR REFERENCE AND VALIDATIONS\n\n## LIST OF EXISTING MODULES\nUse the below list of modules to infer which module the user is referring to, .\n\n${modulesSection}\n\n## LIST OF EXISTING MODELS\nUse the below list of models to infer which model the user is referring to.\nYou need to pull out the singularName for the model from the user prompt to match against the below list.\n\n${modelsSection}\n\n## LIST OF EXISTING DASHBOARDS\nUse the below list of dashboards to infer which dashboard the user is referring to.\n\n${dashboardsSection}\n\n## LIST OF EXISTING COMPUTED FIELD PROVIDERS\nUse the below list of computed field providers to infer which provider the user is referring to.\n\n${computationProvidersSection}\n`.trim();\n\n\n// ## LIST OF EXISTING CONTROLLERS AND THEIR METHODS\n// Use the below list of controllers and their methods to infer whether the api call being made to a particular controller exists or not.\n\n// ${controllersAndTheirMethods}\n\n const aiResponse = await this.aiInteractionService.runMcpPrompt(finalPrompt);\n this.triggerMcpClientSubscriberLogger.log(`aiResponse: `);\n this.triggerMcpClientSubscriberLogger.log(JSON.stringify(aiResponse));\n\n if (!aiResponse.success) {\n this.triggerMcpClientSubscriberLogger.log(`Gen ai has returned with a false status code`);\n\n const errorsStr = aiResponse.errors?.join('\\n ');\n const errorTrace = aiResponse.error_trace?.join('\\n');\n\n // await this.aiInteractionService.create({\n // userId: aiInteraction.user.id,\n // threadId: aiInteraction.threadId,\n // parentInteractionId: aiInteraction.id,\n // role: 'gen-ai',\n // message: '-',\n // contentType: aiResponse.content_type,\n // errorMessage: errorsStr,\n // modelUsed: aiResponse.model,\n // responseTimeMs: aiResponse.duration_ms,\n // metadata: JSON.stringify(aiResponse, null, 2),\n // isApplied: aiInteraction.isApplied,\n // status: aiResponse.success ? 'succeeded' : 'failed'\n // });\n\n // TODO: Update the previously created genAiInteraction record with the respective error fields and save to DB\n await this.aiInteractionService.update(genAiInteraction.id, {\n // contentType: aiResponse.content_type,\n errorMessage: `${errorsStr}\\n\\n${errorTrace}`,\n modelUsed: aiResponse.model,\n responseTimeMs: aiResponse.duration_ms,\n isApplied: aiInteraction.isApplied,\n status: aiResponse.success ? 'succeeded' : 'failed'\n }, [], true);\n\n // update the job entry with failure... raising an error will lead the job to be marked as failed...\n throw new Error(errorsStr);\n }\n else {\n let nestedResponse = this.cleanNestedResponse(aiResponse);\n\n // const genAiInteraction = await this.aiInteractionService.create({\n // userId: aiInteraction.user.id,\n // threadId: aiInteraction.threadId,\n // parentInteractionId: aiInteraction.id,\n // role: 'gen-ai',\n // message: nestedResponse,\n // contentType: aiResponse.content_type,\n // errorMessage: '',\n // modelUsed: aiResponse.model,\n // responseTimeMs: aiResponse.duration_ms,\n // metadata: JSON.stringify(aiResponse, null, 2),\n // isApplied: aiInteraction.isApplied,\n // status: aiResponse.success ? 'succeeded' : 'failed'\n // });\n\n // TODO: Update the previously created genAiInteraction record with the respective success fields and save to DB\n const errorsStr = nestedResponse?.status == \"error\" && nestedResponse?.errors.join('\\n ');\n // const errorTrace = nestedResponse?.status == \"error\" && nestedResponse?.error_trace?.join('\\n');\n\n\n await this.aiInteractionService.update(genAiInteraction.id, {\n errorMessage: nestedResponse.status == \"error\" ? `${errorsStr}` : \"\",\n // errorMessage:\"\",\n // contentType: aiResponse.content_type,\n // message: nestedResponse,\n modelUsed: aiResponse.model,\n responseTimeMs: aiResponse.duration_ms,\n isApplied: aiInteraction.isApplied,\n\n // status: aiResponse.success ? 'succeeded' : 'failed'\n status: aiResponse.success && nestedResponse.status == \"success\" ? 'succeeded' : 'failed'\n }, [], true);\n\n // If the human interaction was with isAutoApply=true, then we can go ahead and autoApply.\n if (aiInteraction.isAutoApply) {\n this.aiInteractionService.applySolidAiInteraction(genAiInteraction.id);\n }\n }\n\n return aiResponse;\n }\n}\n"]}
1
+ {"version":3,"file":"trigger-mcp-client-subscriber-database.service.js","sourceRoot":"","sources":["../../../src/jobs/database/trigger-mcp-client-subscriber-database.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { ModelMetadataService } from 'src';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport { DashboardRepository } from 'src/repository/dashboard.repository';\nimport { AiInteractionService } from 'src/services/ai-interaction.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\nimport { PollerService } from 'src/services/poller.service';\nimport { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';\nimport { Not } from 'typeorm';\nimport { McpResponse, QueuesModuleOptions, TriggerMcpClientOptions } from \"../../interfaces\";\nimport { MqMessageQueueService } from '../../services/mq-message-queue.service';\nimport { MqMessageService } from '../../services/mq-message.service';\nimport triggerMcpClientQueueOptions from \"./trigger-mcp-client-queue-options\";\n\n@Injectable()\nexport class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<TriggerMcpClientOptions> {\n private readonly triggerMcpClientSubscriberLogger = new Logger(TriggerMcpClientSubscriberDatabase.name);\n\n constructor(\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n readonly poller: PollerService,\n readonly aiInteractionService: AiInteractionService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly modelMetadataService: ModelMetadataService,\n private readonly solidRegistry: SolidRegistry,\n // private readonly dashboardService: DashboardService\n private readonly dashboardRepository: DashboardRepository\n\n ) {\n super(mqMessageService, mqMessageQueueService, poller);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...triggerMcpClientQueueOptions\n }\n }\n\n cleanNestedResponse(aiResponse: McpResponse) {\n let nestedResponse: any;\n\n try {\n let raw = aiResponse.response;\n\n if (typeof raw === \"string\") {\n raw = raw.trim();\n try {\n // Try to parse as JSON\n nestedResponse = JSON.parse(raw);\n } catch {\n // Not JSON, just keep as string\n nestedResponse = raw;\n }\n } else if (typeof raw === \"object\" && raw !== null) {\n // Already JSON\n nestedResponse = raw;\n } else {\n // Fallback\n nestedResponse = String(raw);\n }\n } catch (err) {\n this.triggerMcpClientSubscriberLogger.error(\"Error processing AI response:\", err);\n nestedResponse = `Error handling response: ${err?.message || String(err)}`;\n }\n\n return nestedResponse;\n }\n\n async subscribe(message: QueueMessage<TriggerMcpClientOptions>) {\n this.triggerMcpClientSubscriberLogger.debug(`Received message: ${JSON.stringify(message)}`);\n\n const codeGnerationOptions = message.payload;\n\n const aiInteraction = await this.aiInteractionService.findOne(codeGnerationOptions.aiInteractionId, {\n populate: ['user']\n });\n if (!aiInteraction) {\n const m = `Unable to identified the aiInteraction entry that triggered this job... using id: ${codeGnerationOptions.aiInteractionId}`\n this.triggerMcpClientSubscriberLogger.log(m);\n throw new Error(m);\n }\n\n // The message contains the users prompt.\n const prompt = aiInteraction.message;\n\n // Use this to invoke our mcp client\n // TODO: try / catch ... \n // Handle the rejection gracefully...\n\n // We create the aiInteraction entry first \n const genAiInteraction = await this.aiInteractionService.create({\n userId: aiInteraction.user.id,\n threadId: aiInteraction.threadId,\n parentInteractionId: aiInteraction.id,\n role: 'gen-ai',\n message: '...', // Updated in the tool\n contentType: '', // Updated in the tool\n errorMessage: '', // Updated after we receive the response\n modelUsed: '', // Updated after we receive the response\n responseTimeMs: 0, // Updated after we receive the response\n metadata: '', // Updated in the tool\n isApplied: false, // Updated after we receive the response\n status: 'pending' // Updated after we receive the response\n });\n\n const existingComputationProviders = this.solidRegistry.getComputedFieldProviders();\n\n const { records: existingModules } = await this.moduleMetadataService.findMany({\n filters: {\n name: { $ne: 'solid-core' }\n },\n fields: ['id', 'name', 'displayName', 'description'],\n limit: 1000\n });\n const { records: existingModels } = await this.modelMetadataService.findMany({\n filters: {\n module: {\n name: {\n $ne: 'solid-core',\n }\n }\n },\n limit: 1000,\n populate: ['module']\n });\n\n // Get the list of dashboards\n // TODO: Ideally we should fetch dashboard like below, but used below approach to avoid below CLS issues for now.\n // Cannot set the key \"filter\". No CLS context available, please make sure that a ClsMiddleware/Guard/Interceptor has set up the context, or wrap any calls that depend on CLS with \"ClsService#run\"\n // const { records: existingDashboards } = await this.dashboardService.find({\n // fields\n // })\n const existingDashboards = await this.dashboardRepository.find(\n {\n where: {\n module: {\n name: Not('solid-core')\n }\n },\n }\n );\n\n const existingControllerAndTheirMethods = this.solidRegistry.getControllers();\n\n\n\n // Build markdown sections using template interpolation\n const modulesSection = (existingModules ?? [])\n .map(m => [\n `### ${m.displayName}`,\n `- name: ${m.name}`,\n `- description: ${m.description ?? \"\"}`,\n ].join('\\n'))\n .join('\\n\\n');\n\n const modelsSection = (existingModels ?? [])\n .map(m => [\n `### ${m.displayName}`,\n `- singularName: ${m.singularName}`,\n `- description: ${m.description ?? \"\"}`,\n `- moduleName: ${m.module.name}`,\n ].join('\\n'))\n .join('\\n\\n');\n\n const dashboardsSection = (existingDashboards ?? [])\n .map(d => [\n `### ${d.displayName}`,\n `- name: ${d.name}`,\n `- description: ${d.description ?? \"\"}`,\n ].join('\\n'))\n .join('\\n\\n');\n\n const computationProvidersSection = (existingComputationProviders ?? [])\n .map(m => [\n `### ${m.instance.name()}`,\n `- name: ${m.instance.name()}`,\n `- description: ${m.instance.help() ?? \"\"}`,\n ].join('\\n'))\n .join('\\n\\n');\n\n const controllersAndTheirMethods = (existingControllerAndTheirMethods ?? [])\n .map(m => [\n `### ${m.name}`,\n `- methods: ${m.methods.length ? m.methods.map(m => `- ${m}`).join('\\n') : '- No methods found'}`,\n ].join('\\n'))\n .join('\\n\\n');\n\n\n\n const finalPrompt = `\n# User Prompt: \n${prompt}\n\n# System Instructions:\n- aiInteractionId: ${genAiInteraction.id}\n- You will be invoking tools if needed, hence you will have to choose the applicable tools based on the tool context given to you.\n- If a tool is invoked, you must return **exactly** the raw output from the tool, without any json envelopes, additional formatting, commentary, or text.\n- Do not wrap the result in quotes, JSON, or markdown fences.\n- Do not explain what the result means.\n\n# LISTS FOR REFERENCE AND VALIDATIONS\n\n## LIST OF EXISTING MODULES\nUse the below list of modules to infer which module the user is referring to, .\n\n${modulesSection}\n\n## LIST OF EXISTING MODELS\nUse the below list of models to infer which model the user is referring to.\nYou need to pull out the singularName for the model from the user prompt to match against the below list.\n\n${modelsSection}\n\n## LIST OF EXISTING DASHBOARDS\nUse the below list of dashboards to infer which dashboard the user is referring to.\n\n${dashboardsSection}\n\n## LIST OF EXISTING COMPUTED FIELD PROVIDERS\nUse the below list of computed field providers to infer which provider the user is referring to.\n\n${computationProvidersSection}\n`.trim();\n\n // ## LIST OF EXISTING CONTROLLERS AND THEIR METHODS\n // Use the below list of controllers and their methods to infer whether the api call being made to a particular controller exists or not.\n\n // ${controllersAndTheirMethods}\n\n const aiResponse = await this.aiInteractionService.runMcpPrompt(finalPrompt);\n this.triggerMcpClientSubscriberLogger.log(`aiResponse: `);\n this.triggerMcpClientSubscriberLogger.log(JSON.stringify(aiResponse));\n\n if (!aiResponse.success) {\n this.triggerMcpClientSubscriberLogger.log(`Gen ai has returned with a false status code`);\n\n const errorsStr = aiResponse.errors?.join('\\n ');\n const errorTrace = aiResponse.error_trace?.join('\\n');\n\n // await this.aiInteractionService.create({\n // userId: aiInteraction.user.id,\n // threadId: aiInteraction.threadId,\n // parentInteractionId: aiInteraction.id,\n // role: 'gen-ai',\n // message: '-',\n // contentType: aiResponse.content_type,\n // errorMessage: `${errorsStr}\\n\\n${errorTrace}`,\n // modelUsed: aiResponse.model,\n // responseTimeMs: aiResponse.duration_ms,\n // metadata: JSON.stringify(aiResponse, null, 2),\n // isApplied: aiInteraction.isApplied,\n // status: aiResponse.success ? 'succeeded' : 'failed'\n // });\n\n // TODO: Update the previously created genAiInteraction record with the respective error fields and save to DB\n await this.aiInteractionService.update(genAiInteraction.id, {\n contentType: aiResponse.content_type,\n errorMessage: `${errorsStr}\\n\\n${errorTrace}`,\n modelUsed: aiResponse.model,\n responseTimeMs: aiResponse.duration_ms,\n isApplied: aiInteraction.isApplied,\n status: aiResponse.success ? 'succeeded' : 'failed'\n }, [], true);\n\n // update the job entry with failure... raising an error will lead the job to be marked as failed...\n throw new Error(errorsStr);\n }\n else {\n let nestedResponse = this.cleanNestedResponse(aiResponse);\n\n // TODO: Update the previously created genAiInteraction record with the respective success fields and save to DB\n const errorsStr = nestedResponse?.status == \"error\" && nestedResponse?.errors.join('\\n ');\n const errorTrace = nestedResponse?.status == \"error\" && nestedResponse?.error_trace?.join('\\n');\n\n // const genAiInteraction = await this.aiInteractionService.create({\n // userId: aiInteraction.user.id,\n // threadId: aiInteraction.threadId,\n // parentInteractionId: aiInteraction.id,\n // role: 'gen-ai',\n // message: nestedResponse,\n // contentType: aiResponse.content_type,\n // errorMessage: `${errorsStr}\\n\\n${errorTrace}`,\n // modelUsed: aiResponse.model,\n // responseTimeMs: aiResponse.duration_ms,\n // metadata: JSON.stringify(aiResponse, null, 2),\n // isApplied: aiInteraction.isApplied,\n // status: aiResponse.success ? 'succeeded' : 'failed'\n // });\n\n await this.aiInteractionService.update(genAiInteraction.id, {\n errorMessage: nestedResponse.status == \"error\" ? `${errorsStr}\\n\\n${errorTrace}` : \"\",\n contentType: aiResponse.content_type,\n message: JSON.stringify(nestedResponse),\n modelUsed: aiResponse.model,\n responseTimeMs: aiResponse.duration_ms,\n metadata: JSON.stringify(aiResponse, null, 2),\n isApplied: aiInteraction.isApplied,\n status: aiResponse.success && nestedResponse.status == \"success\" ? 'succeeded' : 'failed'\n }, [], true);\n\n // If the human interaction was with isAutoApply=true, then we can go ahead and autoApply.\n if (aiInteraction.isAutoApply) {\n this.aiInteractionService.applySolidAiInteraction(genAiInteraction.id);\n }\n }\n\n return aiResponse;\n }\n}\n"]}
@@ -56,7 +56,7 @@ export declare class ModuleMetadataSeederService {
56
56
  readonly dataSource: DataSource;
57
57
  private readonly logger;
58
58
  constructor(moduleMetadataService: ModuleMetadataService, modelMetadataService: ModelMetadataService, fieldMetadataService: FieldMetadataService, mediaStorageProviderMetadataService: MediaStorageProviderMetadataService, roleService: RoleMetadataService, userService: UserService, authenticationService: AuthenticationService, solidActionService: ActionMetadataService, solidMenuItemService: MenuItemMetadataService, solidViewService: ViewMetadataService, mediaStorageProviderSeederService: MediaStorageProviderMetadataSeederService, emailTemplateService: EmailTemplateService, smsTemplateService: SmsTemplateService, listOfValuesService: ListOfValuesService, permissionRepo: PermissionMetadataRepository, solidRegistry: SolidRegistry, appBuilderConfiguration: ConfigType<typeof appBuilderConfig>, iamConfiguration: ConfigType<typeof iamConfig>, commonConfiguration: ConfigType<typeof commonConfig>, settingService: SettingService, settingsRepo: SettingRepository, securityRuleRepo: SecurityRuleRepository, systemFieldsSeederService: SystemFieldsSeederService, dashboardRepo: DashboardRepository, scheduledJobRepository: ScheduledJobRepository, savedFiltersRepo: SavedFiltersRepository, dataSource: DataSource);
59
- seed(): Promise<void>;
59
+ seed(conf?: any): Promise<void>;
60
60
  private seedScheduledJobs;
61
61
  private seedSavedFilters;
62
62
  private seedDashboards;
@@ -1 +1 @@
1
- {"version":3,"file":"module-metadata-seeder.service.d.ts","sourceRoot":"","sources":["../../src/seeders/module-metadata-seeder.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-metadata-seeder.service.d.ts","sourceRoot":"","sources":["../../src/seeders/module-metadata-seeder.service.ts"],"names":[],"mappings":"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"}
@@ -115,12 +115,27 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
115
115
  this.dataSource = dataSource;
116
116
  this.logger = new common_1.Logger(ModuleMetadataSeederService_1.name);
117
117
  }
118
- async seed() {
118
+ async seed(conf) {
119
119
  await this.seedGlobalMetadata();
120
120
  const seedDataFiles = this.seedDataFiles;
121
121
  this.logger.debug(`Seed data files are: ${seedDataFiles}`);
122
- for (let i = 0; i < seedDataFiles.length; i++) {
123
- const overallMetadata = seedDataFiles[i];
122
+ let modulesToSeed = null;
123
+ if (conf && Array.isArray(conf.modulesToSeed)) {
124
+ modulesToSeed = conf.modulesToSeed;
125
+ this.logger.log(`Selective seeding enabled. Modules to seed: ${modulesToSeed.join(', ')}`);
126
+ }
127
+ else {
128
+ this.logger.log(`No modulesToSeed provided. Seeding ALL modules.`);
129
+ }
130
+ const filteredSeedDataFiles = modulesToSeed
131
+ ? seedDataFiles.filter((file) => modulesToSeed.includes(file.moduleMetadata?.name))
132
+ : seedDataFiles;
133
+ if (filteredSeedDataFiles.length === 0) {
134
+ this.logger.warn(`No modules matched the provided modulesToSeed list.`);
135
+ return;
136
+ }
137
+ for (let i = 0; i < filteredSeedDataFiles.length; i++) {
138
+ const overallMetadata = filteredSeedDataFiles[i];
124
139
  const moduleMetadata = overallMetadata.moduleMetadata;
125
140
  this.logger.log(`Seeding Metadata for Module: ${moduleMetadata.name}`);
126
141
  this.logger.log(`Seeding Module / Model / Fields`);
@@ -375,20 +390,28 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
375
390
  const actionRepo = trx.getRepository(src_1.ActionMetadata);
376
391
  const moduleRepo = trx.getRepository(src_1.ModuleMetadata);
377
392
  for (const m of menus) {
378
- const entity = menuRepo.create({
393
+ const action = m.actionUserKey
394
+ ? await actionRepo.findOne({ where: { name: m.actionUserKey }, select: ["id"] })
395
+ : null;
396
+ const module = m.moduleUserKey
397
+ ? await moduleRepo.findOne({ where: { name: m.moduleUserKey }, select: ["id"] })
398
+ : null;
399
+ const parentMenuItem = m.parentMenuItemUserKey
400
+ ? await menuRepo.findOne({ where: { name: m.parentMenuItemUserKey }, select: ["id"] })
401
+ : null;
402
+ const existing = await menuRepo.findOne({
403
+ where: { name: m.name },
404
+ select: ["id"],
405
+ });
406
+ const base = {
379
407
  name: m.name,
380
408
  displayName: m.displayName,
381
- action: m.actionUserKey
382
- ? await actionRepo.findOne({ where: { name: m.actionUserKey }, select: ["id"] })
383
- : null,
384
- module: m.moduleUserKey
385
- ? await moduleRepo.findOne({ where: { name: m.moduleUserKey }, select: ["id"] })
386
- : null,
387
- parentMenuItem: m.parentMenuItemUserKey
388
- ? await menuRepo.findOne({ where: { name: m.parentMenuItemUserKey }, select: ["id"] })
389
- : null,
390
- });
391
- await menuRepo.upsert(entity, ["name"]);
409
+ action,
410
+ module,
411
+ parentMenuItem,
412
+ };
413
+ const entity = menuRepo.create(existing ? { id: existing.id, ...base } : base);
414
+ await menuRepo.save(entity);
392
415
  }
393
416
  const seeded = await menuRepo.find({
394
417
  where: { name: (0, typeorm_1.In)(menus.map((m) => m.name)) },
@@ -435,7 +458,6 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
435
458
  .insert()
436
459
  .into(src_1.MENU_ROLE_JOIN_TABLE_NAME)
437
460
  .values(values)
438
- .orIgnore()
439
461
  .execute();
440
462
  }
441
463
  });
@@ -507,7 +529,7 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
507
529
  fieldMetadata['mediaStorageProvider'] = await this.mediaStorageProviderMetadataService.findOneByUserKey(fieldMetadata.mediaStorageProviderUserKey);
508
530
  }
509
531
  const affectedField = await this.fieldMetadataService.upsert(fieldMetadata);
510
- if (fieldMetadata.name === userKeyFieldName) {
532
+ if (fieldMetadata.name === userKeyFieldName || fieldMetadata.isUserKey) {
511
533
  const { model, ...fieldData } = affectedField;
512
534
  userKeyField = fieldData;
513
535
  }