@solidxai/core 0.1.10-beta.0 → 0.1.10-beta.11

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 (269) hide show
  1. package/.claude/settings.local.json +15 -0
  2. package/CLAUDE.md +18 -0
  3. package/CURRENT_PROMPT +6 -0
  4. package/dist/commands/refresh-model.command.d.ts +0 -4
  5. package/dist/commands/refresh-model.command.d.ts.map +1 -1
  6. package/dist/commands/refresh-model.command.js +0 -32
  7. package/dist/commands/refresh-model.command.js.map +1 -1
  8. package/dist/commands/run-tests.command.d.ts +2 -0
  9. package/dist/commands/run-tests.command.d.ts.map +1 -1
  10. package/dist/commands/run-tests.command.js +49 -17
  11. package/dist/commands/run-tests.command.js.map +1 -1
  12. package/dist/controllers/action-metadata.controller.js +1 -1
  13. package/dist/controllers/action-metadata.controller.js.map +1 -1
  14. package/dist/controllers/facebook-authentication.controller.js +1 -1
  15. package/dist/controllers/facebook-authentication.controller.js.map +1 -1
  16. package/dist/controllers/google-authentication.controller.js +1 -1
  17. package/dist/controllers/google-authentication.controller.js.map +1 -1
  18. package/dist/controllers/mcp-audit-log.controller.d.ts +35 -0
  19. package/dist/controllers/mcp-audit-log.controller.d.ts.map +1 -0
  20. package/dist/controllers/mcp-audit-log.controller.js +147 -0
  21. package/dist/controllers/mcp-audit-log.controller.js.map +1 -0
  22. package/dist/controllers/menu-item-metadata.controller.js +1 -1
  23. package/dist/controllers/menu-item-metadata.controller.js.map +1 -1
  24. package/dist/controllers/microsoft-authentication.controller.js +1 -1
  25. package/dist/controllers/microsoft-authentication.controller.js.map +1 -1
  26. package/dist/controllers/model-metadata.controller.d.ts +1 -1
  27. package/dist/controllers/model-metadata.controller.js +2 -2
  28. package/dist/controllers/model-metadata.controller.js.map +1 -1
  29. package/dist/controllers/module-metadata.controller.js +1 -1
  30. package/dist/controllers/module-metadata.controller.js.map +1 -1
  31. package/dist/controllers/mq-message-queue.controller.js +1 -1
  32. package/dist/controllers/mq-message-queue.controller.js.map +1 -1
  33. package/dist/controllers/mq-message.controller.js +1 -1
  34. package/dist/controllers/mq-message.controller.js.map +1 -1
  35. package/dist/controllers/user.controller.d.ts.map +1 -1
  36. package/dist/controllers/user.controller.js.map +1 -1
  37. package/dist/controllers/view-metadata.controller.js +1 -1
  38. package/dist/controllers/view-metadata.controller.js.map +1 -1
  39. package/dist/dtos/create-mcp-audit-log.dto.d.ts +19 -0
  40. package/dist/dtos/create-mcp-audit-log.dto.d.ts.map +1 -0
  41. package/dist/dtos/create-mcp-audit-log.dto.js +118 -0
  42. package/dist/dtos/create-mcp-audit-log.dto.js.map +1 -0
  43. package/dist/dtos/update-mcp-audit-log.dto.d.ts +19 -0
  44. package/dist/dtos/update-mcp-audit-log.dto.d.ts.map +1 -0
  45. package/dist/dtos/update-mcp-audit-log.dto.js +117 -0
  46. package/dist/dtos/update-mcp-audit-log.dto.js.map +1 -0
  47. package/dist/dtos/update-user.dto.d.ts +1 -0
  48. package/dist/dtos/update-user.dto.d.ts.map +1 -1
  49. package/dist/dtos/update-user.dto.js +7 -1
  50. package/dist/dtos/update-user.dto.js.map +1 -1
  51. package/dist/entities/chatter-message-details.entity.d.ts.map +1 -1
  52. package/dist/entities/chatter-message-details.entity.js +0 -1
  53. package/dist/entities/chatter-message-details.entity.js.map +1 -1
  54. package/dist/entities/mcp-audit-log.entity.d.ts +19 -0
  55. package/dist/entities/mcp-audit-log.entity.d.ts.map +1 -0
  56. package/dist/entities/mcp-audit-log.entity.js +90 -0
  57. package/dist/entities/mcp-audit-log.entity.js.map +1 -0
  58. package/dist/entities/user.entity.js +1 -0
  59. package/dist/entities/user.entity.js.map +1 -1
  60. package/dist/helpers/bootstrap.helper.d.ts.map +1 -1
  61. package/dist/helpers/bootstrap.helper.js +2 -0
  62. package/dist/helpers/bootstrap.helper.js.map +1 -1
  63. package/dist/helpers/command.service.d.ts +1 -0
  64. package/dist/helpers/command.service.d.ts.map +1 -1
  65. package/dist/helpers/command.service.js +1 -0
  66. package/dist/helpers/command.service.js.map +1 -1
  67. package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.js.map +1 -1
  68. package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.js.map +1 -1
  69. package/dist/helpers/module-metadata-helper.service.js.map +1 -1
  70. package/dist/index.d.ts +4 -0
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +4 -0
  73. package/dist/index.js.map +1 -1
  74. package/dist/interfaces.d.ts +0 -2
  75. package/dist/interfaces.d.ts.map +1 -1
  76. package/dist/interfaces.js.map +1 -1
  77. package/dist/jobs/database/chatter-queue-subscriber-database.service.d.ts.map +1 -1
  78. package/dist/jobs/database/chatter-queue-subscriber-database.service.js +3 -3
  79. package/dist/jobs/database/chatter-queue-subscriber-database.service.js.map +1 -1
  80. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
  81. package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.d.ts.map +1 -1
  82. package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.js +3 -3
  83. package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.js.map +1 -1
  84. package/dist/jobs/redis/chatter-queue-subscriber-redis.service.d.ts.map +1 -1
  85. package/dist/jobs/redis/chatter-queue-subscriber-redis.service.js +3 -3
  86. package/dist/jobs/redis/chatter-queue-subscriber-redis.service.js.map +1 -1
  87. package/dist/repository/mcp-audit-log.repository.d.ts +12 -0
  88. package/dist/repository/mcp-audit-log.repository.d.ts.map +1 -0
  89. package/dist/repository/mcp-audit-log.repository.js +34 -0
  90. package/dist/repository/mcp-audit-log.repository.js.map +1 -0
  91. package/dist/repository/security-rule.repository.js.map +1 -1
  92. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  93. package/dist/seeders/module-test-data.service.d.ts +7 -0
  94. package/dist/seeders/module-test-data.service.d.ts.map +1 -1
  95. package/dist/seeders/module-test-data.service.js +94 -18
  96. package/dist/seeders/module-test-data.service.js.map +1 -1
  97. package/dist/seeders/permission-metadata-seeder.service.js.map +1 -1
  98. package/dist/seeders/seed-data/solid-core-metadata.json +380 -2
  99. package/dist/services/authentication.service.d.ts.map +1 -1
  100. package/dist/services/authentication.service.js +5 -5
  101. package/dist/services/authentication.service.js.map +1 -1
  102. package/dist/services/chatter-message.service.d.ts +6 -3
  103. package/dist/services/chatter-message.service.d.ts.map +1 -1
  104. package/dist/services/chatter-message.service.js +23 -35
  105. package/dist/services/chatter-message.service.js.map +1 -1
  106. package/dist/services/crud.service.js.map +1 -1
  107. package/dist/services/csv.service.js.map +1 -1
  108. package/dist/services/dashboard.service.js.map +1 -1
  109. package/dist/services/database/database-bootstrap.service.js.map +1 -1
  110. package/dist/services/excel.service.js.map +1 -1
  111. package/dist/services/export-transaction.service.js.map +1 -1
  112. package/dist/services/field-metadata.service.js +2 -2
  113. package/dist/services/field-metadata.service.js.map +1 -1
  114. package/dist/services/fixtures.service.js.map +1 -1
  115. package/dist/services/import-transaction.service.js.map +1 -1
  116. package/dist/services/list-of-values.service.js.map +1 -1
  117. package/dist/services/mcp-audit-log.service.d.ts +12 -0
  118. package/dist/services/mcp-audit-log.service.d.ts.map +1 -0
  119. package/dist/services/mcp-audit-log.service.js +38 -0
  120. package/dist/services/mcp-audit-log.service.js.map +1 -0
  121. package/dist/services/model-metadata.service.d.ts +4 -1
  122. package/dist/services/model-metadata.service.d.ts.map +1 -1
  123. package/dist/services/model-metadata.service.js +23 -24
  124. package/dist/services/model-metadata.service.js.map +1 -1
  125. package/dist/services/module-metadata.service.d.ts +4 -1
  126. package/dist/services/module-metadata.service.d.ts.map +1 -1
  127. package/dist/services/module-metadata.service.js +18 -2
  128. package/dist/services/module-metadata.service.js.map +1 -1
  129. package/dist/services/queues/database-publisher.service.js +3 -3
  130. package/dist/services/queues/database-publisher.service.js.map +1 -1
  131. package/dist/services/queues/database-subscriber.service.js +3 -3
  132. package/dist/services/queues/database-subscriber.service.js.map +1 -1
  133. package/dist/services/queues/rabbitmq-publisher.service.js +3 -3
  134. package/dist/services/queues/rabbitmq-publisher.service.js.map +1 -1
  135. package/dist/services/queues/rabbitmq-subscriber.service.js +4 -4
  136. package/dist/services/queues/rabbitmq-subscriber.service.js.map +1 -1
  137. package/dist/services/queues/redis-publisher.service.d.ts.map +1 -1
  138. package/dist/services/queues/redis-publisher.service.js +4 -1
  139. package/dist/services/queues/redis-publisher.service.js.map +1 -1
  140. package/dist/services/queues/redis-subscriber.service.d.ts.map +1 -1
  141. package/dist/services/queues/redis-subscriber.service.js +4 -1
  142. package/dist/services/queues/redis-subscriber.service.js.map +1 -1
  143. package/dist/services/role-metadata.service.js.map +1 -1
  144. package/dist/services/scheduled-jobs/scheduler.service.js.map +1 -1
  145. package/dist/services/settings/default-settings-provider.service.d.ts +58 -8
  146. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  147. package/dist/services/settings/default-settings-provider.service.js +21 -4
  148. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  149. package/dist/services/sms/TwilioSMSService.js.map +1 -1
  150. package/dist/services/solid-introspect.service.js.map +1 -1
  151. package/dist/services/user-activity-history.service.js.map +1 -1
  152. package/dist/services/view-metadata.service.d.ts.map +1 -1
  153. package/dist/services/view-metadata.service.js +17 -2
  154. package/dist/services/view-metadata.service.js.map +1 -1
  155. package/dist/solid-core.module.d.ts +1 -0
  156. package/dist/solid-core.module.d.ts.map +1 -1
  157. package/dist/solid-core.module.js +9 -0
  158. package/dist/solid-core.module.js.map +1 -1
  159. package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
  160. package/dist/subscribers/security-rule.subscriber.d.ts.map +1 -1
  161. package/dist/subscribers/security-rule.subscriber.js.map +1 -1
  162. package/dist/subscribers/view-metadata.subscriber.js.map +1 -1
  163. package/dist/testing/core/testing-engine.js.map +1 -1
  164. package/dist/testing/reporter/console-reporter.d.ts +10 -0
  165. package/dist/testing/reporter/console-reporter.d.ts.map +1 -1
  166. package/dist/testing/reporter/console-reporter.js +21 -0
  167. package/dist/testing/reporter/console-reporter.js.map +1 -1
  168. package/dist/testing/reporter/reporter.types.d.ts +7 -0
  169. package/dist/testing/reporter/reporter.types.d.ts.map +1 -1
  170. package/dist/testing/reporter/reporter.types.js.map +1 -1
  171. package/dist/testing/reporter/webhook-reporter.d.ts +54 -0
  172. package/dist/testing/reporter/webhook-reporter.d.ts.map +1 -0
  173. package/dist/testing/reporter/webhook-reporter.js +74 -0
  174. package/dist/testing/reporter/webhook-reporter.js.map +1 -0
  175. package/dist/testing/runner/run-from-metadata.d.ts.map +1 -1
  176. package/dist/testing/runner/run-from-metadata.js +20 -1
  177. package/dist/testing/runner/run-from-metadata.js.map +1 -1
  178. package/package.json +8 -8
  179. package/src/commands/refresh-model.command.ts +1 -32
  180. package/src/commands/run-tests.command.ts +45 -17
  181. package/src/controllers/action-metadata.controller.ts +1 -1
  182. package/src/controllers/facebook-authentication.controller.ts +1 -1
  183. package/src/controllers/google-authentication.controller.ts +1 -1
  184. package/src/controllers/mcp-audit-log.controller.ts +70 -0
  185. package/src/controllers/menu-item-metadata.controller.ts +1 -1
  186. package/src/controllers/microsoft-authentication.controller.ts +1 -1
  187. package/src/controllers/model-metadata.controller.ts +1 -1
  188. package/src/controllers/module-metadata.controller.ts +1 -1
  189. package/src/controllers/mq-message-queue.controller.ts +1 -1
  190. package/src/controllers/mq-message.controller.ts +1 -1
  191. package/src/controllers/user.controller.ts +16 -16
  192. package/src/controllers/view-metadata.controller.ts +1 -1
  193. package/src/dtos/create-mcp-audit-log.dto.ts +84 -0
  194. package/src/dtos/update-mcp-audit-log.dto.ts +83 -0
  195. package/src/dtos/update-user.dto.ts +4 -0
  196. package/src/entities/chatter-message-details.entity.ts +1 -2
  197. package/src/entities/mcp-audit-log.entity.ts +55 -0
  198. package/src/entities/user.entity.ts +1 -1
  199. package/src/helpers/bootstrap.helper.ts +3 -0
  200. package/src/helpers/command.service.ts +2 -0
  201. package/src/helpers/field-crud-managers/BigIntFieldCrudManager.ts +1 -1
  202. package/src/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.ts +1 -1
  203. package/src/helpers/module-metadata-helper.service.ts +1 -1
  204. package/src/index.ts +4 -0
  205. package/src/interfaces.ts +0 -2
  206. package/src/jobs/database/chatter-queue-subscriber-database.service.ts +4 -2
  207. package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +1 -1
  208. package/src/jobs/rabbitmq/chatter-queue-subscriber.service.ts +4 -2
  209. package/src/jobs/redis/chatter-queue-subscriber-redis.service.ts +10 -3
  210. package/src/repository/mcp-audit-log.repository.ts +17 -0
  211. package/src/repository/security-rule.repository.ts +1 -1
  212. package/src/seeders/module-metadata-seeder.service.ts +4 -4
  213. package/src/seeders/module-test-data.service.ts +107 -15
  214. package/src/seeders/permission-metadata-seeder.service.ts +1 -1
  215. package/src/seeders/seed-data/solid-core-metadata.json +380 -2
  216. package/src/services/1.js +6 -0
  217. package/src/services/authentication.service.ts +19 -31
  218. package/src/services/chatter-message.service.ts +28 -38
  219. package/src/services/crud.service.ts +3 -3
  220. package/src/services/csv.service.ts +1 -1
  221. package/src/services/dashboard.service.ts +1 -1
  222. package/src/services/database/database-bootstrap.service.ts +1 -1
  223. package/src/services/excel.service.ts +1 -1
  224. package/src/services/export-transaction.service.ts +2 -2
  225. package/src/services/field-metadata.service.ts +3 -3
  226. package/src/services/fixtures.service.ts +2 -2
  227. package/src/services/import-transaction.service.ts +2 -2
  228. package/src/services/list-of-values.service.ts +1 -1
  229. package/src/services/mcp-audit-log.service.ts +19 -0
  230. package/src/services/model-metadata.service.ts +35 -34
  231. package/src/services/module-metadata.service.ts +18 -7
  232. package/src/services/queues/database-publisher.service.ts +4 -4
  233. package/src/services/queues/database-subscriber.service.ts +7 -7
  234. package/src/services/queues/rabbitmq-publisher.service.ts +7 -7
  235. package/src/services/queues/rabbitmq-subscriber.service.ts +13 -13
  236. package/src/services/queues/redis-publisher.service.ts +7 -4
  237. package/src/services/queues/redis-subscriber.service.ts +9 -6
  238. package/src/services/role-metadata.service.ts +1 -1
  239. package/src/services/scheduled-jobs/scheduler.service.ts +5 -5
  240. package/src/services/settings/default-settings-provider.service.ts +21 -4
  241. package/src/services/sms/TwilioSMSService.ts +2 -2
  242. package/src/services/solid-introspect.service.ts +2 -2
  243. package/src/services/user-activity-history.service.ts +1 -1
  244. package/src/services/view-metadata.service.ts +25 -8
  245. package/src/solid-core.module.ts +9 -0
  246. package/src/subscribers/computed-entity-field.subscriber.ts +1 -1
  247. package/src/subscribers/security-rule.subscriber.ts +8 -8
  248. package/src/subscribers/view-metadata.subscriber.ts +1 -1
  249. package/src/testing/core/testing-engine.ts +2 -2
  250. package/src/testing/reporter/console-reporter.ts +27 -0
  251. package/src/testing/reporter/reporter.types.ts +7 -0
  252. package/src/testing/reporter/webhook-reporter.ts +116 -0
  253. package/src/testing/runner/run-from-metadata.ts +19 -1
  254. package/dist-tests/api/authenticate.spec.js +0 -119
  255. package/dist-tests/api/authenticate.spec.js.map +0 -1
  256. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js +0 -97
  257. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js.map +0 -1
  258. package/dist-tests/api/ping.spec.js +0 -21
  259. package/dist-tests/api/ping.spec.js.map +0 -1
  260. package/dist-tests/helpers/auth.js +0 -41
  261. package/dist-tests/helpers/auth.js.map +0 -1
  262. package/dist-tests/helpers/env.js +0 -11
  263. package/dist-tests/helpers/env.js.map +0 -1
  264. package/docs/grouping-enhancements.md +0 -89
  265. package/docs/java-spring/README.md +0 -3
  266. package/docs/java-spring/solid-core-module-deep-dive-report.md +0 -1317
  267. package/docs/seed-changes.md +0 -65
  268. package/docs/test-data-workflow.md +0 -200
  269. package/docs/type-declaration-import-issue.md +0 -24
