@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-package.service.js","sourceRoot":"","sources":["../../src/services/module-package.service.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n BadRequestException,\n Injectable,\n Logger,\n NotFoundException,\n} from '@nestjs/common';\nimport { createHash } from 'crypto';\nimport archiver from 'archiver';\nimport { createWriteStream } from 'fs';\nimport { DisallowInProduction } from 'src/decorators/disallow-in-production.decorator';\nimport { ConfirmModulePackageImportDto } from 'src/dtos/confirm-module-package-import.dto';\nimport { RunModulePackageBuildDto } from 'src/dtos/run-module-package-build.dto';\nimport { RunModulePackageSeedDto } from 'src/dtos/run-module-package-seed.dto';\nimport { CommandService } from 'src/helpers/command.service';\nimport { ModuleMetadataHelperService } from 'src/helpers/module-metadata-helper.service';\nimport * as fs from 'fs/promises';\nimport * as path from 'path';\nimport { v4 as uuidv4 } from 'uuid';\n\ntype ModulePackageManifest = {\n schemaVersion: string;\n packageType: string;\n exportedAt?: string;\n generatedBy?: {\n name: string;\n version?: string;\n };\n module: {\n name: string;\n displayName?: string;\n description?: string;\n };\n contents: {\n metadataPath: string;\n apiModulePath: string;\n uiModulePath: string;\n };\n compatibility?: Record<string, unknown>;\n postImport?: Record<string, unknown>;\n checksums?: Record<string, string>;\n};\n\ntype ValidationPayload = {\n valid: boolean;\n errors: string[];\n warnings: string[];\n};\n\ntype PreviewPayload = {\n module: {\n name: string;\n displayName?: string;\n description?: string;\n };\n manifest: ModulePackageManifest;\n contentsSummary: {\n totalEntries: number;\n solidApiEntries: number;\n solidUiEntries: number;\n };\n requiredPaths: {\n metadataPath: string;\n apiModulePath: string;\n uiModulePath: string;\n };\n conflicts: string[];\n fileTree: string[];\n nextActions: string[];\n};\n\ntype ParsedArchive = {\n entries: string[];\n archiveRootPrefix: string | null;\n manifest: ModulePackageManifest;\n metadataDocument: any;\n validation: ValidationPayload;\n preview: PreviewPayload;\n};\n\ntype ModulePackageStatusFile = {\n transactionKey: string;\n status: string;\n currentStep: string;\n moduleName: string | null;\n moduleDisplayName: string | null;\n archiveFileName: string | null;\n archiveFilePath: string | null;\n extractDirPath: string | null;\n archiveRootPrefix: string | null;\n manifest: ModulePackageManifest | null;\n metadataDocument: any;\n preview: PreviewPayload | null;\n validation: ValidationPayload | null;\n conflicts: string[];\n outputs: {\n import: string | null;\n build: string | null;\n seed: string | null;\n };\n errorMessage: string | null;\n createdAt: string;\n updatedAt: string;\n};\n\ntype ModulePackageExportFile = {\n fileName: string;\n filePath: string;\n mimeType: string;\n};\n\ntype ModulePackageRuntimeCleanupResult = {\n runtimeRoot: string;\n removedImportTransactions: number;\n removedExportTransactions: number;\n removedImportLooseEntries: number;\n removedExportLooseEntries: number;\n clearedActiveTransactionPointer: boolean;\n clearedAt: string;\n};\n\ntype ModulePackageActiveTransactionFile = {\n transactionKey: string;\n updatedAt: string;\n};\n\nenum ModulePackageStatus {\n uploaded = 'uploaded',\n validated = 'validated',\n awaiting_confirmation = 'awaiting_confirmation',\n import_running = 'import_running',\n awaiting_restart = 'awaiting_restart',\n build_running = 'build_running',\n build_failed = 'build_failed',\n build_succeeded = 'build_succeeded',\n seed_running = 'seed_running',\n seed_failed = 'seed_failed',\n completed = 'completed',\n failed = 'failed',\n}\n\n@Injectable()\nexport class ModulePackageService {\n private readonly logger = new Logger(ModulePackageService.name);\n private static readonly SUPPORTED_SCHEMA_VERSION = '1.0';\n private static readonly SUPPORTED_PACKAGE_TYPE = 'solidx-module';\n\n constructor(\n private readonly commandService: CommandService,\n private readonly moduleMetadataHelperService: ModuleMetadataHelperService,\n ) { }\n\n @DisallowInProduction()\n async validateUpload(file: Express.Multer.File) {\n if (!file) {\n throw new BadRequestException('A .sldx archive file is required.');\n }\n\n await this.cleanupModulePackageTransactions();\n\n const transactionKey = uuidv4();\n const workingDir = await this.createWorkingDir(transactionKey);\n const archiveFileName = file.originalname || path.basename(file.path);\n const archiveFilePath = path.join(workingDir, archiveFileName);\n const extractDirPath = path.join(workingDir, 'extract');\n\n await fs.mkdir(extractDirPath, { recursive: true });\n await fs.rename(file.path, archiveFilePath);\n\n const parsed = await this.parseArchive(archiveFilePath);\n await this.extractArchive(archiveFilePath, extractDirPath);\n\n const transaction: ModulePackageStatusFile = {\n transactionKey,\n status: parsed.validation.valid ? ModulePackageStatus.awaiting_confirmation : ModulePackageStatus.failed,\n currentStep: 'preview',\n moduleName: parsed.manifest.module.name,\n moduleDisplayName: parsed.manifest.module.displayName ?? null,\n archiveFileName,\n archiveFilePath,\n extractDirPath,\n archiveRootPrefix: parsed.archiveRootPrefix,\n manifest: parsed.manifest,\n metadataDocument: parsed.metadataDocument,\n preview: parsed.preview,\n validation: parsed.validation,\n conflicts: parsed.preview.conflicts,\n outputs: {\n import: null,\n build: null,\n seed: null,\n },\n errorMessage: parsed.validation.valid ? null : parsed.validation.errors.join('\\n'),\n createdAt: new Date().toISOString(),\n updatedAt: new Date().toISOString(),\n };\n\n await this.writeStatusFile(transactionKey, transaction);\n return this.toStatusResponse(transaction);\n }\n\n async getStatus(transactionKey: string) {\n const transaction = await this.loadTransaction(transactionKey);\n return this.toStatusResponse(transaction);\n }\n\n @DisallowInProduction()\n async getLatestResumableImport() {\n await this.cleanupModulePackageTransactions();\n const transaction = await this.resolveLatestResumableTransaction();\n return transaction ? this.toStatusResponse(transaction) : null;\n }\n\n @DisallowInProduction()\n async dismissImport(transactionKey: string) {\n const transaction = await this.loadTransaction(transactionKey);\n await this.clearActiveTransactionIfMatches(transaction.transactionKey);\n return this.toStatusResponse(transaction);\n }\n\n @DisallowInProduction()\n async clearPackageRuntime(): Promise<ModulePackageRuntimeCleanupResult> {\n const runtimeRoot = this.getModulePackageRuntimeRoot();\n const importsRoot = this.getModulePackageImportsRoot();\n const exportsRoot = this.getModulePackageExportsRoot();\n const snapshot = await this.collectRuntimeCleanupSnapshot();\n\n await fs.rm(runtimeRoot, { recursive: true, force: true });\n await fs.mkdir(importsRoot, { recursive: true });\n await fs.mkdir(exportsRoot, { recursive: true });\n\n return {\n runtimeRoot,\n ...snapshot,\n clearedAt: new Date().toISOString(),\n };\n }\n\n @DisallowInProduction()\n async exportModulePackage(moduleNameInput: string): Promise<ModulePackageExportFile> {\n const moduleName = (moduleNameInput ?? '').trim();\n if (!moduleName) {\n throw new BadRequestException('A module name is required to export a module package.');\n }\n\n const solidApiModulePath = this.getSolidApiModuleTargetPath(moduleName);\n const solidUiModulePath = this.getSolidUiModuleTargetPath(moduleName);\n const metadataFilePath = await this.moduleMetadataHelperService.getModuleMetadataFilePath(moduleName);\n\n await this.assertPathExists(solidApiModulePath, 'solid-api module path');\n await this.assertPathExists(solidUiModulePath, 'solid-ui module path');\n await this.assertPathExists(metadataFilePath, 'module metadata file');\n\n const metadataDocument = this.parseMetadataDocument(\n await fs.readFile(metadataFilePath, 'utf-8'),\n [],\n );\n\n const transactionKey = uuidv4();\n const exportRoot = path.join(this.getModulePackageExportsRoot(), transactionKey);\n const stagingDir = path.join(exportRoot, 'staging');\n const archiveFileName = `${moduleName}.sldx`;\n const archiveFilePath = path.join(exportRoot, archiveFileName);\n\n await fs.mkdir(path.join(stagingDir, 'solid-api', 'src'), { recursive: true });\n await fs.mkdir(path.join(stagingDir, 'solid-ui', 'src'), { recursive: true });\n\n await fs.cp(solidApiModulePath, path.join(stagingDir, 'solid-api', 'src', moduleName), { recursive: true });\n await fs.cp(solidUiModulePath, path.join(stagingDir, 'solid-ui', 'src', moduleName), { recursive: true });\n\n const manifest = await this.buildExportManifest(moduleName, metadataDocument, stagingDir);\n await fs.writeFile(\n path.join(stagingDir, 'manifest.json'),\n JSON.stringify(manifest, null, 2),\n 'utf-8',\n );\n\n await this.createArchiveFromDirectory(stagingDir, archiveFilePath);\n\n return {\n fileName: archiveFileName,\n filePath: archiveFilePath,\n mimeType: 'application/zip',\n };\n }\n\n @DisallowInProduction()\n async confirmImport(transactionKey: string, dto: ConfirmModulePackageImportDto = {}) {\n const transaction = await this.loadTransaction(transactionKey);\n const preview = transaction.preview;\n const validation = transaction.validation;\n\n if (!preview || !validation) {\n throw new BadRequestException('The module package transaction is missing preview or validation data.');\n }\n\n if (!validation.valid) {\n throw new BadRequestException({\n message: 'The uploaded module package is invalid and cannot be imported.',\n validation,\n });\n }\n\n const overwriteExisting = dto.overwriteExisting ?? false;\n if (preview.conflicts.length > 0 && !overwriteExisting) {\n throw new BadRequestException({\n message: 'Conflicts were detected. Re-submit with overwriteExisting=true to continue.',\n conflicts: preview.conflicts,\n });\n }\n\n transaction.status = ModulePackageStatus.import_running;\n transaction.currentStep = 'import';\n transaction.errorMessage = null;\n await this.writeStatusFile(transactionKey, transaction);\n\n try {\n const moduleName = preview.module.name;\n const solidApiTarget = this.getSolidApiModuleTargetPath(moduleName);\n const solidUiTarget = this.getSolidUiModuleTargetPath(moduleName);\n const extractRoot = transaction.archiveRootPrefix\n ? path.join(transaction.extractDirPath as string, transaction.archiveRootPrefix.replace(/\\/$/, ''))\n : transaction.extractDirPath as string;\n const solidApiSource = path.join(extractRoot, 'solid-api', 'src', moduleName);\n const solidUiSource = path.join(extractRoot, 'solid-ui', 'src', moduleName);\n\n await this.assertPathExists(solidApiSource, 'solid-api module source');\n await this.assertPathExists(solidUiSource, 'solid-ui module source');\n\n if (overwriteExisting) {\n await fs.rm(solidApiTarget, { recursive: true, force: true });\n await fs.rm(solidUiTarget, { recursive: true, force: true });\n }\n\n await fs.mkdir(path.dirname(solidApiTarget), { recursive: true });\n await fs.mkdir(path.dirname(solidUiTarget), { recursive: true });\n\n await fs.cp(solidApiSource, solidApiTarget, { recursive: true, force: overwriteExisting });\n await fs.cp(solidUiSource, solidUiTarget, { recursive: true, force: overwriteExisting });\n\n if (transaction.extractDirPath) {\n await fs.rm(transaction.extractDirPath, { recursive: true, force: true });\n transaction.extractDirPath = null;\n }\n\n transaction.status = ModulePackageStatus.awaiting_restart;\n transaction.currentStep = 'restart';\n transaction.outputs.import = [\n `Placed solid-api module at ${solidApiTarget}`,\n `Placed solid-ui module at ${solidUiTarget}`,\n `Metadata file placed at ${preview.requiredPaths.metadataPath}`,\n ].join('\\n');\n await this.writeStatusFile(transactionKey, transaction);\n await this.syncActiveTransactionPointer(transaction);\n\n return this.toStatusResponse(transaction);\n } catch (error: any) {\n transaction.status = ModulePackageStatus.failed;\n transaction.currentStep = 'import';\n transaction.errorMessage = error.message ?? 'Failed to import the module package.';\n await this.writeStatusFile(transactionKey, transaction);\n await this.syncActiveTransactionPointer(transaction);\n throw error;\n }\n }\n\n @DisallowInProduction()\n async runBuild(transactionKey: string, dto: RunModulePackageBuildDto = {}) {\n const transaction = await this.loadTransaction(transactionKey);\n transaction.status = ModulePackageStatus.build_running;\n transaction.currentStep = 'build';\n transaction.errorMessage = null;\n await this.writeStatusFile(transactionKey, transaction);\n\n try {\n const buildSolidApi = dto.buildSolidApi ?? true;\n const buildSolidUi = dto.buildSolidUi ?? true;\n const outputs: string[] = [];\n const failedTargets: string[] = [];\n const projectRoot = this.getProjectRoot();\n\n if (buildSolidApi) {\n try {\n const output = await this.commandService.executeCommandWithArgs({\n command: 'npx',\n args: ['-y', '@solidxai/solidctl@latest', 'build'],\n cwd: projectRoot,\n });\n outputs.push(`solidctl build [success]\\n${output}`.trim());\n } catch (error: any) {\n failedTargets.push('solidctl build');\n outputs.push(`solidctl build [failed]\\n${error?.message ?? 'Build failed.'}`.trim());\n }\n }\n\n if (buildSolidUi) {\n try {\n const output = await this.commandService.executeCommandWithArgs({\n command: 'npx',\n args: ['-y', '@solidxai/solidctl@latest', 'build', '--ui-only'],\n cwd: projectRoot,\n });\n outputs.push(`solidctl build --ui-only [success]\\n${output}`.trim());\n } catch (error: any) {\n failedTargets.push('solidctl build --ui-only');\n outputs.push(`solidctl build --ui-only [failed]\\n${error?.message ?? 'Build failed.'}`.trim());\n }\n }\n\n transaction.status = failedTargets.length > 0\n ? ModulePackageStatus.build_failed\n : ModulePackageStatus.build_succeeded;\n transaction.currentStep = 'build';\n transaction.outputs.build = outputs.join('\\n\\n');\n transaction.errorMessage = failedTargets.length > 0\n ? `Build completed with errors in: ${failedTargets.join(', ')}`\n : null;\n await this.writeStatusFile(transactionKey, transaction);\n await this.syncActiveTransactionPointer(transaction);\n\n return this.toStatusResponse(transaction);\n } catch (error: any) {\n transaction.status = ModulePackageStatus.build_failed;\n transaction.currentStep = 'build';\n transaction.errorMessage = error.message ?? 'Build failed.';\n transaction.outputs.build = error.message ?? '';\n await this.writeStatusFile(transactionKey, transaction);\n await this.syncActiveTransactionPointer(transaction);\n throw error;\n }\n }\n\n @DisallowInProduction()\n async runSeed(transactionKey: string, dto: RunModulePackageSeedDto = {}) {\n const transaction = await this.loadTransaction(transactionKey);\n const moduleName = transaction.moduleName;\n\n if (!moduleName) {\n throw new BadRequestException('Unable to seed because the transaction is missing moduleName.');\n }\n\n transaction.status = ModulePackageStatus.seed_running;\n transaction.currentStep = 'seed';\n transaction.errorMessage = null;\n await this.writeStatusFile(transactionKey, transaction);\n\n try {\n const output = await this.commandService.executeCommandWithArgs({\n command: 'npx',\n args: ['-y', '@solidxai/solidctl@latest', 'seed', '--modules-to-seed', moduleName],\n cwd: this.getProjectRoot(),\n });\n transaction.status = ModulePackageStatus.completed;\n transaction.currentStep = 'done';\n transaction.outputs.seed = [\n `solidctl seed --modules-to-seed ${moduleName} [success]`,\n output,\n ].filter(Boolean).join('\\n');\n await this.writeStatusFile(transactionKey, transaction);\n await this.syncActiveTransactionPointer(transaction);\n\n return this.toStatusResponse(transaction);\n } catch (error: any) {\n transaction.status = ModulePackageStatus.seed_failed;\n transaction.currentStep = 'seed';\n transaction.errorMessage = error.message ?? 'Seed failed.';\n transaction.outputs.seed = error.message ?? '';\n await this.writeStatusFile(transactionKey, transaction);\n await this.syncActiveTransactionPointer(transaction);\n return this.toStatusResponse(transaction);\n }\n }\n\n private async parseArchive(archiveFilePath: string): Promise<ParsedArchive> {\n const entries = await this.listArchiveEntries(archiveFilePath);\n const archiveRootPrefix = this.detectArchiveRootPrefix(entries);\n const normalizedEntries = this.normalizeArchiveEntries(entries, archiveRootPrefix);\n const validationErrors: string[] = [];\n const validationWarnings: string[] = [];\n\n if (path.extname(archiveFilePath).toLowerCase() !== '.sldx') {\n validationErrors.push('Only .sldx archives are supported.');\n }\n\n const unsafeEntries = normalizedEntries.filter((entry) => this.isUnsafeArchivePath(entry));\n if (unsafeEntries.length > 0) {\n validationErrors.push(`Archive contains unsafe paths: ${unsafeEntries.join(', ')}`);\n }\n\n if (!normalizedEntries.includes('manifest.json')) {\n validationErrors.push('Archive is missing manifest.json at the root.');\n }\n\n const manifestArchivePath = this.toArchiveEntryPath(archiveRootPrefix, 'manifest.json');\n const manifestText = normalizedEntries.includes('manifest.json')\n ? await this.readArchiveEntry(archiveFilePath, manifestArchivePath)\n : '';\n const manifest = this.parseManifest(manifestText, validationErrors);\n\n if (!manifest) {\n return {\n entries: normalizedEntries,\n archiveRootPrefix,\n manifest: this.getFallbackManifest(),\n metadataDocument: null,\n validation: {\n valid: false,\n errors: validationErrors,\n warnings: validationWarnings,\n },\n preview: {\n module: { name: '', displayName: '' },\n manifest: this.getFallbackManifest(),\n contentsSummary: {\n totalEntries: normalizedEntries.length,\n solidApiEntries: normalizedEntries.filter((entry) => entry.startsWith('solid-api/')).length,\n solidUiEntries: normalizedEntries.filter((entry) => entry.startsWith('solid-ui/')).length,\n },\n requiredPaths: {\n metadataPath: '',\n apiModulePath: '',\n uiModulePath: '',\n },\n conflicts: [],\n fileTree: normalizedEntries,\n nextActions: ['Fix archive structure and upload again.'],\n },\n };\n }\n\n if (manifest.packageType !== ModulePackageService.SUPPORTED_PACKAGE_TYPE) {\n validationErrors.push(`manifest.json packageType must be \"${ModulePackageService.SUPPORTED_PACKAGE_TYPE}\".`);\n }\n if (manifest.schemaVersion !== ModulePackageService.SUPPORTED_SCHEMA_VERSION) {\n validationErrors.push(`manifest.json schemaVersion must be \"${ModulePackageService.SUPPORTED_SCHEMA_VERSION}\".`);\n }\n if (!manifest.module?.name) {\n validationErrors.push('manifest.json module.name is required.');\n }\n\n const moduleName = manifest.module?.name ?? '';\n const expectedPaths = this.buildExpectedPaths(moduleName);\n\n if (manifest.contents?.metadataPath !== expectedPaths.metadataPath) {\n validationErrors.push(`manifest.json contents.metadataPath must be \"${expectedPaths.metadataPath}\".`);\n }\n if (manifest.contents?.apiModulePath !== expectedPaths.apiModulePath) {\n validationErrors.push(`manifest.json contents.apiModulePath must be \"${expectedPaths.apiModulePath}\".`);\n }\n if (manifest.contents?.uiModulePath !== expectedPaths.uiModulePath) {\n validationErrors.push(`manifest.json contents.uiModulePath must be \"${expectedPaths.uiModulePath}\".`);\n }\n\n if (!normalizedEntries.includes(expectedPaths.metadataPath)) {\n validationErrors.push(`Archive is missing ${expectedPaths.metadataPath}.`);\n }\n if (!normalizedEntries.includes(expectedPaths.apiModulePath)) {\n validationErrors.push(`Archive is missing ${expectedPaths.apiModulePath}.`);\n }\n if (!normalizedEntries.includes(expectedPaths.uiModulePath)) {\n validationErrors.push(`Archive is missing ${expectedPaths.uiModulePath}.`);\n }\n\n const metadataDocument = normalizedEntries.includes(expectedPaths.metadataPath)\n ? this.parseMetadataDocument(\n await this.readArchiveEntry(archiveFilePath, this.toArchiveEntryPath(archiveRootPrefix, expectedPaths.metadataPath)),\n validationErrors,\n )\n : null;\n\n const metadataModuleName = metadataDocument?.moduleMetadata?.name;\n if (metadataModuleName && metadataModuleName !== moduleName) {\n validationErrors.push(`Metadata module name \"${metadataModuleName}\" does not match manifest module name \"${moduleName}\".`);\n }\n\n if (!manifest.checksums || Object.keys(manifest.checksums).length === 0) {\n validationWarnings.push('manifest.json does not include checksums. Checksums are recommended.');\n }\n\n const conflicts = await this.detectConflicts(moduleName);\n if (conflicts.length > 0) {\n validationWarnings.push('The target module already exists locally and will require overwrite confirmation.');\n }\n\n const validation: ValidationPayload = {\n valid: validationErrors.length === 0,\n errors: validationErrors,\n warnings: validationWarnings,\n };\n\n const preview: PreviewPayload = {\n module: manifest.module,\n manifest,\n contentsSummary: {\n totalEntries: normalizedEntries.length,\n solidApiEntries: normalizedEntries.filter((entry) => entry.startsWith('solid-api/')).length,\n solidUiEntries: normalizedEntries.filter((entry) => entry.startsWith('solid-ui/')).length,\n },\n requiredPaths: expectedPaths,\n conflicts,\n fileTree: normalizedEntries,\n nextActions: [\n 'Review archive preview.',\n 'Confirm import to place files locally.',\n 'Wait for service restart, then run build and seed.',\n ],\n };\n\n return {\n entries: normalizedEntries,\n archiveRootPrefix,\n manifest,\n metadataDocument,\n validation,\n preview,\n };\n }\n\n private parseManifest(manifestText: string, validationErrors: string[]): ModulePackageManifest | null {\n if (!manifestText) {\n return null;\n }\n\n try {\n return JSON.parse(manifestText) as ModulePackageManifest;\n } catch (error) {\n validationErrors.push('manifest.json is not valid JSON.');\n return null;\n }\n }\n\n private parseMetadataDocument(documentText: string, validationErrors: string[]) {\n try {\n return JSON.parse(documentText);\n } catch (error) {\n validationErrors.push('Module metadata JSON is not valid JSON.');\n return null;\n }\n }\n\n private async listArchiveEntries(archiveFilePath: string): Promise<string[]> {\n const output = await this.commandService.executeCommandWithArgs({\n command: 'unzip',\n args: ['-Z1', archiveFilePath],\n });\n\n return output\n .split(/\\r?\\n/)\n .map((entry) => entry.trim())\n .filter(Boolean);\n }\n\n private async readArchiveEntry(archiveFilePath: string, entryPath: string): Promise<string> {\n return this.commandService.executeCommandWithArgs({\n command: 'unzip',\n args: ['-p', archiveFilePath, entryPath],\n });\n }\n\n private async extractArchive(archiveFilePath: string, extractDirPath: string) {\n await this.commandService.executeCommandWithArgs({\n command: 'unzip',\n args: ['-o', archiveFilePath, '-d', extractDirPath],\n });\n }\n\n private async detectConflicts(moduleName: string): Promise<string[]> {\n const conflicts: string[] = [];\n const solidApiTarget = this.getSolidApiModuleTargetPath(moduleName);\n const solidUiTarget = this.getSolidUiModuleTargetPath(moduleName);\n const metadataFilePath = await this.moduleMetadataHelperService.getModuleMetadataFilePath(moduleName);\n\n if (await this.pathExists(solidApiTarget)) {\n conflicts.push(`solid-api module already exists at ${solidApiTarget}`);\n }\n if (await this.pathExists(solidUiTarget)) {\n conflicts.push(`solid-ui module already exists at ${solidUiTarget}`);\n }\n if (await this.pathExists(metadataFilePath)) {\n conflicts.push(`module metadata already exists at ${metadataFilePath}`);\n }\n\n return conflicts;\n }\n\n private buildExpectedPaths(moduleName: string) {\n return {\n metadataPath: `solid-api/src/${moduleName}/metadata/${moduleName}-metadata.json`,\n apiModulePath: `solid-api/src/${moduleName}/${moduleName}.module.ts`,\n uiModulePath: `solid-ui/src/${moduleName}/${moduleName}.ui-module.ts`,\n };\n }\n\n private detectArchiveRootPrefix(entries: string[]): string | null {\n const normalized = entries\n .map((entry) => entry.trim())\n .filter(Boolean)\n .filter((entry) => !this.isMacOsMetadataEntry(entry));\n\n if (normalized.length === 0) {\n return null;\n }\n\n const topLevelSegments = normalized\n .map((entry) => entry.split('/')[0])\n .filter(Boolean);\n\n const uniqueTopLevelSegments = Array.from(new Set(topLevelSegments));\n if (uniqueTopLevelSegments.length !== 1) {\n return null;\n }\n\n const onlySegment = uniqueTopLevelSegments[0];\n const hasNestedEntries = normalized.some((entry) => entry.startsWith(`${onlySegment}/`));\n return hasNestedEntries ? `${onlySegment}/` : null;\n }\n\n private normalizeArchiveEntries(entries: string[], archiveRootPrefix: string | null) {\n const filteredEntries = entries.filter((entry) => !this.isMacOsMetadataEntry(entry));\n\n if (!archiveRootPrefix) {\n return filteredEntries;\n }\n\n return filteredEntries\n .map((entry) => entry.startsWith(archiveRootPrefix) ? entry.slice(archiveRootPrefix.length) : entry)\n .filter(Boolean);\n }\n\n private toArchiveEntryPath(archiveRootPrefix: string | null, normalizedEntryPath: string) {\n return archiveRootPrefix ? `${archiveRootPrefix}${normalizedEntryPath}` : normalizedEntryPath;\n }\n\n private isUnsafeArchivePath(entry: string) {\n return entry.startsWith('/') || entry.includes('..') || /^[A-Za-z]:/.test(entry);\n }\n\n private isMacOsMetadataEntry(entry: string) {\n const normalizedEntry = entry.trim();\n if (!normalizedEntry) {\n return false;\n }\n\n const segments = normalizedEntry.split('/').filter(Boolean);\n return segments.some((segment) => segment === '__MACOSX' || segment.startsWith('._'));\n }\n\n private getFallbackManifest(): ModulePackageManifest {\n return {\n schemaVersion: ModulePackageService.SUPPORTED_SCHEMA_VERSION,\n packageType: ModulePackageService.SUPPORTED_PACKAGE_TYPE,\n module: { name: '', displayName: '' },\n contents: {\n metadataPath: '',\n apiModulePath: '',\n uiModulePath: '',\n },\n };\n }\n\n private async loadTransaction(transactionKey: string) {\n this.assertSafeTransactionKey(transactionKey);\n const statusFilePath = this.getStatusFilePath(transactionKey);\n\n if (!(await this.pathExists(statusFilePath))) {\n throw new NotFoundException(`Module package transaction ${transactionKey} was not found.`);\n }\n\n return JSON.parse(await fs.readFile(statusFilePath, 'utf-8')) as ModulePackageStatusFile;\n }\n\n private isResumableStatus(status: string | null | undefined) {\n return [\n ModulePackageStatus.import_running,\n ModulePackageStatus.awaiting_restart,\n ModulePackageStatus.build_running,\n ModulePackageStatus.build_failed,\n ModulePackageStatus.build_succeeded,\n ModulePackageStatus.seed_running,\n ModulePackageStatus.seed_failed,\n ].includes(status as ModulePackageStatus);\n }\n\n private async createWorkingDir(transactionKey: string) {\n const baseDir = path.join(\n this.getModulePackageImportsRoot(),\n transactionKey,\n );\n\n await fs.mkdir(baseDir, { recursive: true });\n return baseDir;\n }\n\n private getSolidApiRoot() {\n return process.cwd();\n }\n\n private getProjectRoot() {\n return path.resolve(this.getSolidApiRoot(), '..');\n }\n\n private getSolidUiRoot() {\n return path.join(this.getProjectRoot(), 'solid-ui');\n }\n\n private getModulePackageImportsRoot() {\n return path.join(\n this.getModulePackageRuntimeRoot(),\n 'module-package-imports',\n );\n }\n\n private getModulePackageExportsRoot() {\n return path.join(\n this.getModulePackageRuntimeRoot(),\n 'module-package-exports',\n );\n }\n\n private getModulePackageRuntimeRoot() {\n const configuredRuntimeRoot = process.env.SOLIDX_MODULE_PACKAGE_RUNTIME_DIR?.trim();\n\n if (configuredRuntimeRoot) {\n return path.resolve(configuredRuntimeRoot);\n }\n\n return path.join(\n this.getProjectRoot(),\n '.solidx-runtime',\n );\n }\n\n private getSolidApiModuleTargetPath(moduleName: string) {\n return path.join(this.getSolidApiRoot(), 'src', moduleName);\n }\n\n private getSolidUiModuleTargetPath(moduleName: string) {\n return path.join(this.getSolidUiRoot(), 'src', moduleName);\n }\n\n private async pathExists(targetPath: string) {\n try {\n await fs.access(targetPath);\n return true;\n } catch (error) {\n return false;\n }\n }\n\n private async assertPathExists(targetPath: string, label: string) {\n if (!(await this.pathExists(targetPath))) {\n throw new BadRequestException(`Expected ${label} at ${targetPath}, but it was not found in the extracted archive.`);\n }\n }\n\n private async readDirSafe(targetPath: string) {\n try {\n return await fs.readdir(targetPath, { withFileTypes: true });\n } catch (error) {\n return [];\n }\n }\n\n private assertSafeTransactionKey(transactionKey: string) {\n if (!/^[a-zA-Z0-9-]+$/.test(transactionKey)) {\n throw new BadRequestException('Invalid module package transaction key.');\n }\n }\n\n private getStatusFilePath(transactionKey: string) {\n this.assertSafeTransactionKey(transactionKey);\n return path.join(this.getModulePackageImportsRoot(), transactionKey, 'status.json');\n }\n\n private getActiveTransactionFilePath() {\n return path.join(this.getModulePackageImportsRoot(), 'active-transaction.json');\n }\n\n private async writeStatusFile(transactionKey: string, payload: ModulePackageStatusFile) {\n payload.updatedAt = new Date().toISOString();\n const statusFilePath = this.getStatusFilePath(transactionKey);\n await fs.mkdir(path.dirname(statusFilePath), { recursive: true });\n await fs.writeFile(statusFilePath, JSON.stringify(payload, null, 2));\n }\n\n private async markActiveTransaction(transactionKey: string) {\n const activeTransactionFilePath = this.getActiveTransactionFilePath();\n await fs.mkdir(path.dirname(activeTransactionFilePath), { recursive: true });\n const payload: ModulePackageActiveTransactionFile = {\n transactionKey,\n updatedAt: new Date().toISOString(),\n };\n await fs.writeFile(activeTransactionFilePath, JSON.stringify(payload, null, 2));\n }\n\n private async clearActiveTransactionIfMatches(transactionKey: string) {\n const activeTransaction = await this.loadActiveTransactionPointer();\n if (!activeTransaction || activeTransaction.transactionKey !== transactionKey) {\n return;\n }\n\n await fs.rm(this.getActiveTransactionFilePath(), { force: true });\n }\n\n private async loadActiveTransactionPointer(): Promise<ModulePackageActiveTransactionFile | null> {\n try {\n return JSON.parse(await fs.readFile(this.getActiveTransactionFilePath(), 'utf-8')) as ModulePackageActiveTransactionFile;\n } catch (error) {\n return null;\n }\n }\n\n private async syncActiveTransactionPointer(transaction: ModulePackageStatusFile) {\n if (this.isResumableStatus(transaction.status)) {\n await this.markActiveTransaction(transaction.transactionKey);\n return;\n }\n\n await this.clearActiveTransactionIfMatches(transaction.transactionKey);\n }\n\n private async collectRuntimeCleanupSnapshot() {\n const importEntries = await this.readDirSafe(this.getModulePackageImportsRoot());\n const exportEntries = await this.readDirSafe(this.getModulePackageExportsRoot());\n\n const importTransactionEntries = importEntries.filter(\n (entry) => entry.isDirectory() && /^[a-zA-Z0-9-]+$/.test(entry.name),\n );\n const exportTransactionEntries = exportEntries.filter(\n (entry) => entry.isDirectory() && /^[a-zA-Z0-9-]+$/.test(entry.name),\n );\n\n const importLooseEntries = importEntries.filter(\n (entry) => !(entry.isDirectory() && /^[a-zA-Z0-9-]+$/.test(entry.name)),\n );\n const exportLooseEntries = exportEntries.filter(\n (entry) => !(entry.isDirectory() && /^[a-zA-Z0-9-]+$/.test(entry.name)),\n );\n\n return {\n removedImportTransactions: importTransactionEntries.length,\n removedExportTransactions: exportTransactionEntries.length,\n removedImportLooseEntries: importLooseEntries.length,\n removedExportLooseEntries: exportLooseEntries.length,\n clearedActiveTransactionPointer: importEntries.some((entry) => entry.name === 'active-transaction.json'),\n };\n }\n\n private getCompletedTransactionRetentionMs() {\n const retentionDays = Number(process.env.SOLIDX_MODULE_PACKAGE_RETENTION_DAYS ?? 7);\n const safeDays = Number.isFinite(retentionDays) && retentionDays > 0 ? retentionDays : 7;\n return safeDays * 24 * 60 * 60 * 1000;\n }\n\n private getPendingTransactionRetentionMs() {\n const retentionHours = Number(process.env.SOLIDX_MODULE_PACKAGE_PENDING_RETENTION_HOURS ?? 24);\n const safeHours = Number.isFinite(retentionHours) && retentionHours > 0 ? retentionHours : 24;\n return safeHours * 60 * 60 * 1000;\n }\n\n private async cleanupModulePackageTransactions() {\n const importsRoot = this.getModulePackageImportsRoot();\n const activePointer = await this.loadActiveTransactionPointer();\n const now = Date.now();\n\n try {\n await fs.mkdir(importsRoot, { recursive: true });\n const entries = await fs.readdir(importsRoot, { withFileTypes: true });\n\n for (const entry of entries) {\n if (!entry.isDirectory()) {\n continue;\n }\n\n const transactionKey = entry.name;\n if (!/^[a-zA-Z0-9-]+$/.test(transactionKey)) {\n continue;\n }\n\n const statusFilePath = this.getStatusFilePath(transactionKey);\n let transaction: ModulePackageStatusFile | null = null;\n\n try {\n transaction = JSON.parse(await fs.readFile(statusFilePath, 'utf-8')) as ModulePackageStatusFile;\n } catch (error) {\n continue;\n }\n\n const updatedAtMs = transaction.updatedAt ? new Date(transaction.updatedAt).getTime() : 0;\n const ageMs = updatedAtMs > 0 ? now - updatedAtMs : Number.MAX_SAFE_INTEGER;\n const isResumable = this.isResumableStatus(transaction.status);\n const maxAgeMs = isResumable\n ? this.getPendingTransactionRetentionMs()\n : this.getCompletedTransactionRetentionMs();\n const shouldDelete = ageMs > maxAgeMs;\n\n if (!shouldDelete) {\n continue;\n }\n\n await fs.rm(path.join(importsRoot, transactionKey), { recursive: true, force: true });\n\n if (activePointer?.transactionKey === transactionKey) {\n await fs.rm(this.getActiveTransactionFilePath(), { force: true });\n }\n }\n } catch (error) {\n this.logger.warn(`Failed to clean up module package transactions: ${String(error)}`);\n }\n }\n\n private async resolveLatestResumableTransaction(): Promise<ModulePackageStatusFile | null> {\n const activePointer = await this.loadActiveTransactionPointer();\n if (activePointer?.transactionKey) {\n try {\n const activeTransaction = await this.loadTransaction(activePointer.transactionKey);\n if (this.isResumableStatus(activeTransaction.status)) {\n return activeTransaction;\n }\n\n await this.clearActiveTransactionIfMatches(activePointer.transactionKey);\n } catch (error) {\n await this.clearActiveTransactionIfMatches(activePointer.transactionKey);\n }\n }\n\n const importsRoot = this.getModulePackageImportsRoot();\n const candidates: ModulePackageStatusFile[] = [];\n\n try {\n const entries = await fs.readdir(importsRoot, { withFileTypes: true });\n\n for (const entry of entries) {\n if (!entry.isDirectory()) {\n continue;\n }\n\n const transactionKey = entry.name;\n if (!/^[a-zA-Z0-9-]+$/.test(transactionKey)) {\n continue;\n }\n\n try {\n const transaction = await this.loadTransaction(transactionKey);\n if (this.isResumableStatus(transaction.status)) {\n candidates.push(transaction);\n }\n } catch (error) {\n continue;\n }\n }\n } catch (error) {\n return null;\n }\n\n candidates.sort((left, right) => {\n const leftUpdatedAt = new Date(left.updatedAt ?? left.createdAt ?? 0).getTime();\n const rightUpdatedAt = new Date(right.updatedAt ?? right.createdAt ?? 0).getTime();\n return rightUpdatedAt - leftUpdatedAt;\n });\n\n const latest = candidates[0] ?? null;\n if (latest) {\n await this.markActiveTransaction(latest.transactionKey);\n }\n return latest;\n }\n\n private toStatusResponse(transaction: ModulePackageStatusFile) {\n return {\n transactionKey: transaction.transactionKey,\n status: transaction.status,\n currentStep: transaction.currentStep,\n moduleName: transaction.moduleName,\n moduleDisplayName: transaction.moduleDisplayName,\n archiveFileName: transaction.archiveFileName,\n manifest: transaction.manifest,\n preview: transaction.preview,\n validation: transaction.validation,\n conflicts: transaction.conflicts,\n outputs: transaction.outputs,\n errorMessage: transaction.errorMessage,\n createdAt: transaction.createdAt,\n updatedAt: transaction.updatedAt,\n };\n }\n\n private async buildExportManifest(moduleName: string, metadataDocument: any, stagingDir: string): Promise<ModulePackageManifest> {\n const expectedPaths = this.buildExpectedPaths(moduleName);\n const checksums = await this.computeDirectoryChecksums(stagingDir, ['manifest.json']);\n\n return {\n schemaVersion: ModulePackageService.SUPPORTED_SCHEMA_VERSION,\n packageType: ModulePackageService.SUPPORTED_PACKAGE_TYPE,\n exportedAt: new Date().toISOString(),\n generatedBy: {\n name: '@solidxai/core',\n },\n module: {\n name: moduleName,\n displayName: metadataDocument?.moduleMetadata?.displayName,\n description: metadataDocument?.moduleMetadata?.description,\n },\n contents: expectedPaths,\n postImport: {\n recommendedSteps: ['restart', 'build', 'seed'],\n },\n checksums,\n };\n }\n\n private async computeDirectoryChecksums(rootDir: string, excludedRelativePaths: string[] = []): Promise<Record<string, string>> {\n const excludedPaths = new Set(excludedRelativePaths.map((entry) => entry.replace(/\\\\/g, '/')));\n const filePaths = await this.collectFilePathsRecursively(rootDir);\n const checksums: Record<string, string> = {};\n\n for (const filePath of filePaths) {\n const relativePath = path.relative(rootDir, filePath).replace(/\\\\/g, '/');\n if (excludedPaths.has(relativePath)) {\n continue;\n }\n\n checksums[relativePath] = await this.computeSha256(filePath);\n }\n\n return checksums;\n }\n\n private async collectFilePathsRecursively(rootDir: string): Promise<string[]> {\n const entries = await fs.readdir(rootDir, { withFileTypes: true });\n const nestedPaths = await Promise.all(entries.map(async (entry) => {\n const entryPath = path.join(rootDir, entry.name);\n if (entry.isDirectory()) {\n return this.collectFilePathsRecursively(entryPath);\n }\n\n return [entryPath];\n }));\n\n return nestedPaths.flat();\n }\n\n private async createArchiveFromDirectory(sourceDir: string, archiveFilePath: string): Promise<void> {\n await fs.mkdir(path.dirname(archiveFilePath), { recursive: true });\n\n await new Promise<void>((resolve, reject) => {\n const output = createWriteStream(archiveFilePath);\n const archive = archiver('zip', {\n zlib: { level: 9 },\n });\n\n const rejectOnce = (error: Error) => {\n output.destroy();\n reject(error);\n };\n\n output.on('close', () => resolve());\n output.on('error', rejectOnce);\n archive.on('warning', rejectOnce);\n archive.on('error', rejectOnce);\n\n archive.pipe(output);\n archive.directory(sourceDir, false);\n void archive.finalize();\n });\n }\n\n private async computeSha256(filePath: string): Promise<string> {\n const fileBuffer = await fs.readFile(filePath);\n return createHash('sha256').update(fileBuffer).digest('hex');\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"solid-core.module.d.ts","sourceRoot":"","sources":["../src/solid-core.module.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC;AAChB,OAAO,EAAU,kBAAkB,EAAU,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAsYhF,qBAoea,eAAgB,YAAW,UAAU;IAChD,SAAS,CAAC,QAAQ,EAAE,kBAAkB;CAQvC"}
1
+ {"version":3,"file":"solid-core.module.d.ts","sourceRoot":"","sources":["../src/solid-core.module.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC;AAChB,OAAO,EAAU,kBAAkB,EAAU,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA2XhF,qBAwda,eAAgB,YAAW,UAAU;IAChD,SAAS,CAAC,QAAQ,EAAE,kBAAkB;CAQvC"}
@@ -52,7 +52,9 @@ const field_metadata_controller_1 = require("./controllers/field-metadata.contro
52
52
  const dashboard_controller_1 = require("./controllers/dashboard.controller");
53
53
  const media_storage_provider_metadata_controller_1 = require("./controllers/media-storage-provider-metadata.controller");
54
54
  const model_metadata_controller_1 = require("./controllers/model-metadata.controller");
55
+ const module_metadata_explorer_controller_1 = require("./controllers/module-metadata-explorer.controller");
55
56
  const module_metadata_controller_1 = require("./controllers/module-metadata.controller");
57
+ const module_package_controller_1 = require("./controllers/module-package.controller");
56
58
  const test_controller_1 = require("./controllers/test.controller");
57
59
  const field_metadata_entity_1 = require("./entities/field-metadata.entity");
58
60
  const list_of_values_entity_1 = require("./entities/list-of-values.entity");
@@ -75,7 +77,9 @@ const list_of_values_service_1 = require("./services/list-of-values.service");
75
77
  const media_storage_provider_metadata_service_1 = require("./services/media-storage-provider-metadata.service");
76
78
  const media_service_1 = require("./services/media.service");
77
79
  const model_metadata_service_1 = require("./services/model-metadata.service");
80
+ const module_metadata_explorer_service_1 = require("./services/module-metadata-explorer.service");
78
81
  const module_metadata_service_1 = require("./services/module-metadata.service");
82
+ const module_package_service_1 = require("./services/module-package.service");
79
83
  const solid_introspect_service_1 = require("./services/solid-introspect.service");
80
84
  const serve_static_1 = require("@nestjs/serve-static");
81
85
  const path_1 = require("path");
@@ -163,8 +167,6 @@ const smtp_email_publisher_redis_service_1 = require("./jobs/redis/smtp-email-pu
163
167
  const smtp_email_subscriber_redis_service_1 = require("./jobs/redis/smtp-email-subscriber-redis.service");
164
168
  const three60_whatsapp_publisher_redis_service_1 = require("./jobs/redis/three60-whatsapp-publisher-redis.service");
165
169
  const three60_whatsapp_subscriber_redis_service_1 = require("./jobs/redis/three60-whatsapp-subscriber-redis.service");
166
- const trigger_mcp_client_publisher_redis_service_1 = require("./jobs/redis/trigger-mcp-client-publisher-redis.service");
167
- const trigger_mcp_client_subscriber_redis_service_1 = require("./jobs/redis/trigger-mcp-client-subscriber-redis.service");
168
170
  const twilio_sms_publisher_redis_service_1 = require("./jobs/redis/twilio-sms-publisher-redis.service");
169
171
  const twilio_sms_subscriber_redis_service_1 = require("./jobs/redis/twilio-sms-subscriber-redis.service");
170
172
  const user_registration_listener_1 = require("./listeners/user-registration.listener");
@@ -197,7 +199,6 @@ const permission_metadata_entity_1 = require("./entities/permission-metadata.ent
197
199
  const permission_metadata_service_1 = require("./services/permission-metadata.service");
198
200
  const schedule_1 = require("@nestjs/schedule");
199
201
  const nestjs_cls_1 = require("nestjs-cls");
200
- const ai_interaction_controller_1 = require("./controllers/ai-interaction.controller");
201
202
  const chatter_message_details_controller_1 = require("./controllers/chatter-message-details.controller");
202
203
  const chatter_message_controller_1 = require("./controllers/chatter-message.controller");
203
204
  const export_template_controller_1 = require("./controllers/export-template.controller");
@@ -219,7 +220,6 @@ const info_service_1 = require("./services/info.service");
219
220
  const user_activity_history_controller_1 = require("./controllers/user-activity-history.controller");
220
221
  const user_view_metadata_controller_1 = require("./controllers/user-view-metadata.controller");
221
222
  const user_controller_1 = require("./controllers/user.controller");
222
- const ai_interaction_entity_1 = require("./entities/ai-interaction.entity");
223
223
  const chatter_message_details_entity_1 = require("./entities/chatter-message-details.entity");
224
224
  const chatter_message_entity_1 = require("./entities/chatter-message.entity");
225
225
  const export_template_entity_1 = require("./entities/export-template.entity");
@@ -256,7 +256,6 @@ const smtp_email_publisher_database_service_1 = require("./jobs/database/smtp-em
256
256
  const smtp_email_subscriber_database_service_1 = require("./jobs/database/smtp-email-subscriber-database.service");
257
257
  const twilio_sms_publisher_database_service_1 = require("./jobs/database/twilio-sms-publisher-database.service");
258
258
  const twilio_sms_subscriber_database_service_1 = require("./jobs/database/twilio-sms-subscriber-database.service");
259
- const ingest_command_1 = require("./commands/ingest.command");
260
259
  const mail_factory_1 = require("./factories/mail.factory");
261
260
  const error_mapper_service_1 = require("./helpers/error-mapper.service");
262
261
  const solid_core_error_codes_provider_service_1 = require("./helpers/solid-core-error-codes-provider.service");
@@ -266,19 +265,14 @@ const msg91_whatsapp_publisher_database_service_1 = require("./jobs/database/msg
266
265
  const msg91_whatsapp_subscriber_database_service_1 = require("./jobs/database/msg91-whatsapp-subscriber-database.service");
267
266
  const three60_whatsapp_publisher_database_service_1 = require("./jobs/database/three60-whatsapp-publisher-database.service");
268
267
  const three60_whatsapp_subscriber_database_service_1 = require("./jobs/database/three60-whatsapp-subscriber-database.service");
269
- const trigger_mcp_client_publisher_database_service_1 = require("./jobs/database/trigger-mcp-client-publisher-database.service");
270
- const trigger_mcp_client_subscriber_database_service_1 = require("./jobs/database/trigger-mcp-client-subscriber-database.service");
271
268
  const generate_code_publisher_service_1 = require("./jobs/rabbitmq/generate-code-publisher.service");
272
269
  const generate_code_subscriber_service_1 = require("./jobs/rabbitmq/generate-code-subscriber.service");
273
270
  const three60_whatsapp_publisher_service_1 = require("./jobs/rabbitmq/three60-whatsapp-publisher.service");
274
271
  const three60_whatsapp_subscriber_service_1 = require("./jobs/rabbitmq/three60-whatsapp-subscriber.service");
275
- const trigger_mcp_client_publisher_service_1 = require("./jobs/rabbitmq/trigger-mcp-client-publisher.service");
276
- const trigger_mcp_client_subscriber_service_1 = require("./jobs/rabbitmq/trigger-mcp-client-subscriber.service");
277
272
  const twilio_sms_publisher_service_1 = require("./jobs/rabbitmq/twilio-sms-publisher.service");
278
273
  const twilio_sms_subscriber_service_1 = require("./jobs/rabbitmq/twilio-sms-subscriber.service");
279
274
  const list_of_values_mapper_1 = require("./mappers/list-of-values-mapper");
280
275
  const action_metadata_repository_1 = require("./repository/action-metadata.repository");
281
- const ai_interaction_repository_1 = require("./repository/ai-interaction.repository");
282
276
  const chatter_message_details_repository_1 = require("./repository/chatter-message-details.repository");
283
277
  const chatter_message_repository_1 = require("./repository/chatter-message.repository");
284
278
  const email_template_repository_1 = require("./repository/email-template.repository");
@@ -312,7 +306,6 @@ const user_repository_1 = require("./repository/user.repository");
312
306
  const view_metadata_repository_1 = require("./repository/view-metadata.repository");
313
307
  const permission_metadata_seeder_service_1 = require("./seeders/permission-metadata-seeder.service");
314
308
  const system_fields_seeder_service_1 = require("./seeders/system-fields-seeder.service");
315
- const ai_interaction_service_1 = require("./services/ai-interaction.service");
316
309
  const chatter_message_details_service_1 = require("./services/chatter-message-details.service");
317
310
  const chatter_message_service_1 = require("./services/chatter-message.service");
318
311
  const concat_computed_field_provider_service_1 = require("./services/computed-fields/concat-computed-field-provider.service");
@@ -337,9 +330,6 @@ const csv_service_1 = require("./services/csv.service");
337
330
  const excel_service_1 = require("./services/excel.service");
338
331
  const export_template_service_1 = require("./services/export-template.service");
339
332
  const export_transaction_service_1 = require("./services/export-transaction.service");
340
- const ingest_metadata_service_1 = require("./services/genai/ingest-metadata.service");
341
- const mcp_handler_factory_service_1 = require("./services/genai/mcp-handlers/mcp-handler-factory.service");
342
- const r2r_helper_service_1 = require("./services/genai/r2r-helper.service");
343
333
  const import_transaction_error_log_service_1 = require("./services/import-transaction-error-log.service");
344
334
  const import_transaction_service_1 = require("./services/import-transaction.service");
345
335
  const locale_service_1 = require("./services/locale.service");
@@ -378,7 +368,6 @@ const mcp_command_1 = require("./commands/mcp.command");
378
368
  const fixtures_service_1 = require("./services/fixtures.service");
379
369
  const fixtures_setup_command_1 = require("./commands/fixtures/fixtures-setup.command");
380
370
  const fixtures_tear_down_command_1 = require("./commands/fixtures/fixtures-tear-down.command");
381
- const database_bootstrap_service_1 = require("./services/database/database-bootstrap.service");
382
371
  const sequence_num_computed_field_provider_1 = require("./services/computed-fields/entity/sequence-num-computed-field-provider");
383
372
  const model_sequence_entity_1 = require("./entities/model-sequence.entity");
384
373
  const model_sequence_service_1 = require("./services/model-sequence.service");
@@ -411,7 +400,6 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
411
400
  imports: [
412
401
  typeorm_1.TypeOrmModule.forFeature([
413
402
  action_metadata_entity_1.ActionMetadata,
414
- ai_interaction_entity_1.AiInteraction,
415
403
  chatter_message_entity_1.ChatterMessage,
416
404
  chatter_message_details_entity_1.ChatterMessageDetails,
417
405
  email_attachment_entity_1.EmailAttachment,
@@ -475,7 +463,6 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
475
463
  ],
476
464
  controllers: [
477
465
  action_metadata_controller_1.ActionMetadataController,
478
- ai_interaction_controller_1.AiInteractionController,
479
466
  authentication_controller_1.AuthenticationController,
480
467
  chatter_message_controller_1.ChatterMessageController,
481
468
  chatter_message_details_controller_1.ChatterMessageDetailsController,
@@ -495,7 +482,9 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
495
482
  media_storage_provider_metadata_controller_1.MediaStorageProviderMetadataController,
496
483
  menu_item_metadata_controller_1.MenuItemMetadataController,
497
484
  model_metadata_controller_1.ModelMetadataController,
485
+ module_metadata_explorer_controller_1.ModuleMetadataExplorerController,
498
486
  module_metadata_controller_1.ModuleMetadataController,
487
+ module_package_controller_1.ModulePackageController,
499
488
  mq_message_controller_1.MqMessageController,
500
489
  mq_message_queue_controller_1.MqMessageQueueController,
501
490
  gupshup_webhook_controller_1.GupshupWebhookController,
@@ -544,7 +533,9 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
544
533
  useClass: http_exception_filter_1.HttpExceptionFilter,
545
534
  },
546
535
  module_metadata_service_1.ModuleMetadataService,
536
+ module_metadata_explorer_service_1.ModuleMetadataExplorerService,
547
537
  module_metadata_helper_service_1.ModuleMetadataHelperService,
538
+ module_package_service_1.ModulePackageService,
548
539
  model_metadata_service_1.ModelMetadataService,
549
540
  model_metadata_helper_service_1.ModelMetadataHelperService,
550
541
  field_metadata_service_1.FieldMetadataService,
@@ -556,7 +547,6 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
556
547
  info_service_1.InfoService,
557
548
  solid_introspect_service_1.SolidIntrospectService,
558
549
  core_1.DiscoveryService,
559
- r2r_helper_service_1.R2RHelperService,
560
550
  crud_helper_service_1.CrudHelperService,
561
551
  crud_service_1.CRUDService,
562
552
  core_1.Reflector,
@@ -592,8 +582,6 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
592
582
  test_data_command_1.TestDataCommand,
593
583
  run_tests_command_1.TestRunCommand,
594
584
  mcp_command_1.McpCommand,
595
- ingest_command_1.IngestCommand,
596
- ingest_metadata_service_1.IngestMetadataService,
597
585
  smtp_email_service_1.SMTPEMailService,
598
586
  elastic_email_service_1.ElasticEmailService,
599
587
  Msg91SMSService_1.Msg91SMSService,
@@ -608,10 +596,6 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
608
596
  poller_service_1.PollerService,
609
597
  error_mapper_service_1.ErrorMapperService,
610
598
  solid_core_error_codes_provider_service_1.SolidCoreErrorCodesProvider,
611
- trigger_mcp_client_publisher_database_service_1.TriggerMcpClientPublisherDatabase,
612
- trigger_mcp_client_subscriber_database_service_1.TriggerMcpClientSubscriberDatabase,
613
- trigger_mcp_client_publisher_service_1.TriggerMcpClientPublisherRabbitmq,
614
- trigger_mcp_client_subscriber_service_1.TriggerMcpClientSubscriberRabbitmq,
615
599
  smtp_email_publisher_service_1.SmtpEmailQueuePublisherRabbitmq,
616
600
  smtp_email_subscriber_service_1.SmtpEmailQueueSubscriberRabbitmq,
617
601
  smtp_email_publisher_database_service_1.SmtpEmailQueuePublisherDatabase,
@@ -690,8 +674,6 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
690
674
  smtp_email_subscriber_redis_service_1.SmtpEmailQueueSubscriberRedis,
691
675
  three60_whatsapp_publisher_redis_service_1.Three60WhatsappQueuePublisherRedis,
692
676
  three60_whatsapp_subscriber_redis_service_1.Three60WhatsappQueueSubscriberRedis,
693
- trigger_mcp_client_publisher_redis_service_1.TriggerMcpClientPublisherRedis,
694
- trigger_mcp_client_subscriber_redis_service_1.TriggerMcpClientSubscriberRedis,
695
677
  twilio_sms_publisher_redis_service_1.TwilioSmsQueuePublisherRedis,
696
678
  twilio_sms_subscriber_redis_service_1.TwilioSmsQueueSubscriberRedis,
697
679
  generate_code_publisher_database_service_1.GenerateCodePublisherDatabase,
@@ -756,9 +738,7 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
756
738
  computed_field_evaluation_subscriber_service_1.ComputedFieldEvaluationSubscriberRabbitmq,
757
739
  concat_entity_computed_field_provider_service_1.ConcatEntityComputedFieldProvider,
758
740
  user_activity_history_service_1.UserActivityHistoryService,
759
- ai_interaction_service_1.AiInteractionService,
760
741
  noops_entity_computed_field_provider_service_1.NoopsEntityComputedFieldProviderService,
761
- mcp_handler_factory_service_1.McpHandlerFactory,
762
742
  solid_ts_morph_service_1.SolidTsMorphService,
763
743
  view_metadata_repository_1.ViewMetadataRepository,
764
744
  scheduled_job_repository_1.ScheduledJobRepository,
@@ -777,7 +757,6 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
777
757
  sms_factory_1.SmsFactory,
778
758
  chatter_message_repository_1.ChatterMessageRepository,
779
759
  chatter_message_details_repository_1.ChatterMessageDetailsRepository,
780
- ai_interaction_repository_1.AiInteractionRepository,
781
760
  email_template_repository_1.EmailTemplateRepository,
782
761
  export_template_repository_1.ExportTemplateRepository,
783
762
  export_transaction_repository_1.ExportTransactionRepository,
@@ -802,7 +781,6 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
802
781
  fixtures_service_1.FixturesService,
803
782
  fixtures_setup_command_1.FixturesSetupCommand,
804
783
  fixtures_tear_down_command_1.FixturesTearDownCommand,
805
- database_bootstrap_service_1.DatabaseBootstrapService,
806
784
  sequence_num_computed_field_provider_1.SequenceNumComputedFieldProvider,
807
785
  model_sequence_service_1.ModelSequenceService,
808
786
  model_sequence_repository_1.ModelSequenceRepository,
@@ -814,7 +792,6 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
814
792
  dashboard_user_layout_repository_1.DashboardUserLayoutRepository,
815
793
  ],
816
794
  exports: [
817
- ai_interaction_service_1.AiInteractionService,
818
795
  authentication_service_1.AuthenticationService,
819
796
  chatter_message_details_repository_1.ChatterMessageDetailsRepository,
820
797
  chatter_message_details_service_1.ChatterMessageDetailsService,
@@ -846,6 +823,8 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
846
823
  model_metadata_helper_service_1.ModelMetadataHelperService,
847
824
  model_metadata_service_1.ModelMetadataService,
848
825
  module_metadata_service_1.ModuleMetadataService,
826
+ module_metadata_explorer_service_1.ModuleMetadataExplorerService,
827
+ module_package_service_1.ModulePackageService,
849
828
  mq_message_queue_service_1.MqMessageQueueService,
850
829
  mq_message_service_1.MqMessageService,
851
830
  Msg91OTPService_1.Msg91OTPService,