@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,38 +0,0 @@
1
- import { R2RHelperService } from './r2r-helper.service';
2
- export type FieldIngestionInfo = {
3
- fieldName: string;
4
- fieldChunkId?: string;
5
- fieldHash?: string;
6
- };
7
- export type ModelIngestionInfo = {
8
- modelName: string;
9
- modelChunkId?: string;
10
- modelHash?: string;
11
- fields: FieldIngestionInfo[];
12
- };
13
- export type ModuleRAGIngestionInfo = {
14
- moduleName?: string;
15
- collectionId?: string;
16
- documentId?: string;
17
- documentHash?: string;
18
- moduleChunkId?: string;
19
- moduleHash?: string;
20
- models: ModelIngestionInfo[];
21
- };
22
- export declare class IngestMetadataService {
23
- private readonly r2rService;
24
- private readonly logger;
25
- private ragClient;
26
- constructor(r2rService: R2RHelperService);
27
- private _sha256OfJson;
28
- private _oneLineBool;
29
- private _shortList;
30
- ingest(): Promise<void>;
31
- private resolveRagCollectionForModule;
32
- private deleteInsertRagDocumentForModuleMetadataJsonFile;
33
- private deleteInsertRagChunkForModule;
34
- private deleteInsertRagChunkForModel;
35
- private _buildFieldTextAndMetadata;
36
- private deleteInsertRagChunkForField;
37
- }
38
- //# sourceMappingURL=ingest-metadata.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ingest-metadata.service.d.ts","sourceRoot":"","sources":["../../../src/services/genai/ingest-metadata.service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKxD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAChC,CAAC;AAEF,qBACa,qBAAqB;IAK1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,SAAS,CAAY;gBAGR,UAAU,EAAE,gBAAgB;IAajD,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,UAAU;IAMZ,MAAM;YAwFE,6BAA6B;YAmD7B,gDAAgD;YAqDhD,6BAA6B;YAuG7B,4BAA4B;IAqI1C,OAAO,CAAC,0BAA0B;YA+NpB,4BAA4B;CA4D7C"}
@@ -1,542 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- };
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- var __metadata = (this && this.__metadata) || function (k, v) {
42
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
- };
44
- var IngestMetadataService_1;
45
- Object.defineProperty(exports, "__esModule", { value: true });
46
- exports.IngestMetadataService = void 0;
47
- const common_1 = require("@nestjs/common");
48
- const crypto = __importStar(require("crypto"));
49
- const fs = __importStar(require("fs"));
50
- const path = __importStar(require("path"));
51
- const module_helper_1 = require("../../helpers/module.helper");
52
- const r2r_helper_service_1 = require("./r2r-helper.service");
53
- let IngestMetadataService = IngestMetadataService_1 = class IngestMetadataService {
54
- constructor(r2rService) {
55
- this.r2rService = r2rService;
56
- this.logger = new common_1.Logger(IngestMetadataService_1.name);
57
- }
58
- _sha256OfJson(obj) {
59
- const s = JSON.stringify(obj);
60
- return crypto.createHash('sha256').update(s).digest('hex');
61
- }
62
- _oneLineBool(b) {
63
- return b ? 'yes' : 'no';
64
- }
65
- _shortList(arr, max = 10) {
66
- if (!Array.isArray(arr) || arr.length === 0)
67
- return 'none';
68
- const a = arr.slice(0, max);
69
- return `${a.join(', ')}${arr.length > max ? ', …' : ''}`;
70
- }
71
- async ingest() {
72
- this.ragClient = await this.r2rService.getClient();
73
- this.logger.debug(`getting dynamics modules`);
74
- const enabledModules = (0, module_helper_1.getDynamicModuleNamesBasedOnMetadata)();
75
- this.logger.log(`ingesting metadata`);
76
- for (let i = 0; i < enabledModules.length; i++) {
77
- const enabledModule = enabledModules[i];
78
- const fileName = `${enabledModule}-metadata.json`;
79
- const enabledModuleSeedFile = `module-metadata/${enabledModule}/${fileName}`;
80
- const fullPath = path.join(process.cwd(), enabledModuleSeedFile);
81
- const overallMetadata = JSON.parse(fs.readFileSync(fullPath, 'utf-8').toString());
82
- const moduleMetadata = overallMetadata.moduleMetadata;
83
- const enabledModulIngestionInfoFile = `module-metadata/${enabledModule}/genai/${enabledModule}-ingested-info.json`;
84
- const enabledModulIngestionInfoFullPath = path.join(process.cwd(), enabledModulIngestionInfoFile);
85
- const ingestionInfo = fs.existsSync(enabledModulIngestionInfoFullPath) ? JSON.parse(fs.readFileSync(enabledModulIngestionInfoFullPath, 'utf-8').toString()) : {};
86
- const enabledModulIngestionInfoDir = path.dirname(enabledModulIngestionInfoFullPath);
87
- if (!fs.existsSync(enabledModulIngestionInfoDir)) {
88
- fs.mkdirSync(enabledModulIngestionInfoDir, { recursive: true });
89
- }
90
- ingestionInfo.moduleName = enabledModule;
91
- this.logger.log(`[Start] Processing module metadata for ${moduleMetadata.name}`);
92
- const collectionId = await this.resolveRagCollectionForModule(ingestionInfo, enabledModule);
93
- ingestionInfo.collectionId = collectionId;
94
- await this.deleteInsertRagChunkForModule(ingestionInfo, moduleMetadata);
95
- for (const model of moduleMetadata.models) {
96
- await this.deleteInsertRagChunkForModel(ingestionInfo, enabledModule, model);
97
- }
98
- fs.writeFileSync(enabledModulIngestionInfoFullPath, JSON.stringify({ ...ingestionInfo }, null, 2), 'utf8');
99
- }
100
- }
101
- async resolveRagCollectionForModule(ingestionInfo, moduleName) {
102
- this.logger.debug(`Resolving RAG collection for module: ${moduleName}`);
103
- const collectionName = `${moduleName}-rag-collection`;
104
- const existingCollection = await this.ragClient.collections.retrieveByName({
105
- name: collectionName
106
- });
107
- if (existingCollection) {
108
- try {
109
- await this.ragClient.collections.delete({ id: existingCollection.results.id });
110
- }
111
- catch (e) {
112
- this.logger.warn(`[Warn] Failed deleteByFilter for collection': ${String(e)}`);
113
- }
114
- }
115
- const r = await this.ragClient.collections.create({
116
- name: collectionName,
117
- description: `Collection created to group all documents, chunks related to module: ${moduleName}`
118
- });
119
- return r.results.id;
120
- }
121
- async deleteInsertRagDocumentForModuleMetadataJsonFile(ingestionInfo, fullPath, fileName) {
122
- this.logger.debug(`Ingesting file: ${fullPath}`);
123
- const jsonStr = fs.readFileSync(fullPath, 'utf-8');
124
- const contentHash = this._sha256OfJson(JSON.parse(jsonStr));
125
- if (ingestionInfo.documentHash === contentHash && ingestionInfo.documentId) {
126
- this.logger.log(`[Skip] Unchanged: ${fileName} (hash=${contentHash.slice(0, 8)}…)`);
127
- return;
128
- }
129
- if (ingestionInfo.documentId) {
130
- try {
131
- await this.ragClient.documents.delete({ id: ingestionInfo.documentId });
132
- }
133
- catch (e) {
134
- this.logger.warn(`[Warn] Failed deleting prior document ${ingestionInfo.documentId}: ${String(e)}`);
135
- }
136
- }
137
- const ingestResult = await this.ragClient.documents.create({
138
- file: {
139
- path: fullPath,
140
- name: fileName
141
- },
142
- collectionIds: [ingestionInfo.collectionId],
143
- metadata: {
144
- contentHash,
145
- fileName
146
- },
147
- });
148
- const newId = ingestResult?.results?.documentId;
149
- if (!newId) {
150
- throw new Error(`R2R did not return a documentId for ${fileName}`);
151
- }
152
- ingestionInfo.documentId = newId;
153
- ingestionInfo.documentHash = contentHash;
154
- this.logger.log(`[OK] Ingested ${fileName} → id=${newId}, hash=${contentHash.slice(0, 8)}…`);
155
- }
156
- async deleteInsertRagChunkForModule(ingestionInfo, moduleMetadata) {
157
- const moduleName = moduleMetadata?.name;
158
- const schemaHash = this._sha256OfJson({
159
- name: moduleMetadata?.name ?? null,
160
- description: moduleMetadata?.description ?? null,
161
- models: (moduleMetadata?.models ?? []).map((m) => ({
162
- singularName: m?.singularName ?? null,
163
- description: m?.description ?? null,
164
- })),
165
- });
166
- if (ingestionInfo.moduleHash === schemaHash && ingestionInfo.moduleChunkId) {
167
- this.logger.log(`[Skip] Module unchanged: ${moduleName}`);
168
- return;
169
- }
170
- const models = moduleMetadata?.models ?? [];
171
- const modelLines = models.map((m) => {
172
- const name = m?.singularName;
173
- const desc = m?.description ? `: ${m.description}` : '';
174
- return `- ${name}${desc}`;
175
- });
176
- const text = `SolidX Module: ${moduleName}
177
- Purpose: ${moduleMetadata?.description ?? 'N/A'}
178
-
179
- Models (${models.length}):
180
- ${modelLines.join('\n')}
181
-
182
- Usage: Use this chunk to choose the correct model/field chunks for code generation or metadata edits.`;
183
- const metadata = {
184
- collectionName: `${moduleName}-rag-collection`,
185
- kind: 'solidx-metadata',
186
- type: 'module',
187
- moduleName,
188
- modelCount: models.length,
189
- schemaHash,
190
- models: models.map((m) => m?.singularName).filter(Boolean),
191
- };
192
- try {
193
- const deleteResult = await this.ragClient.documents.deleteByFilter({
194
- filters: {
195
- "$and": [
196
- { 'metadata.kind': { $eq: 'solidx-metadata' } },
197
- { 'metadata.type': { $eq: 'module' } },
198
- { 'metadata.moduleName': { $eq: moduleName } },
199
- { 'metadata.collectionName': { $eq: `${moduleName}-rag-collection` } },
200
- ]
201
- },
202
- });
203
- this.logger.log(`Deleted existing module document for moduleName: ${moduleName}. Got response:`, deleteResult);
204
- }
205
- catch (e) {
206
- this.logger.warn(`[Warn] Failed deleteByFilter for module '${moduleName}': ${String(e)}`);
207
- }
208
- const r = await this.ragClient.documents.create({
209
- chunks: [text],
210
- metadata: metadata,
211
- collectionIds: [ingestionInfo.collectionId],
212
- });
213
- const newId = r?.results?.documentId;
214
- if (!newId) {
215
- throw new Error(`R2R did not return a documentId while creating module chunk for module name ${moduleName}`);
216
- }
217
- ingestionInfo.moduleChunkId = r.results?.documentId;
218
- ingestionInfo.moduleHash = schemaHash;
219
- this.logger.log(`[OK] Ingested module ${moduleName} → id=${newId}, hash=${schemaHash.slice(0, 8)}…`);
220
- }
221
- async deleteInsertRagChunkForModel(ingestionInfo, moduleName, model) {
222
- const modelName = model?.singularName;
223
- const schemaHash = this._sha256OfJson(model);
224
- const modelsArr = ingestionInfo.models ?? (ingestionInfo.models = []);
225
- let modelEntry = modelsArr.find(m => m.modelName === modelName);
226
- if (!modelEntry) {
227
- modelEntry = { modelName, fields: [] };
228
- modelsArr.push(modelEntry);
229
- }
230
- if (modelEntry.modelHash === schemaHash && modelEntry.modelChunkId) {
231
- this.logger.log(`[Skip] Model unchanged: ${moduleName}.${modelName}`);
232
- return;
233
- }
234
- const fields = Array.isArray(model?.fields) ? model.fields : [];
235
- const userkey = fields.find((f) => f?.isUserKey)?.name ?? 'id';
236
- const uniques = fields.filter((f) => f?.unique).map((f) => f.name);
237
- const required = fields.filter((f) => f?.required).map((f) => f.name);
238
- const rels = fields
239
- .filter((f) => f.type === 'relation')
240
- .map((f) => `${modelName}.${f.name} -> ${f.relationCoModelSingularName}.${f.relationCoModelColumnName ?? 'id'}`);
241
- const fieldSummaryLines = fields.slice(0, 30).map((f) => {
242
- const bits = [
243
- `${f.name}:${f.type}`,
244
- f.required ? 'req' : '',
245
- f.unique ? 'unique' : '',
246
- f.isUserKey ? 'userkey' : '',
247
- f.relationCoModelSingularName ? `rel->${f.relationCoModelSingularName}` : '',
248
- ].filter(Boolean).join('|');
249
- return `- ${bits}`;
250
- });
251
- const text = `SolidX Model: ${modelName}
252
- Module: ${moduleName}
253
- Purpose: ${model?.description ?? 'N/A'}
254
-
255
- Signature:
256
- - Primary: ${userkey}
257
- - Unique: ${uniques.length ? uniques.join(', ') : 'none'}
258
- - Required (${required.length}): ${required.slice(0, 12).join(', ')}${required.length > 12 ? '…' : ''}
259
-
260
- Relations (${rels.length}):
261
- ${rels.length ? `- ${rels.join('\n- ')}` : 'None'}
262
-
263
- Fields (${fields.length}) [name:type|flags]:
264
- ${fieldSummaryLines.join('\n')}
265
-
266
- Usage: Use this chunk to generate DTOs, subscribers, custom service methods, and CRUD handlers for ${modelName}.
267
-
268
- Full model metadata json:
269
- ${JSON.stringify(model)}
270
-
271
- `;
272
- const metadata = {
273
- collectionName: `${moduleName}-rag-collection`,
274
- kind: 'solidx-metadata',
275
- type: 'model',
276
- moduleName,
277
- modelName,
278
- fieldCount: fields.length,
279
- requiredCount: required.length,
280
- relationCount: rels.length,
281
- userkey: userkey,
282
- uniqueFields: uniques,
283
- hasTimestamps: !!fields.find((f) => ['time', 'date', 'datetime'].includes(f.type)),
284
- schemaHash,
285
- };
286
- try {
287
- const deleteResult = await this.ragClient.documents.deleteByFilter({
288
- filters: {
289
- "$and": [
290
- { 'metadata.kind': { $eq: 'solidx-metadata' } },
291
- { 'metadata.type': { $eq: 'model' } },
292
- { 'metadata.moduleName': { $eq: moduleName } },
293
- { 'metadata.modelName': { $eq: modelName } },
294
- { 'metadata.collectionName': { $eq: `${moduleName}-rag-collection` } },
295
- ]
296
- },
297
- });
298
- this.logger.log(`Deleted existing model document for modelName: ${modelName}. Got response:`, deleteResult);
299
- }
300
- catch (e) {
301
- this.logger.warn(`[Warn] Failed deleteByFilter for module '${moduleName}': ${String(e)}`);
302
- }
303
- const r = await this.ragClient.documents.create({
304
- chunks: [text],
305
- metadata,
306
- collectionIds: [ingestionInfo.collectionId],
307
- });
308
- const newId = r?.results?.documentId;
309
- if (!newId) {
310
- throw new Error(`R2R did not return a documentId while creating model chunk for ${moduleName}.${modelName}`);
311
- }
312
- modelEntry.modelChunkId = newId;
313
- modelEntry.modelHash = schemaHash;
314
- this.logger.log(`[OK] Ingested model ${moduleName}.${modelName} → id=${newId}, hash=${schemaHash.slice(0, 8)}…`);
315
- }
316
- _buildFieldTextAndMetadata(moduleName, modelName, f) {
317
- const name = f?.name;
318
- const displayName = f?.displayName ?? name;
319
- const description = f?.description ?? 'N/A';
320
- const type = f?.type;
321
- const ormType = f?.ormType ?? null;
322
- const required = !!f?.required;
323
- const unique = !!f?.unique;
324
- const index = !!f?.index;
325
- const length = f?.length ?? null;
326
- const min = f?.min ?? null;
327
- const max = f?.max ?? null;
328
- const defaultValue = f?.defaultValue ?? null;
329
- const regex = f?.regexPattern ?? null;
330
- const regexErr = f?.regexPatternNotMatchingErrorMsg ?? null;
331
- const relationType = f?.relationType ?? null;
332
- const relModule = f?.relationModelModuleName ?? null;
333
- const relModel = f?.relationCoModelSingularName ?? null;
334
- const relField = f?.relationCoModelFieldName ?? 'id';
335
- const relCascade = f?.relationCascade ?? null;
336
- const relFixedFilter = f?.relationFieldFixedFilter ?? null;
337
- const selectionDynProvider = f?.selectionDynamicProvider ?? null;
338
- const selectionDynCtxt = f?.selectionDynamicProviderCtxt ?? null;
339
- const selectionStatic = Array.isArray(f?.selectionStaticValues) ? f.selectionStaticValues : null;
340
- const selectionValueType = f?.selectionValueType ?? null;
341
- const isMultiSelect = !!f?.isMultiSelect;
342
- const mediaTypes = Array.isArray(f?.mediaTypes) ? f.mediaTypes : null;
343
- const mediaMaxSizeKb = f?.mediaMaxSizeKb ?? null;
344
- const mediaStorageProvider = f?.mediaStorageProviderUserKey ?? null;
345
- const computedProvider = f?.computedFieldValueProvider ?? null;
346
- const computedProviderCtxt = f?.computedFieldValueProviderCtxt ?? null;
347
- const computedValueType = f?.computedFieldValueType ?? null;
348
- const computedTriggerCfg = f?.computedFieldTriggerConfig ?? null;
349
- const isPrivate = !!f?.private;
350
- const enableAuditTracking = !!f?.enableAuditTracking;
351
- const isUserKey = !!f?.isUserKey;
352
- const isSystem = !!f?.isSystem;
353
- const isMarkedForRemoval = !!f?.isMarkedForRemoval;
354
- const columnName = f?.columnName ?? null;
355
- const relCoModelColumn = f?.relationCoModelColumnName ?? null;
356
- const uuid = f?.uuid ?? null;
357
- const relationSummary = (() => {
358
- if (!relationType || !relModel)
359
- return 'none';
360
- const parts = [
361
- `type=${relationType}`,
362
- relModule ? `module=${relModule}` : null,
363
- `model=${relModel}`,
364
- relField ? `field=${relField}` : null,
365
- relCascade ? `cascade=${relCascade}` : null,
366
- relFixedFilter ? `fixedFilter=${relFixedFilter}` : null,
367
- ].filter(Boolean);
368
- return parts.join(', ');
369
- })();
370
- const selectionSummary = (() => {
371
- const parts = [];
372
- if (selectionDynProvider)
373
- parts.push(`dynamicProvider=${selectionDynProvider}`);
374
- if (selectionDynCtxt)
375
- parts.push(`dynamicCtxt=${selectionDynCtxt}`);
376
- if (selectionStatic?.length)
377
- parts.push(`static=[${this._shortList(selectionStatic, 12)}]`);
378
- if (selectionValueType)
379
- parts.push(`valueType=${selectionValueType}`);
380
- parts.push(`multiSelect=${this._oneLineBool(isMultiSelect)}`);
381
- return parts.length ? parts.join(', ') : 'none';
382
- })();
383
- const mediaSummary = (() => {
384
- const parts = [];
385
- if (mediaTypes?.length)
386
- parts.push(`types=[${this._shortList(mediaTypes, 12)}]`);
387
- if (mediaMaxSizeKb)
388
- parts.push(`maxSizeKb=${mediaMaxSizeKb}`);
389
- if (mediaStorageProvider)
390
- parts.push(`storageProvider=${typeof mediaStorageProvider === 'string' ? mediaStorageProvider : 'set'}`);
391
- return parts.length ? parts.join(', ') : 'none';
392
- })();
393
- const computedSummary = (() => {
394
- const parts = [];
395
- if (computedProvider)
396
- parts.push(`provider=${computedProvider}`);
397
- if (computedProviderCtxt)
398
- parts.push(`providerCtxt=${computedProviderCtxt}`);
399
- if (computedValueType)
400
- parts.push(`valueType=${computedValueType}`);
401
- if (computedTriggerCfg?.length)
402
- parts.push(`triggers=${computedTriggerCfg.length}`);
403
- return parts.length ? parts.join(', ') : 'none';
404
- })();
405
- const securitySummary = [
406
- `private=${this._oneLineBool(isPrivate)}`,
407
- `auditTracking=${this._oneLineBool(enableAuditTracking)}`
408
- ].filter(Boolean).join(', ');
409
- const constraintSummary = [
410
- `required=${this._oneLineBool(required)}`,
411
- `unique=${this._oneLineBool(unique)}`,
412
- `index=${this._oneLineBool(index)}`,
413
- length !== null ? `length=${length}` : null,
414
- min !== null ? `min=${min}` : null,
415
- max !== null ? `max=${max}` : null,
416
- defaultValue !== null ? `default=${defaultValue}` : null,
417
- regex ? `regex=${regex}${regexErr ? ` (${regexErr})` : ''}` : null
418
- ].filter(Boolean).join(', ');
419
- const mappingSummary = [
420
- columnName ? `column=${columnName}` : null,
421
- relCoModelColumn ? `relColumn=${relCoModelColumn}` : null,
422
- uuid ? `uuid=${uuid}` : null,
423
- `userKey=${this._oneLineBool(isUserKey)}`,
424
- `system=${this._oneLineBool(isSystem)}`,
425
- `markedForRemoval=${this._oneLineBool(isMarkedForRemoval)}`
426
- ].filter(Boolean).join(', ');
427
- const text = [
428
- `SolidX Field: ${name} (${displayName})`,
429
- `Model: ${modelName}`,
430
- `Module: ${moduleName}`,
431
- ``,
432
- `Type: ${type}${ormType ? ` (orm=${ormType})` : ''}`,
433
- `Description: ${description}`,
434
- ``,
435
- `Constraints: ${constraintSummary || 'none'}`,
436
- `Relation: ${relationSummary}`,
437
- `Selection: ${selectionSummary}`,
438
- `Media: ${mediaSummary}`,
439
- `Computed: ${computedSummary}`,
440
- `Security/Privacy/Audit: ${securitySummary}`,
441
- `Mapping/Flags: ${mappingSummary || 'none'}`,
442
- ``,
443
- `Usage: Use this chunk to generate exact field contracts (DTO, form control, DB column), `,
444
- `validation rules, relation wiring, and UI widgets (selection/media/computed).`,
445
- ].join('\n');
446
- const metadata = {
447
- kind: 'solidx-metadata',
448
- type: 'field',
449
- moduleName,
450
- modelName,
451
- fieldName: name,
452
- displayName,
453
- description,
454
- dataType: type,
455
- ormType,
456
- required,
457
- unique,
458
- index,
459
- defaultValue,
460
- length,
461
- min,
462
- max,
463
- regexPattern: regex,
464
- regexPatternNotMatchingErrorMsg: regexErr,
465
- relationType,
466
- relationModelModuleName: relModule,
467
- relationCoModelSingularName: relModel,
468
- relationCoModelFieldName: relField,
469
- relationCascade: relCascade,
470
- relationFieldFixedFilter: relFixedFilter,
471
- selectionDynProvider,
472
- selectionDynCtxt,
473
- selectionStaticValues: selectionStatic,
474
- selectionValueType,
475
- isMultiSelect,
476
- mediaTypes,
477
- mediaMaxSizeKb,
478
- mediaStorageProvider: mediaStorageProvider ? (typeof mediaStorageProvider === 'string' ? mediaStorageProvider : 'set') : null,
479
- computedFieldValueProvider: computedProvider,
480
- computedFieldValueProviderCtxt: computedProviderCtxt,
481
- computedFieldValueType: computedValueType,
482
- computedFieldTriggerConfigCount: Array.isArray(computedTriggerCfg) ? computedTriggerCfg.length : 0,
483
- private: isPrivate,
484
- enableAuditTracking,
485
- columnName,
486
- relationCoModelColumnName: relCoModelColumn,
487
- isUserKey,
488
- isSystem,
489
- isMarkedForRemoval,
490
- };
491
- return { text, metadata };
492
- }
493
- async deleteInsertRagChunkForField(ingestionInfo, moduleName, modelName, field) {
494
- const fieldName = field?.name ?? 'unknown_field';
495
- const schemaHash = this._sha256OfJson(field);
496
- const modelsArr = ingestionInfo.models ?? (ingestionInfo.models = []);
497
- let modelEntry = modelsArr.find(m => m.modelName === modelName);
498
- if (!modelEntry) {
499
- modelEntry = { modelName, fields: [] };
500
- modelsArr.push(modelEntry);
501
- }
502
- const fieldsArr = modelEntry.fields ?? (modelEntry.fields = []);
503
- let fieldEntry = fieldsArr.find(f => f.fieldName === fieldName);
504
- if (!fieldEntry) {
505
- fieldEntry = { fieldName };
506
- fieldsArr.push(fieldEntry);
507
- }
508
- if (fieldEntry.fieldHash === schemaHash && fieldEntry.fieldChunkId) {
509
- this.logger.log(`[Skip] Field unchanged: ${moduleName}.${modelName}.${fieldName}`);
510
- return fieldEntry.fieldChunkId;
511
- }
512
- const { text, metadata } = this._buildFieldTextAndMetadata(moduleName, modelName, field);
513
- metadata.schemaHash = schemaHash;
514
- if (fieldEntry.fieldChunkId) {
515
- try {
516
- await this.ragClient.documents.delete({ id: fieldEntry.fieldChunkId });
517
- }
518
- catch (e) {
519
- this.logger.warn(`[Warn] Failed deleting old field chunk (${fieldEntry.fieldChunkId}): ${String(e)}`);
520
- }
521
- }
522
- const r = await this.ragClient.documents.create({
523
- raw_text: text,
524
- metadata,
525
- collectionIds: [ingestionInfo.collectionId],
526
- });
527
- const newId = r?.results?.documentId;
528
- if (!newId) {
529
- throw new Error(`R2R did not return a documentId while creating field chunk for ${moduleName}.${modelName}.${fieldName}`);
530
- }
531
- fieldEntry.fieldChunkId = newId;
532
- fieldEntry.fieldHash = schemaHash;
533
- this.logger.log(`[OK] Ingested field ${moduleName}.${modelName}.${fieldName} → id=${newId}, hash=${schemaHash.slice(0, 8)}…`);
534
- return newId;
535
- }
536
- };
537
- exports.IngestMetadataService = IngestMetadataService;
538
- exports.IngestMetadataService = IngestMetadataService = IngestMetadataService_1 = __decorate([
539
- (0, common_1.Injectable)(),
540
- __metadata("design:paramtypes", [r2r_helper_service_1.R2RHelperService])
541
- ], IngestMetadataService);
542
- //# sourceMappingURL=ingest-metadata.service.js.map