@@ -1761,6 +1761,19 @@
1761
1761
  "encrypt": false,
1762
1762
  "isSystem": true
1763
1763
  },
1764
+ {
1765
+ "name": "failedLoginAttempts",
1766
+ "displayName": "Failed Login Attempts",
1767
+ "type": "int",
1768
+ "ormType": "integer",
1769
+ "defaultValue": "0",
1770
+ "required": false,
1771
+ "unique": false,
1772
+ "index": false,
1773
+ "private": false,
1774
+ "encrypt": false,
1775
+ "isSystem": true
1776
+ },
1764
1777
  {
1765
1778
  "name": "profilePicture",
1766
1779
  "displayName": "Profile Picture",
@@ -5919,6 +5932,214 @@
5919
5932
  "isSystem": true
5920
5933
  }
5921
5934
  ]
5935
+ },
5936
+ {
5937
+ "singularName": "mcpAuditLog",
5938
+ "pluralName": "mcpAuditLogs",
5939
+ "displayName": "MCP Audit Log",
5940
+ "description": "Audit trail of MCP requests handled by the server",
5941
+ "dataSource": "default",
5942
+ "dataSourceType": "postgres",
5943
+ "tableName": "ss_mcp_audit_log",
5944
+ "isChild": false,
5945
+ "isLegacyTable": true,
5946
+ "isLegacyTableWithId": true,
5947
+ "enableAuditTracking": false,
5948
+ "enableSoftDelete": false,
5949
+ "draftPublishWorkflow": false,
5950
+ "internationalisation": false,
5951
+ "isSystem": true,
5952
+ "userKeyFieldUserKey": "id",
5953
+ "fields": [
5954
+ {
5955
+ "name": "userId",
5956
+ "displayName": "User ID",
5957
+ "type": "int",
5958
+ "columnName": "user_id",
5959
+ "required": false,
5960
+ "unique": false,
5961
+ "index": true,
5962
+ "private": false,
5963
+ "encrypt": false,
5964
+ "isSystem": true
5965
+ },
5966
+ {
5967
+ "name": "apiKeyId",
5968
+ "displayName": "API Key ID",
5969
+ "type": "int",
5970
+ "columnName": "api_key_id",
5971
+ "required": false,
5972
+ "unique": false,
5973
+ "index": false,
5974
+ "private": false,
5975
+ "encrypt": false,
5976
+ "isSystem": true
5977
+ },
5978
+ {
5979
+ "name": "username",
5980
+ "displayName": "Username",
5981
+ "type": "shortText",
5982
+ "columnName": "username",
5983
+ "length": 128,
5984
+ "required": false,
5985
+ "unique": false,
5986
+ "index": false,
5987
+ "private": false,
5988
+ "encrypt": false,
5989
+ "isSystem": true
5990
+ },
5991
+ {
5992
+ "name": "transport",
5993
+ "displayName": "Transport",
5994
+ "type": "shortText",
5995
+ "columnName": "transport",
5996
+ "length": 32,
5997
+ "required": true,
5998
+ "unique": false,
5999
+ "index": false,
6000
+ "private": false,
6001
+ "encrypt": false,
6002
+ "isSystem": true
6003
+ },
6004
+ {
6005
+ "name": "mcpSessionId",
6006
+ "displayName": "MCP Session ID",
6007
+ "type": "shortText",
6008
+ "columnName": "mcp_session_id",
6009
+ "length": 64,
6010
+ "required": false,
6011
+ "unique": false,
6012
+ "index": true,
6013
+ "private": false,
6014
+ "encrypt": false,
6015
+ "isSystem": true
6016
+ },
6017
+ {
6018
+ "name": "clientAddr",
6019
+ "displayName": "Client Address",
6020
+ "type": "shortText",
6021
+ "columnName": "client_addr",
6022
+ "length": 64,
6023
+ "required": false,
6024
+ "unique": false,
6025
+ "index": false,
6026
+ "private": false,
6027
+ "encrypt": false,
6028
+ "isSystem": true
6029
+ },
6030
+ {
6031
+ "name": "method",
6032
+ "displayName": "Method",
6033
+ "type": "shortText",
6034
+ "columnName": "method",
6035
+ "length": 64,
6036
+ "required": true,
6037
+ "unique": false,
6038
+ "index": true,
6039
+ "private": false,
6040
+ "encrypt": false,
6041
+ "isSystem": true
6042
+ },
6043
+ {
6044
+ "name": "requestId",
6045
+ "displayName": "Request ID",
6046
+ "type": "shortText",
6047
+ "columnName": "request_id",
6048
+ "length": 64,
6049
+ "required": false,
6050
+ "unique": false,
6051
+ "index": false,
6052
+ "private": false,
6053
+ "encrypt": false,
6054
+ "isSystem": true
6055
+ },
6056
+ {
6057
+ "name": "toolName",
6058
+ "displayName": "Tool Name",
6059
+ "type": "shortText",
6060
+ "columnName": "tool_name",
6061
+ "length": 128,
6062
+ "required": false,
6063
+ "unique": false,
6064
+ "index": true,
6065
+ "private": false,
6066
+ "encrypt": false,
6067
+ "isSystem": true
6068
+ },
6069
+ {
6070
+ "name": "requestParams",
6071
+ "displayName": "Request Params",
6072
+ "type": "longText",
6073
+ "columnName": "request_params",
6074
+ "required": false,
6075
+ "unique": false,
6076
+ "index": false,
6077
+ "private": false,
6078
+ "encrypt": false,
6079
+ "isSystem": true
6080
+ },
6081
+ {
6082
+ "name": "status",
6083
+ "displayName": "Status",
6084
+ "type": "shortText",
6085
+ "columnName": "status",
6086
+ "length": 16,
6087
+ "required": true,
6088
+ "unique": false,
6089
+ "index": false,
6090
+ "private": false,
6091
+ "encrypt": false,
6092
+ "isSystem": true
6093
+ },
6094
+ {
6095
+ "name": "responseResult",
6096
+ "displayName": "Response Result",
6097
+ "type": "longText",
6098
+ "columnName": "response_result",
6099
+ "required": false,
6100
+ "unique": false,
6101
+ "index": false,
6102
+ "private": false,
6103
+ "encrypt": false,
6104
+ "isSystem": true
6105
+ },
6106
+ {
6107
+ "name": "errorCode",
6108
+ "displayName": "Error Code",
6109
+ "type": "int",
6110
+ "columnName": "error_code",
6111
+ "required": false,
6112
+ "unique": false,
6113
+ "index": false,
6114
+ "private": false,
6115
+ "encrypt": false,
6116
+ "isSystem": true
6117
+ },
6118
+ {
6119
+ "name": "errorMessage",
6120
+ "displayName": "Error Message",
6121
+ "type": "longText",
6122
+ "columnName": "error_message",
6123
+ "required": false,
6124
+ "unique": false,
6125
+ "index": false,
6126
+ "private": false,
6127
+ "encrypt": false,
6128
+ "isSystem": true
6129
+ },
6130
+ {
6131
+ "name": "durationMs",
6132
+ "displayName": "Duration (ms)",
6133
+ "type": "decimal",
6134
+ "columnName": "duration_ms",
6135
+ "required": false,
6136
+ "unique": false,
6137
+ "index": false,
6138
+ "private": false,
6139
+ "encrypt": false,
6140
+ "isSystem": true
6141
+ }
6142
+ ]
5922
6143
  }
5923
6144
  ]
5924
6145
  },
@@ -5985,6 +6206,8 @@
5985
6206
  "AgentSessionController.findOne",
5986
6207
  "AgentEventController.findMany",
5987
6208
  "AgentEventController.findOne",
6209
+ "McpAuditLogController.findMany",
6210
+ "McpAuditLogController.findOne",
5988
6211
  "mcp:invoke",
5989
6212
  "agent:invoke"
5990
6213
  ]
@@ -6594,6 +6817,32 @@
6594
6817
  "viewUserKey": "agentEvent-form-view",
6595
6818
  "moduleUserKey": "solid-core",
6596
6819
  "modelUserKey": "agentEvent"
6820
+ },
6821
+ {
6822
+ "displayName": "MCP Audit Log List Action",
6823
+ "name": "mcpAuditLog-list-action",
6824
+ "type": "solid",
6825
+ "domain": "",
6826
+ "context": "",
6827
+ "customComponent": "",
6828
+ "customIsModal": true,
6829
+ "serverEndpoint": "",
6830
+ "viewUserKey": "mcpAuditLog-list-view",
6831
+ "moduleUserKey": "solid-core",
6832
+ "modelUserKey": "mcpAuditLog"
6833
+ },
6834
+ {
6835
+ "displayName": "MCP Audit Log Form Action",
6836
+ "name": "mcpAuditLog-form-action",
6837
+ "type": "solid",
6838
+ "domain": "",
6839
+ "context": "",
6840
+ "customComponent": "",
6841
+ "customIsModal": true,
6842
+ "serverEndpoint": "",
6843
+ "viewUserKey": "mcpAuditLog-form-view",
6844
+ "moduleUserKey": "solid-core",
6845
+ "modelUserKey": "mcpAuditLog"
6597
6846
  }
6598
6847
  ],
6599
6848
  "menus": [
@@ -6950,6 +7199,14 @@
6950
7199
  "actionUserKey": "agentEvent-list-action",
6951
7200
  "moduleUserKey": "solid-core",
6952
7201
  "parentMenuItemUserKey": "agent-menu-item"
7202
+ },
7203
+ {
7204
+ "displayName": "MCP Audit Log",
7205
+ "name": "mcpAuditLog-menu-item",
7206
+ "sequenceNumber": 3,
7207
+ "actionUserKey": "mcpAuditLog-list-action",
7208
+ "moduleUserKey": "solid-core",
7209
+ "parentMenuItemUserKey": "agent-menu-item"
6953
7210
  }
6954
7211
  ],
6955
7212
  "views": [
@@ -9841,6 +10098,14 @@
9841
10098
  "name": "active",
9842
10099
  "isSearchable": true
9843
10100
  }
10101
+ },
10102
+ {
10103
+ "type": "field",
10104
+ "attrs": {
10105
+ "label" : "Blocked / Unblocked",
10106
+ "name": "failedLoginAttempts",
10107
+ "viewWidget": "SolidUserBlockedStatusListWidget"
10108
+ }
9844
10109
  }
9845
10110
  ]
9846
10111
  }
@@ -11552,7 +11817,7 @@
11552
11817
  "enableGlobalSearch": true,
11553
11818
  "create": true,
11554
11819
  "edit": true,
11555
- "delete": false
11820
+ "delete": true
11556
11821
  },
11557
11822
  "children": [
11558
11823
  {
@@ -11570,7 +11835,18 @@
11570
11835
  "name": "name",
11571
11836
  "label": "Name",
11572
11837
  "sortable": true,
11573
- "filterable": true
11838
+ "filterable": true,
11839
+ "isSearchable": true
11840
+ }
11841
+ },
11842
+ {
11843
+ "type": "field",
11844
+ "attrs": {
11845
+ "name": "description",
11846
+ "label": "Description",
11847
+ "sortable": true,
11848
+ "filterable": true,
11849
+ "isSearchable": true
11574
11850
  }
11575
11851
  }
11576
11852
  ]
@@ -13862,6 +14138,108 @@
13862
14138
  }
13863
14139
  ]
13864
14140
  }
14141
+ },
14142
+ {
14143
+ "name": "mcpAuditLog-list-view",
14144
+ "displayName": "MCP Audit Logs",
14145
+ "type": "list",
14146
+ "context": "{}",
14147
+ "moduleUserKey": "solid-core",
14148
+ "modelUserKey": "mcpAuditLog",
14149
+ "layout": {
14150
+ "type": "list",
14151
+ "attrs": {
14152
+ "pagination": true,
14153
+ "pageSizeOptions": [10, 25, 50],
14154
+ "enableGlobalSearch": true,
14155
+ "create": true,
14156
+ "edit": true,
14157
+ "delete": false
14158
+ },
14159
+ "children": [
14160
+ { "type": "field", "attrs": { "name": "id" } },
14161
+ { "type": "field", "attrs": { "name": "createdAt" } },
14162
+ { "type": "field", "attrs": { "name": "method", "isSearchable": true } },
14163
+ { "type": "field", "attrs": { "name": "toolName", "isSearchable": true } },
14164
+ { "type": "field", "attrs": { "name": "status", "isSearchable": true } },
14165
+ { "type": "field", "attrs": { "name": "username", "isSearchable": true } },
14166
+ { "type": "field", "attrs": { "name": "userId" } },
14167
+ { "type": "field", "attrs": { "name": "transport", "isSearchable": true } },
14168
+ { "type": "field", "attrs": { "name": "mcpSessionId", "isSearchable": true } },
14169
+ { "type": "field", "attrs": { "name": "clientAddr", "isSearchable": true } },
14170
+ { "type": "field", "attrs": { "name": "durationMs" } },
14171
+ { "type": "field", "attrs": { "name": "errorCode" } }
14172
+ ]
14173
+ }
14174
+ },
14175
+ {
14176
+ "name": "mcpAuditLog-form-view",
14177
+ "displayName": "MCP Audit Log",
14178
+ "type": "form",
14179
+ "context": "{}",
14180
+ "moduleUserKey": "solid-core",
14181
+ "modelUserKey": "mcpAuditLog",
14182
+ "layout": {
14183
+ "type": "form",
14184
+ "attrs": {
14185
+ "name": "form-1",
14186
+ "label": "MCP Audit Log",
14187
+ "className": "grid"
14188
+ },
14189
+ "children": [
14190
+ {
14191
+ "type": "sheet",
14192
+ "attrs": { "name": "sheet-1" },
14193
+ "children": [
14194
+ {
14195
+ "type": "row",
14196
+ "attrs": { "name": "row-1" },
14197
+ "children": [
14198
+ {
14199
+ "type": "column",
14200
+ "attrs": { "name": "col-1", "label": "", "className": "col-12 sm:col-12 md:col-6 lg:col-6" },
14201
+ "children": [
14202
+ { "type": "field", "attrs": { "name": "method" } },
14203
+ { "type": "field", "attrs": { "name": "toolName" } },
14204
+ { "type": "field", "attrs": { "name": "status" } },
14205
+ { "type": "field", "attrs": { "name": "transport" } },
14206
+ { "type": "field", "attrs": { "name": "mcpSessionId" } },
14207
+ { "type": "field", "attrs": { "name": "requestId" } }
14208
+ ]
14209
+ },
14210
+ {
14211
+ "type": "column",
14212
+ "attrs": { "name": "col-2", "label": "", "className": "col-12 sm:col-12 md:col-6 lg:col-6" },
14213
+ "children": [
14214
+ { "type": "field", "attrs": { "name": "userId" } },
14215
+ { "type": "field", "attrs": { "name": "apiKeyId" } },
14216
+ { "type": "field", "attrs": { "name": "username" } },
14217
+ { "type": "field", "attrs": { "name": "clientAddr" } },
14218
+ { "type": "field", "attrs": { "name": "durationMs" } },
14219
+ { "type": "field", "attrs": { "name": "errorCode" } }
14220
+ ]
14221
+ }
14222
+ ]
14223
+ },
14224
+ {
14225
+ "type": "row",
14226
+ "attrs": { "name": "row-2" },
14227
+ "children": [
14228
+ {
14229
+ "type": "column",
14230
+ "attrs": { "name": "col-payload", "label": "", "className": "col-12" },
14231
+ "children": [
14232
+ { "type": "field", "attrs": { "name": "requestParams", "viewWidget": "SolidJsonFormViewWidget" } },
14233
+ { "type": "field", "attrs": { "name": "responseResult", "viewWidget": "SolidJsonFormViewWidget" } },
14234
+ { "type": "field", "attrs": { "name": "errorMessage" } }
14235
+ ]
14236
+ }
14237
+ ]
14238
+ }
14239
+ ]
14240
+ }
14241
+ ]
14242
+ }
13865
14243
  }
13866
14244
  ],
13867
14245
  "emailTemplates": [
@@ -0,0 +1,6 @@
1
+ 1. Do i need to create a storeStreams method for aws service too?
2
+ - Handle later
3
+ 2. queues handling -> if queues is enabled by default, i.e triggerExport(exportTransactionEntity.id).
4
+ - startExport should either return the data or return the transaction id
5
+ 3. How to handle scenarios wherein, nested related exist.(do i need to only get the userkey)
6
+ - show the userKey
@@ -164,6 +164,8 @@ export class AuthenticationService {
164
164
  "mobile",
165
165
  "roles",
166
166
  "forcePasswordChange",
167
+ "isAllowedToGenerateApiKeys",
168
+ "failedLoginAttempts",
167
169
  ]);
168
170
 
169
171
  async signUp(
@@ -191,22 +193,11 @@ export class AuthenticationService {
191
193
  return this.performSignUp(signUpDto, new User(), this.userRepository);
192
194
  }
193
195
 
194
- private async performSignUp<T extends User>(
195
- signUpDto: SignUpDto,
196
- entity: T,
197
- repo: Repository<T>,
198
- ): Promise<T> {
196
+ private async performSignUp<T extends User>(signUpDto: SignUpDto, entity: T, repo: Repository<T>): Promise<T> {
199
197
  try {
200
- const onForcePasswordChange =
201
- this.settingService.getConfigValue<SolidCoreSetting>(
202
- "forceChangePasswordOnFirstLogin",
203
- );
204
- const activateUserOnRegistration =
205
- this.settingService.getConfigValue<SolidCoreSetting>(
206
- "activateUserOnRegistration",
207
- );
208
- const defaultRole =
209
- this.settingService.getConfigValue<SolidCoreSetting>("defaultRole");
198
+ const onForcePasswordChange = this.settingService.getConfigValue<SolidCoreSetting>("forceChangePasswordOnFirstLogin");
199
+ const activateUserOnRegistration = this.settingService.getConfigValue<SolidCoreSetting>("activateUserOnRegistration");
200
+ const defaultRole = this.settingService.getConfigValue<SolidCoreSetting>("defaultRole");
210
201
 
211
202
  var { user, pwd, autoGeneratedPwd } = await this.populateForSignup<T>(
212
203
  entity,
@@ -220,17 +211,14 @@ export class AuthenticationService {
220
211
  }
221
212
  const savedUser = await repo.save(user);
222
213
  const userRoles = signUpDto.roles ?? [];
223
- if (
224
- (signUpDto.roles?.length ?? 0) === 0 &&
225
- signUpDto.username !== "sa" &&
226
- defaultRole
227
- ) {
214
+ if ((signUpDto.roles?.length ?? 0) === 0 && signUpDto.username !== "sa" && defaultRole) {
228
215
  userRoles.push(defaultRole);
229
216
  }
230
217
  await this.handlePostSignup(savedUser, userRoles, pwd, autoGeneratedPwd);
231
218
 
232
219
  return savedUser;
233
- } catch (err) {
220
+ }
221
+ catch (err: any) {
234
222
  const pgUniqueViolationErrorCode = "23505";
235
223
  if (err.code === pgUniqueViolationErrorCode) {
236
224
  throw new ConflictException(
@@ -485,7 +473,7 @@ export class AuthenticationService {
485
473
  validationSource,
486
474
  );
487
475
  await this.notifyUserOnOtpInitiateRegistration(user, validationSource);
488
- } catch (err) {
476
+ } catch (err: any) {
489
477
  if (err.code === "23505") {
490
478
  throw new ConflictException(ERROR_MESSAGES.USER_ALREADY_EXISTS);
491
479
  }
@@ -1306,7 +1294,7 @@ export class AuthenticationService {
1306
1294
  // Assuming all users do not have mobile as mandatory.
1307
1295
  if (
1308
1296
  forgotPasswordSendVerificationTokenOn ==
1309
- ForgotPasswordSendVerificationTokenOn.MOBILE &&
1297
+ ForgotPasswordSendVerificationTokenOn.MOBILE &&
1310
1298
  user.mobile
1311
1299
  ) {
1312
1300
  const smsService = this.smsFactory.getSmsService();
@@ -1336,11 +1324,11 @@ export class AuthenticationService {
1336
1324
  confirmForgotPasswordDto.verificationToken,
1337
1325
  );
1338
1326
  if (!user)
1339
- throw new UnauthorizedException(ERROR_MESSAGES.INVALID_CREDENTIALS);
1327
+ throw new UnauthorizedException("Invalid verification token");
1340
1328
  if (user.lastLoginProvider !== "local")
1341
1329
  throw new UnauthorizedException(ERROR_MESSAGES.INVALID_CREDENTIALS);
1342
1330
  if (!user.active)
1343
- throw new UnauthorizedException(ERROR_MESSAGES.INVALID_CREDENTIALS);
1331
+ throw new UnauthorizedException("User is inactive");
1344
1332
 
1345
1333
  // 1) Atomically consume the token (only one request can succeed)
1346
1334
  const { affected } = await m
@@ -1432,7 +1420,7 @@ export class AuthenticationService {
1432
1420
  // Assuming all users do not have mobile as mandatory.
1433
1421
  if (
1434
1422
  forgotPasswordSendVerificationTokenOn ==
1435
- ForgotPasswordSendVerificationTokenOn.MOBILE &&
1423
+ ForgotPasswordSendVerificationTokenOn.MOBILE &&
1436
1424
  user.mobile
1437
1425
  ) {
1438
1426
  const smsService = this.smsFactory.getSmsService();
@@ -1548,7 +1536,7 @@ export class AuthenticationService {
1548
1536
  accessToken: await this.generateAccessToken(user),
1549
1537
  refreshToken: currentRefreshToken,
1550
1538
  };
1551
- } catch (err) {
1539
+ } catch (err: any) {
1552
1540
  if (err instanceof InvalidatedRefreshTokenError) {
1553
1541
  // Take action: notify user that his refresh token might have been stolen?
1554
1542
  throw new UnauthorizedException(ERROR_MESSAGES.ACCESS_DENIED);
@@ -1599,7 +1587,7 @@ export class AuthenticationService {
1599
1587
  } else {
1600
1588
  throw new UnauthorizedException(ERROR_MESSAGES.INVALID_USER_PROFILE);
1601
1589
  }
1602
- } catch (error) {
1590
+ } catch (error: any) {
1603
1591
  throw new UnauthorizedException(
1604
1592
  ERROR_MESSAGES.GOOGLE_OAUTH_PROFILE_FETCH_FAILED,
1605
1593
  );
@@ -1668,7 +1656,7 @@ export class AuthenticationService {
1668
1656
  } else {
1669
1657
  throw new UnauthorizedException(ERROR_MESSAGES.INVALID_USER_PROFILE);
1670
1658
  }
1671
- } catch (error) {
1659
+ } catch (error: any) {
1672
1660
  if (error instanceof UnauthorizedException) {
1673
1661
  throw error;
1674
1662
  }
@@ -1733,7 +1721,7 @@ export class AuthenticationService {
1733
1721
  } else {
1734
1722
  throw new UnauthorizedException(ERROR_MESSAGES.INVALID_USER_PROFILE);
1735
1723
  }
1736
- } catch (error) {
1724
+ } catch (error: any) {
1737
1725
  throw new UnauthorizedException("Microsoft OAuth profile fetch failed");
1738
1726
  }
1739
1727
  }
@@ -1880,7 +1868,7 @@ export class AuthenticationService {
1880
1868
  await this.userActivityHistoryService.logEvent("logout", user);
1881
1869
 
1882
1870
  return { message: SUCCESS_MESSAGES.LOGOUT_SUCCESS };
1883
- } catch (err) {
1871
+ } catch (err: any) {
1884
1872
  throw err instanceof UnauthorizedException ||
1885
1873
  err instanceof InternalServerErrorException
1886
1874
  ? err