@solidxai/core 0.1.13-beta.0 → 0.1.13-beta.10

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 (670) hide show
  1. package/CHANGELOG.md +3786 -0
  2. package/dist/commands/run-tests.command.d.ts +7 -1
  3. package/dist/commands/run-tests.command.d.ts.map +1 -1
  4. package/dist/commands/run-tests.command.js +49 -3
  5. package/dist/commands/run-tests.command.js.map +1 -1
  6. package/dist/commands/seed.command.d.ts +2 -0
  7. package/dist/commands/seed.command.d.ts.map +1 -1
  8. package/dist/commands/seed.command.js +21 -0
  9. package/dist/commands/seed.command.js.map +1 -1
  10. package/dist/constants/chatter-message.constants.d.ts +1 -0
  11. package/dist/constants/chatter-message.constants.d.ts.map +1 -1
  12. package/dist/constants/chatter-message.constants.js +3 -1
  13. package/dist/constants/chatter-message.constants.js.map +1 -1
  14. package/dist/constants/draft-publish-fields.d.ts +2 -0
  15. package/dist/constants/draft-publish-fields.d.ts.map +1 -0
  16. package/dist/constants/draft-publish-fields.js +5 -0
  17. package/dist/constants/draft-publish-fields.js.map +1 -0
  18. package/dist/constants/media-file-types.d.ts +9 -0
  19. package/dist/constants/media-file-types.d.ts.map +1 -1
  20. package/dist/constants/media-file-types.js +27 -1
  21. package/dist/constants/media-file-types.js.map +1 -1
  22. package/dist/constants/user.constants.d.ts +2 -0
  23. package/dist/constants/user.constants.d.ts.map +1 -0
  24. package/dist/constants/user.constants.js +5 -0
  25. package/dist/constants/user.constants.js.map +1 -0
  26. package/dist/controllers/action-metadata.controller.d.ts +1 -1
  27. package/dist/controllers/action-metadata.controller.js +1 -1
  28. package/dist/controllers/agent-event.controller.d.ts +1 -1
  29. package/dist/controllers/agent-event.controller.js +1 -1
  30. package/dist/controllers/agent-session.controller.d.ts +1 -1
  31. package/dist/controllers/agent-session.controller.js +1 -1
  32. package/dist/controllers/chatter-message.controller.d.ts +5 -0
  33. package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
  34. package/dist/controllers/chatter-message.controller.js +14 -0
  35. package/dist/controllers/chatter-message.controller.js.map +1 -1
  36. package/dist/controllers/dashboard-user-layout.controller.d.ts +1 -1
  37. package/dist/controllers/dashboard-user-layout.controller.js +1 -1
  38. package/dist/controllers/email-template.controller.d.ts +1 -1
  39. package/dist/controllers/email-template.controller.js +1 -1
  40. package/dist/controllers/export-template.controller.d.ts +1 -1
  41. package/dist/controllers/export-template.controller.d.ts.map +1 -1
  42. package/dist/controllers/export-template.controller.js +6 -4
  43. package/dist/controllers/export-template.controller.js.map +1 -1
  44. package/dist/controllers/export-transaction.controller.d.ts +1 -1
  45. package/dist/controllers/export-transaction.controller.js +1 -1
  46. package/dist/controllers/import-transaction-error-log.controller.d.ts +1 -1
  47. package/dist/controllers/import-transaction-error-log.controller.js +1 -1
  48. package/dist/controllers/import-transaction.controller.d.ts +1 -1
  49. package/dist/controllers/import-transaction.controller.d.ts.map +1 -1
  50. package/dist/controllers/import-transaction.controller.js +7 -7
  51. package/dist/controllers/import-transaction.controller.js.map +1 -1
  52. package/dist/controllers/list-of-values.controller.d.ts +1 -1
  53. package/dist/controllers/list-of-values.controller.js +1 -1
  54. package/dist/controllers/locale.controller.d.ts +1 -1
  55. package/dist/controllers/locale.controller.js +1 -1
  56. package/dist/controllers/mcp-audit-log.controller.d.ts +1 -1
  57. package/dist/controllers/mcp-audit-log.controller.js +1 -1
  58. package/dist/controllers/media.controller.d.ts +2 -2
  59. package/dist/controllers/media.controller.d.ts.map +1 -1
  60. package/dist/controllers/media.controller.js +13 -8
  61. package/dist/controllers/media.controller.js.map +1 -1
  62. package/dist/controllers/menu-item-metadata.controller.d.ts +1 -1
  63. package/dist/controllers/menu-item-metadata.controller.js +1 -1
  64. package/dist/controllers/model-sequence.controller.d.ts +1 -1
  65. package/dist/controllers/model-sequence.controller.js +1 -1
  66. package/dist/controllers/module-package.controller.d.ts.map +1 -1
  67. package/dist/controllers/module-package.controller.js +2 -3
  68. package/dist/controllers/module-package.controller.js.map +1 -1
  69. package/dist/controllers/mq-message-queue.controller.d.ts +1 -1
  70. package/dist/controllers/mq-message-queue.controller.js +1 -1
  71. package/dist/controllers/mq-message.controller.d.ts +1 -1
  72. package/dist/controllers/mq-message.controller.js +1 -1
  73. package/dist/controllers/permission-metadata.controller.d.ts +1 -1
  74. package/dist/controllers/permission-metadata.controller.js +1 -1
  75. package/dist/controllers/role-metadata.controller.d.ts +1 -1
  76. package/dist/controllers/role-metadata.controller.js +1 -1
  77. package/dist/controllers/saved-filters.controller.d.ts +1 -1
  78. package/dist/controllers/saved-filters.controller.js +1 -1
  79. package/dist/controllers/scheduled-job.controller.d.ts +1 -1
  80. package/dist/controllers/scheduled-job.controller.js +1 -1
  81. package/dist/controllers/security-rule.controller.d.ts +1 -1
  82. package/dist/controllers/security-rule.controller.js +1 -1
  83. package/dist/controllers/sms-template.controller.d.ts +1 -1
  84. package/dist/controllers/sms-template.controller.js +1 -1
  85. package/dist/controllers/user-activity-history.controller.d.ts +1 -1
  86. package/dist/controllers/user-activity-history.controller.js +1 -1
  87. package/dist/controllers/user-view-metadata.controller.d.ts +1 -1
  88. package/dist/controllers/user-view-metadata.controller.js +1 -1
  89. package/dist/controllers/user.controller.d.ts +2 -2
  90. package/dist/controllers/user.controller.js +2 -2
  91. package/dist/controllers/view-metadata.controller.d.ts +2 -2
  92. package/dist/controllers/view-metadata.controller.js +1 -1
  93. package/dist/controllers/workflow-definition.controller.d.ts +38 -0
  94. package/dist/controllers/workflow-definition.controller.d.ts.map +1 -0
  95. package/dist/controllers/workflow-definition.controller.js +272 -0
  96. package/dist/controllers/workflow-definition.controller.js.map +1 -0
  97. package/dist/controllers/workflow-execution-artifact.controller.d.ts +24 -0
  98. package/dist/controllers/workflow-execution-artifact.controller.d.ts.map +1 -0
  99. package/dist/controllers/workflow-execution-artifact.controller.js +179 -0
  100. package/dist/controllers/workflow-execution-artifact.controller.js.map +1 -0
  101. package/dist/controllers/workflow-execution-log.controller.d.ts +24 -0
  102. package/dist/controllers/workflow-execution-log.controller.d.ts.map +1 -0
  103. package/dist/controllers/workflow-execution-log.controller.js +179 -0
  104. package/dist/controllers/workflow-execution-log.controller.js.map +1 -0
  105. package/dist/controllers/workflow-execution.controller.d.ts +29 -0
  106. package/dist/controllers/workflow-execution.controller.d.ts.map +1 -0
  107. package/dist/controllers/workflow-execution.controller.js +227 -0
  108. package/dist/controllers/workflow-execution.controller.js.map +1 -0
  109. package/dist/controllers/workflow-secret.controller.d.ts +24 -0
  110. package/dist/controllers/workflow-secret.controller.d.ts.map +1 -0
  111. package/dist/controllers/workflow-secret.controller.js +179 -0
  112. package/dist/controllers/workflow-secret.controller.js.map +1 -0
  113. package/dist/controllers/workflow-step-execution.controller.d.ts +24 -0
  114. package/dist/controllers/workflow-step-execution.controller.d.ts.map +1 -0
  115. package/dist/controllers/workflow-step-execution.controller.js +179 -0
  116. package/dist/controllers/workflow-step-execution.controller.js.map +1 -0
  117. package/dist/controllers/workflow-trigger-execution.controller.d.ts +24 -0
  118. package/dist/controllers/workflow-trigger-execution.controller.d.ts.map +1 -0
  119. package/dist/controllers/workflow-trigger-execution.controller.js +179 -0
  120. package/dist/controllers/workflow-trigger-execution.controller.js.map +1 -0
  121. package/dist/decorators/workflow-node-provider.decorator.d.ts +4 -0
  122. package/dist/decorators/workflow-node-provider.decorator.d.ts.map +1 -0
  123. package/dist/decorators/workflow-node-provider.decorator.js +13 -0
  124. package/dist/decorators/workflow-node-provider.decorator.js.map +1 -0
  125. package/dist/dtos/basic-filters.dto.d.ts +0 -1
  126. package/dist/dtos/basic-filters.dto.d.ts.map +1 -1
  127. package/dist/dtos/basic-filters.dto.js +1 -6
  128. package/dist/dtos/basic-filters.dto.js.map +1 -1
  129. package/dist/dtos/create-workflow-definition.dto.d.ts +14 -0
  130. package/dist/dtos/create-workflow-definition.dto.d.ts.map +1 -0
  131. package/dist/dtos/create-workflow-definition.dto.js +92 -0
  132. package/dist/dtos/create-workflow-definition.dto.js.map +1 -0
  133. package/dist/dtos/create-workflow-execution-artifact.dto.d.ts +22 -0
  134. package/dist/dtos/create-workflow-execution-artifact.dto.d.ts.map +1 -0
  135. package/dist/dtos/create-workflow-execution-artifact.dto.js +139 -0
  136. package/dist/dtos/create-workflow-execution-artifact.dto.js.map +1 -0
  137. package/dist/dtos/create-workflow-execution-log.dto.d.ts +18 -0
  138. package/dist/dtos/create-workflow-execution-log.dto.d.ts.map +1 -0
  139. package/dist/dtos/create-workflow-execution-log.dto.js +116 -0
  140. package/dist/dtos/create-workflow-execution-log.dto.js.map +1 -0
  141. package/dist/dtos/create-workflow-execution.dto.d.ts +33 -0
  142. package/dist/dtos/create-workflow-execution.dto.d.ts.map +1 -0
  143. package/dist/dtos/create-workflow-execution.dto.js +186 -0
  144. package/dist/dtos/create-workflow-execution.dto.js.map +1 -0
  145. package/dist/dtos/create-workflow-secret.dto.d.ts +11 -0
  146. package/dist/dtos/create-workflow-secret.dto.d.ts.map +1 -0
  147. package/dist/dtos/create-workflow-secret.dto.js +74 -0
  148. package/dist/dtos/create-workflow-secret.dto.js.map +1 -0
  149. package/dist/dtos/create-workflow-step-execution.dto.d.ts +27 -0
  150. package/dist/dtos/create-workflow-step-execution.dto.d.ts.map +1 -0
  151. package/dist/dtos/create-workflow-step-execution.dto.js +171 -0
  152. package/dist/dtos/create-workflow-step-execution.dto.js.map +1 -0
  153. package/dist/dtos/create-workflow-trigger-execution.dto.d.ts +25 -0
  154. package/dist/dtos/create-workflow-trigger-execution.dto.d.ts.map +1 -0
  155. package/dist/dtos/create-workflow-trigger-execution.dto.js +158 -0
  156. package/dist/dtos/create-workflow-trigger-execution.dto.js.map +1 -0
  157. package/dist/dtos/execute-workflow.dto.d.ts +7 -0
  158. package/dist/dtos/execute-workflow.dto.d.ts.map +1 -0
  159. package/dist/dtos/execute-workflow.dto.js +11 -0
  160. package/dist/dtos/execute-workflow.dto.js.map +1 -0
  161. package/dist/dtos/update-workflow-definition.dto.d.ts +15 -0
  162. package/dist/dtos/update-workflow-definition.dto.d.ts.map +1 -0
  163. package/dist/dtos/update-workflow-definition.dto.js +97 -0
  164. package/dist/dtos/update-workflow-definition.dto.js.map +1 -0
  165. package/dist/dtos/update-workflow-execution-artifact.dto.d.ts +23 -0
  166. package/dist/dtos/update-workflow-execution-artifact.dto.d.ts.map +1 -0
  167. package/dist/dtos/update-workflow-execution-artifact.dto.js +143 -0
  168. package/dist/dtos/update-workflow-execution-artifact.dto.js.map +1 -0
  169. package/dist/dtos/update-workflow-execution-log.dto.d.ts +19 -0
  170. package/dist/dtos/update-workflow-execution-log.dto.d.ts.map +1 -0
  171. package/dist/dtos/update-workflow-execution-log.dto.js +121 -0
  172. package/dist/dtos/update-workflow-execution-log.dto.js.map +1 -0
  173. package/dist/dtos/update-workflow-execution.dto.d.ts +34 -0
  174. package/dist/dtos/update-workflow-execution.dto.d.ts.map +1 -0
  175. package/dist/dtos/update-workflow-execution.dto.js +190 -0
  176. package/dist/dtos/update-workflow-execution.dto.js.map +1 -0
  177. package/dist/dtos/update-workflow-secret.dto.d.ts +12 -0
  178. package/dist/dtos/update-workflow-secret.dto.d.ts.map +1 -0
  179. package/dist/dtos/update-workflow-secret.dto.js +80 -0
  180. package/dist/dtos/update-workflow-secret.dto.js.map +1 -0
  181. package/dist/dtos/update-workflow-step-execution.dto.d.ts +28 -0
  182. package/dist/dtos/update-workflow-step-execution.dto.d.ts.map +1 -0
  183. package/dist/dtos/update-workflow-step-execution.dto.js +175 -0
  184. package/dist/dtos/update-workflow-step-execution.dto.js.map +1 -0
  185. package/dist/dtos/update-workflow-trigger-execution.dto.d.ts +26 -0
  186. package/dist/dtos/update-workflow-trigger-execution.dto.d.ts.map +1 -0
  187. package/dist/dtos/update-workflow-trigger-execution.dto.js +163 -0
  188. package/dist/dtos/update-workflow-trigger-execution.dto.js.map +1 -0
  189. package/dist/dtos/validate-workflow-definition.dto.d.ts +4 -0
  190. package/dist/dtos/validate-workflow-definition.dto.d.ts.map +1 -0
  191. package/dist/dtos/validate-workflow-definition.dto.js +11 -0
  192. package/dist/dtos/validate-workflow-definition.dto.js.map +1 -0
  193. package/dist/entities/common.entity.d.ts +4 -0
  194. package/dist/entities/common.entity.d.ts.map +1 -1
  195. package/dist/entities/common.entity.js +25 -1
  196. package/dist/entities/common.entity.js.map +1 -1
  197. package/dist/entities/user.entity.d.ts.map +1 -1
  198. package/dist/entities/user.entity.js +36 -0
  199. package/dist/entities/user.entity.js.map +1 -1
  200. package/dist/entities/workflow-definition.entity.d.ts +15 -0
  201. package/dist/entities/workflow-definition.entity.d.ts.map +1 -0
  202. package/dist/entities/workflow-definition.entity.js +77 -0
  203. package/dist/entities/workflow-definition.entity.js.map +1 -0
  204. package/dist/entities/workflow-execution-artifact.entity.d.ts +23 -0
  205. package/dist/entities/workflow-execution-artifact.entity.d.ts.map +1 -0
  206. package/dist/entities/workflow-execution-artifact.entity.js +113 -0
  207. package/dist/entities/workflow-execution-artifact.entity.js.map +1 -0
  208. package/dist/entities/workflow-execution-log.entity.d.ts +19 -0
  209. package/dist/entities/workflow-execution-log.entity.d.ts.map +1 -0
  210. package/dist/entities/workflow-execution-log.entity.js +95 -0
  211. package/dist/entities/workflow-execution-log.entity.js.map +1 -0
  212. package/dist/entities/workflow-execution.entity.d.ts +28 -0
  213. package/dist/entities/workflow-execution.entity.d.ts.map +1 -0
  214. package/dist/entities/workflow-execution.entity.js +124 -0
  215. package/dist/entities/workflow-execution.entity.js.map +1 -0
  216. package/dist/entities/workflow-secret.entity.d.ts +12 -0
  217. package/dist/entities/workflow-secret.entity.d.ts.map +1 -0
  218. package/dist/entities/workflow-secret.entity.js +66 -0
  219. package/dist/entities/workflow-secret.entity.js.map +1 -0
  220. package/dist/entities/workflow-step-execution.entity.d.ts +28 -0
  221. package/dist/entities/workflow-step-execution.entity.d.ts.map +1 -0
  222. package/dist/entities/workflow-step-execution.entity.js +138 -0
  223. package/dist/entities/workflow-step-execution.entity.js.map +1 -0
  224. package/dist/entities/workflow-trigger-execution.entity.d.ts +26 -0
  225. package/dist/entities/workflow-trigger-execution.entity.d.ts.map +1 -0
  226. package/dist/entities/workflow-trigger-execution.entity.js +127 -0
  227. package/dist/entities/workflow-trigger-execution.entity.js.map +1 -0
  228. package/dist/factories/mail.factory.d.ts.map +1 -1
  229. package/dist/factories/mail.factory.js +4 -0
  230. package/dist/factories/mail.factory.js.map +1 -1
  231. package/dist/factories/sms.factory.d.ts.map +1 -1
  232. package/dist/factories/sms.factory.js +4 -1
  233. package/dist/factories/sms.factory.js.map +1 -1
  234. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts +1 -0
  235. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts.map +1 -1
  236. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js +18 -11
  237. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js.map +1 -1
  238. package/dist/helpers/file-download.helper.d.ts +9 -0
  239. package/dist/helpers/file-download.helper.d.ts.map +1 -0
  240. package/dist/helpers/file-download.helper.js +14 -0
  241. package/dist/helpers/file-download.helper.js.map +1 -0
  242. package/dist/helpers/model-metadata-helper.service.d.ts.map +1 -1
  243. package/dist/helpers/model-metadata-helper.service.js +30 -1
  244. package/dist/helpers/model-metadata-helper.service.js.map +1 -1
  245. package/dist/helpers/solid-registry.js +1 -1
  246. package/dist/helpers/solid-registry.js.map +1 -1
  247. package/dist/index.d.ts +58 -0
  248. package/dist/index.d.ts.map +1 -1
  249. package/dist/index.js +58 -0
  250. package/dist/index.js.map +1 -1
  251. package/dist/interfaces/workflow-node-handler.interface.d.ts +5 -0
  252. package/dist/interfaces/workflow-node-handler.interface.d.ts.map +1 -0
  253. package/dist/interfaces/workflow-node-handler.interface.js +3 -0
  254. package/dist/interfaces/workflow-node-handler.interface.js.map +1 -0
  255. package/dist/interfaces.d.ts +1 -0
  256. package/dist/interfaces.d.ts.map +1 -1
  257. package/dist/interfaces.js.map +1 -1
  258. package/dist/jobs/database/workflow-execution-publisher-database.service.d.ts +12 -0
  259. package/dist/jobs/database/workflow-execution-publisher-database.service.d.ts.map +1 -0
  260. package/dist/jobs/database/workflow-execution-publisher-database.service.js +39 -0
  261. package/dist/jobs/database/workflow-execution-publisher-database.service.js.map +1 -0
  262. package/dist/jobs/database/workflow-execution-queue-options-database.d.ts +8 -0
  263. package/dist/jobs/database/workflow-execution-queue-options-database.d.ts.map +1 -0
  264. package/dist/jobs/database/workflow-execution-queue-options-database.js +10 -0
  265. package/dist/jobs/database/workflow-execution-queue-options-database.js.map +1 -0
  266. package/dist/jobs/database/workflow-execution-subscriber-database.service.d.ts +19 -0
  267. package/dist/jobs/database/workflow-execution-subscriber-database.service.d.ts.map +1 -0
  268. package/dist/jobs/database/workflow-execution-subscriber-database.service.js +55 -0
  269. package/dist/jobs/database/workflow-execution-subscriber-database.service.js.map +1 -0
  270. package/dist/jobs/rabbitmq/workflow-execution-publisher.service.d.ts +12 -0
  271. package/dist/jobs/rabbitmq/workflow-execution-publisher.service.d.ts.map +1 -0
  272. package/dist/jobs/rabbitmq/workflow-execution-publisher.service.js +39 -0
  273. package/dist/jobs/rabbitmq/workflow-execution-publisher.service.js.map +1 -0
  274. package/dist/jobs/rabbitmq/workflow-execution-queue-options.d.ts +8 -0
  275. package/dist/jobs/rabbitmq/workflow-execution-queue-options.d.ts.map +1 -0
  276. package/dist/jobs/rabbitmq/workflow-execution-queue-options.js +10 -0
  277. package/dist/jobs/rabbitmq/workflow-execution-queue-options.js.map +1 -0
  278. package/dist/jobs/rabbitmq/workflow-execution-subscriber.service.d.ts +17 -0
  279. package/dist/jobs/rabbitmq/workflow-execution-subscriber.service.d.ts.map +1 -0
  280. package/dist/jobs/rabbitmq/workflow-execution-subscriber.service.js +52 -0
  281. package/dist/jobs/rabbitmq/workflow-execution-subscriber.service.js.map +1 -0
  282. package/dist/jobs/redis/workflow-execution-publisher-redis.service.d.ts +12 -0
  283. package/dist/jobs/redis/workflow-execution-publisher-redis.service.d.ts.map +1 -0
  284. package/dist/jobs/redis/workflow-execution-publisher-redis.service.js +39 -0
  285. package/dist/jobs/redis/workflow-execution-publisher-redis.service.js.map +1 -0
  286. package/dist/jobs/redis/workflow-execution-queue-options-redis.d.ts +8 -0
  287. package/dist/jobs/redis/workflow-execution-queue-options-redis.d.ts.map +1 -0
  288. package/dist/jobs/redis/workflow-execution-queue-options-redis.js +10 -0
  289. package/dist/jobs/redis/workflow-execution-queue-options-redis.js.map +1 -0
  290. package/dist/jobs/redis/workflow-execution-subscriber-redis.service.d.ts +17 -0
  291. package/dist/jobs/redis/workflow-execution-subscriber-redis.service.d.ts.map +1 -0
  292. package/dist/jobs/redis/workflow-execution-subscriber-redis.service.js +52 -0
  293. package/dist/jobs/redis/workflow-execution-subscriber-redis.service.js.map +1 -0
  294. package/dist/repository/workflow-definition.repository.d.ts +12 -0
  295. package/dist/repository/workflow-definition.repository.d.ts.map +1 -0
  296. package/dist/repository/workflow-definition.repository.js +39 -0
  297. package/dist/repository/workflow-definition.repository.js.map +1 -0
  298. package/dist/repository/workflow-execution-artifact.repository.d.ts +12 -0
  299. package/dist/repository/workflow-execution-artifact.repository.d.ts.map +1 -0
  300. package/dist/repository/workflow-execution-artifact.repository.js +39 -0
  301. package/dist/repository/workflow-execution-artifact.repository.js.map +1 -0
  302. package/dist/repository/workflow-execution-log.repository.d.ts +12 -0
  303. package/dist/repository/workflow-execution-log.repository.d.ts.map +1 -0
  304. package/dist/repository/workflow-execution-log.repository.js +39 -0
  305. package/dist/repository/workflow-execution-log.repository.js.map +1 -0
  306. package/dist/repository/workflow-execution.repository.d.ts +12 -0
  307. package/dist/repository/workflow-execution.repository.d.ts.map +1 -0
  308. package/dist/repository/workflow-execution.repository.js +39 -0
  309. package/dist/repository/workflow-execution.repository.js.map +1 -0
  310. package/dist/repository/workflow-secret.repository.d.ts +12 -0
  311. package/dist/repository/workflow-secret.repository.d.ts.map +1 -0
  312. package/dist/repository/workflow-secret.repository.js +39 -0
  313. package/dist/repository/workflow-secret.repository.js.map +1 -0
  314. package/dist/repository/workflow-step-execution.repository.d.ts +12 -0
  315. package/dist/repository/workflow-step-execution.repository.d.ts.map +1 -0
  316. package/dist/repository/workflow-step-execution.repository.js +39 -0
  317. package/dist/repository/workflow-step-execution.repository.js.map +1 -0
  318. package/dist/repository/workflow-trigger-execution.repository.d.ts +12 -0
  319. package/dist/repository/workflow-trigger-execution.repository.d.ts.map +1 -0
  320. package/dist/repository/workflow-trigger-execution.repository.js +39 -0
  321. package/dist/repository/workflow-trigger-execution.repository.js.map +1 -0
  322. package/dist/seeders/module-metadata-seeder.service.d.ts +6 -0
  323. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  324. package/dist/seeders/module-metadata-seeder.service.js +185 -27
  325. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  326. package/dist/seeders/module-test-data.service.d.ts +3 -1
  327. package/dist/seeders/module-test-data.service.d.ts.map +1 -1
  328. package/dist/seeders/module-test-data.service.js +8 -2
  329. package/dist/seeders/module-test-data.service.js.map +1 -1
  330. package/dist/seeders/seed-data/solid-core-metadata.json +11494 -5570
  331. package/dist/services/authentication.service.d.ts +4 -1
  332. package/dist/services/authentication.service.d.ts.map +1 -1
  333. package/dist/services/authentication.service.js +52 -4
  334. package/dist/services/authentication.service.js.map +1 -1
  335. package/dist/services/chatter-message.service.d.ts +11 -0
  336. package/dist/services/chatter-message.service.d.ts.map +1 -1
  337. package/dist/services/chatter-message.service.js +52 -3
  338. package/dist/services/chatter-message.service.js.map +1 -1
  339. package/dist/services/crud-helper.service.d.ts +5 -2
  340. package/dist/services/crud-helper.service.d.ts.map +1 -1
  341. package/dist/services/crud-helper.service.js +30 -32
  342. package/dist/services/crud-helper.service.js.map +1 -1
  343. package/dist/services/crud.service.d.ts +13 -1
  344. package/dist/services/crud.service.d.ts.map +1 -1
  345. package/dist/services/crud.service.js +92 -67
  346. package/dist/services/crud.service.js.map +1 -1
  347. package/dist/services/datasource-introspection.service.d.ts.map +1 -1
  348. package/dist/services/datasource-introspection.service.js.map +1 -1
  349. package/dist/services/draft-publish-helper.service.d.ts +52 -0
  350. package/dist/services/draft-publish-helper.service.d.ts.map +1 -0
  351. package/dist/services/draft-publish-helper.service.js +368 -0
  352. package/dist/services/draft-publish-helper.service.js.map +1 -0
  353. package/dist/services/internationalisation-helper.service.d.ts +19 -0
  354. package/dist/services/internationalisation-helper.service.d.ts.map +1 -0
  355. package/dist/services/internationalisation-helper.service.js +107 -0
  356. package/dist/services/internationalisation-helper.service.js.map +1 -0
  357. package/dist/services/locale.service.d.ts +1 -1
  358. package/dist/services/media.service.d.ts +3 -2
  359. package/dist/services/media.service.d.ts.map +1 -1
  360. package/dist/services/media.service.js +44 -29
  361. package/dist/services/media.service.js.map +1 -1
  362. package/dist/services/metadata-validation.service.d.ts +7 -0
  363. package/dist/services/metadata-validation.service.d.ts.map +1 -0
  364. package/dist/services/metadata-validation.service.js +42 -0
  365. package/dist/services/metadata-validation.service.js.map +1 -0
  366. package/dist/services/model-metadata.service.d.ts.map +1 -1
  367. package/dist/services/model-metadata.service.js +2 -1
  368. package/dist/services/model-metadata.service.js.map +1 -1
  369. package/dist/services/object.utils.d.ts +2 -0
  370. package/dist/services/object.utils.d.ts.map +1 -0
  371. package/dist/services/object.utils.js +11 -0
  372. package/dist/services/object.utils.js.map +1 -0
  373. package/dist/services/settings/default-settings-provider.service.d.ts +46 -6
  374. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  375. package/dist/services/settings/default-settings-provider.service.js +29 -3
  376. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  377. package/dist/services/user.service.d.ts +2 -2
  378. package/dist/services/user.service.d.ts.map +1 -1
  379. package/dist/services/user.service.js +9 -3
  380. package/dist/services/user.service.js.map +1 -1
  381. package/dist/services/view-metadata.service.d.ts +1 -2
  382. package/dist/services/view-metadata.service.d.ts.map +1 -1
  383. package/dist/services/view-metadata.service.js +3 -55
  384. package/dist/services/view-metadata.service.js.map +1 -1
  385. package/dist/services/workflow/nodes/execution-fail.node.d.ts +6 -0
  386. package/dist/services/workflow/nodes/execution-fail.node.d.ts.map +1 -0
  387. package/dist/services/workflow/nodes/execution-fail.node.js +81 -0
  388. package/dist/services/workflow/nodes/execution-fail.node.js.map +1 -0
  389. package/dist/services/workflow/nodes/for-each.node.d.ts +8 -0
  390. package/dist/services/workflow/nodes/for-each.node.d.ts.map +1 -0
  391. package/dist/services/workflow/nodes/for-each.node.js +204 -0
  392. package/dist/services/workflow/nodes/for-each.node.js.map +1 -0
  393. package/dist/services/workflow/nodes/http-request.node.d.ts +13 -0
  394. package/dist/services/workflow/nodes/http-request.node.d.ts.map +1 -0
  395. package/dist/services/workflow/nodes/http-request.node.js +549 -0
  396. package/dist/services/workflow/nodes/http-request.node.js.map +1 -0
  397. package/dist/services/workflow/nodes/if.node.d.ts +6 -0
  398. package/dist/services/workflow/nodes/if.node.d.ts.map +1 -0
  399. package/dist/services/workflow/nodes/if.node.js +100 -0
  400. package/dist/services/workflow/nodes/if.node.js.map +1 -0
  401. package/dist/services/workflow/nodes/log-write.node.d.ts +6 -0
  402. package/dist/services/workflow/nodes/log-write.node.d.ts.map +1 -0
  403. package/dist/services/workflow/nodes/log-write.node.js +231 -0
  404. package/dist/services/workflow/nodes/log-write.node.js.map +1 -0
  405. package/dist/services/workflow/nodes/loop-until.node.d.ts +12 -0
  406. package/dist/services/workflow/nodes/loop-until.node.d.ts.map +1 -0
  407. package/dist/services/workflow/nodes/loop-until.node.js +281 -0
  408. package/dist/services/workflow/nodes/loop-until.node.js.map +1 -0
  409. package/dist/services/workflow/nodes/parallel.node.d.ts +6 -0
  410. package/dist/services/workflow/nodes/parallel.node.d.ts.map +1 -0
  411. package/dist/services/workflow/nodes/parallel.node.js +83 -0
  412. package/dist/services/workflow/nodes/parallel.node.js.map +1 -0
  413. package/dist/services/workflow/nodes/runtime-python.node.d.ts +13 -0
  414. package/dist/services/workflow/nodes/runtime-python.node.d.ts.map +1 -0
  415. package/dist/services/workflow/nodes/runtime-python.node.js +522 -0
  416. package/dist/services/workflow/nodes/runtime-python.node.js.map +1 -0
  417. package/dist/services/workflow/nodes/sequential.node.d.ts +6 -0
  418. package/dist/services/workflow/nodes/sequential.node.d.ts.map +1 -0
  419. package/dist/services/workflow/nodes/sequential.node.js +68 -0
  420. package/dist/services/workflow/nodes/sequential.node.js.map +1 -0
  421. package/dist/services/workflow/nodes/solidx-api.helpers.d.ts +25 -0
  422. package/dist/services/workflow/nodes/solidx-api.helpers.d.ts.map +1 -0
  423. package/dist/services/workflow/nodes/solidx-api.helpers.js +143 -0
  424. package/dist/services/workflow/nodes/solidx-api.helpers.js.map +1 -0
  425. package/dist/services/workflow/nodes/solidx-crud.nodes.d.ts +48 -0
  426. package/dist/services/workflow/nodes/solidx-crud.nodes.d.ts.map +1 -0
  427. package/dist/services/workflow/nodes/solidx-crud.nodes.js +475 -0
  428. package/dist/services/workflow/nodes/solidx-crud.nodes.js.map +1 -0
  429. package/dist/services/workflow/nodes/solidx-login.node.d.ts +6 -0
  430. package/dist/services/workflow/nodes/solidx-login.node.d.ts.map +1 -0
  431. package/dist/services/workflow/nodes/solidx-login.node.js +208 -0
  432. package/dist/services/workflow/nodes/solidx-login.node.js.map +1 -0
  433. package/dist/services/workflow/nodes/solidx-send-email.node.d.ts +11 -0
  434. package/dist/services/workflow/nodes/solidx-send-email.node.d.ts.map +1 -0
  435. package/dist/services/workflow/nodes/solidx-send-email.node.js +437 -0
  436. package/dist/services/workflow/nodes/solidx-send-email.node.js.map +1 -0
  437. package/dist/services/workflow/nodes/solidx-send-sms.node.d.ts +10 -0
  438. package/dist/services/workflow/nodes/solidx-send-sms.node.d.ts.map +1 -0
  439. package/dist/services/workflow/nodes/solidx-send-sms.node.js +347 -0
  440. package/dist/services/workflow/nodes/solidx-send-sms.node.js.map +1 -0
  441. package/dist/services/workflow/nodes/switch.node.d.ts +7 -0
  442. package/dist/services/workflow/nodes/switch.node.d.ts.map +1 -0
  443. package/dist/services/workflow/nodes/switch.node.js +120 -0
  444. package/dist/services/workflow/nodes/switch.node.js.map +1 -0
  445. package/dist/services/workflow/workflow-definition-metadata-sync.service.d.ts +19 -0
  446. package/dist/services/workflow/workflow-definition-metadata-sync.service.d.ts.map +1 -0
  447. package/dist/services/workflow/workflow-definition-metadata-sync.service.js +187 -0
  448. package/dist/services/workflow/workflow-definition-metadata-sync.service.js.map +1 -0
  449. package/dist/services/workflow/workflow-definition-validator.service.d.ts +13 -0
  450. package/dist/services/workflow/workflow-definition-validator.service.d.ts.map +1 -0
  451. package/dist/services/workflow/workflow-definition-validator.service.js +166 -0
  452. package/dist/services/workflow/workflow-definition-validator.service.js.map +1 -0
  453. package/dist/services/workflow/workflow-execution-writer.service.d.ts +26 -0
  454. package/dist/services/workflow/workflow-execution-writer.service.d.ts.map +1 -0
  455. package/dist/services/workflow/workflow-execution-writer.service.js +191 -0
  456. package/dist/services/workflow/workflow-execution-writer.service.js.map +1 -0
  457. package/dist/services/workflow/workflow-expression.service.d.ts +14 -0
  458. package/dist/services/workflow/workflow-expression.service.d.ts.map +1 -0
  459. package/dist/services/workflow/workflow-expression.service.js +157 -0
  460. package/dist/services/workflow/workflow-expression.service.js.map +1 -0
  461. package/dist/services/workflow/workflow-invocation.service.d.ts +11 -0
  462. package/dist/services/workflow/workflow-invocation.service.d.ts.map +1 -0
  463. package/dist/services/workflow/workflow-invocation.service.js +37 -0
  464. package/dist/services/workflow/workflow-invocation.service.js.map +1 -0
  465. package/dist/services/workflow/workflow-node-registry.service.d.ts +19 -0
  466. package/dist/services/workflow/workflow-node-registry.service.d.ts.map +1 -0
  467. package/dist/services/workflow/workflow-node-registry.service.js +117 -0
  468. package/dist/services/workflow/workflow-node-registry.service.js.map +1 -0
  469. package/dist/services/workflow/workflow-runtime.service.d.ts +61 -0
  470. package/dist/services/workflow/workflow-runtime.service.d.ts.map +1 -0
  471. package/dist/services/workflow/workflow-runtime.service.js +706 -0
  472. package/dist/services/workflow/workflow-runtime.service.js.map +1 -0
  473. package/dist/services/workflow/workflow-scheduled-trigger.job.d.ts +10 -0
  474. package/dist/services/workflow/workflow-scheduled-trigger.job.d.ts.map +1 -0
  475. package/dist/services/workflow/workflow-scheduled-trigger.job.js +37 -0
  476. package/dist/services/workflow/workflow-scheduled-trigger.job.js.map +1 -0
  477. package/dist/services/workflow-definition.service.d.ts +52 -0
  478. package/dist/services/workflow-definition.service.d.ts.map +1 -0
  479. package/dist/services/workflow-definition.service.js +251 -0
  480. package/dist/services/workflow-definition.service.js.map +1 -0
  481. package/dist/services/workflow-execution-artifact.service.d.ts +12 -0
  482. package/dist/services/workflow-execution-artifact.service.d.ts.map +1 -0
  483. package/dist/services/workflow-execution-artifact.service.js +38 -0
  484. package/dist/services/workflow-execution-artifact.service.js.map +1 -0
  485. package/dist/services/workflow-execution-log.service.d.ts +12 -0
  486. package/dist/services/workflow-execution-log.service.d.ts.map +1 -0
  487. package/dist/services/workflow-execution-log.service.js +38 -0
  488. package/dist/services/workflow-execution-log.service.js.map +1 -0
  489. package/dist/services/workflow-execution.service.d.ts +12 -0
  490. package/dist/services/workflow-execution.service.d.ts.map +1 -0
  491. package/dist/services/workflow-execution.service.js +38 -0
  492. package/dist/services/workflow-execution.service.js.map +1 -0
  493. package/dist/services/workflow-secret.service.d.ts +25 -0
  494. package/dist/services/workflow-secret.service.d.ts.map +1 -0
  495. package/dist/services/workflow-secret.service.js +152 -0
  496. package/dist/services/workflow-secret.service.js.map +1 -0
  497. package/dist/services/workflow-step-execution.service.d.ts +12 -0
  498. package/dist/services/workflow-step-execution.service.d.ts.map +1 -0
  499. package/dist/services/workflow-step-execution.service.js +38 -0
  500. package/dist/services/workflow-step-execution.service.js.map +1 -0
  501. package/dist/services/workflow-trigger-execution.service.d.ts +12 -0
  502. package/dist/services/workflow-trigger-execution.service.d.ts.map +1 -0
  503. package/dist/services/workflow-trigger-execution.service.js +38 -0
  504. package/dist/services/workflow-trigger-execution.service.js.map +1 -0
  505. package/dist/solid-core.module.d.ts.map +1 -1
  506. package/dist/solid-core.module.js +131 -1
  507. package/dist/solid-core.module.js.map +1 -1
  508. package/dist/testing/adapters/ui/playwright-adapter.d.ts +5 -0
  509. package/dist/testing/adapters/ui/playwright-adapter.d.ts.map +1 -1
  510. package/dist/testing/adapters/ui/playwright-adapter.js +17 -1
  511. package/dist/testing/adapters/ui/playwright-adapter.js.map +1 -1
  512. package/dist/testing/adapters/ui/ui.types.d.ts +2 -0
  513. package/dist/testing/adapters/ui/ui.types.d.ts.map +1 -1
  514. package/dist/testing/adapters/ui/ui.types.js.map +1 -1
  515. package/dist/testing/steps/ui/actions.step.d.ts.map +1 -1
  516. package/dist/testing/steps/ui/actions.step.js +6 -2
  517. package/dist/testing/steps/ui/actions.step.js.map +1 -1
  518. package/dist/testing/steps/ui/assertions.step.d.ts.map +1 -1
  519. package/dist/testing/steps/ui/assertions.step.js +11 -3
  520. package/dist/testing/steps/ui/assertions.step.js.map +1 -1
  521. package/dist/testing/steps/ui/form.step.d.ts.map +1 -1
  522. package/dist/testing/steps/ui/form.step.js +9 -3
  523. package/dist/testing/steps/ui/form.step.js.map +1 -1
  524. package/dist/testing/steps/ui/manual.step.js +1 -1
  525. package/dist/testing/steps/ui/manual.step.js.map +1 -1
  526. package/dist/testing/steps/ui/navigation.step.d.ts.map +1 -1
  527. package/dist/testing/steps/ui/navigation.step.js +3 -1
  528. package/dist/testing/steps/ui/navigation.step.js.map +1 -1
  529. package/dist/transformers/empty-string-to-null-transformer.d.ts +4 -0
  530. package/dist/transformers/empty-string-to-null-transformer.d.ts.map +1 -0
  531. package/dist/transformers/empty-string-to-null-transformer.js +12 -0
  532. package/dist/transformers/empty-string-to-null-transformer.js.map +1 -0
  533. package/dist/types/workflow-dsl.types.d.ts +291 -0
  534. package/dist/types/workflow-dsl.types.d.ts.map +1 -0
  535. package/dist/types/workflow-dsl.types.js +3 -0
  536. package/dist/types/workflow-dsl.types.js.map +1 -0
  537. package/dist/types/workflow-execution-queue.types.d.ts +4 -0
  538. package/dist/types/workflow-execution-queue.types.d.ts.map +1 -0
  539. package/dist/types/workflow-execution-queue.types.js +3 -0
  540. package/dist/types/workflow-execution-queue.types.js.map +1 -0
  541. package/package.json +3 -2
  542. package/src/commands/run-tests.command.ts +47 -1
  543. package/src/commands/seed.command.ts +19 -0
  544. package/src/constants/chatter-message.constants.ts +12 -0
  545. package/src/constants/draft-publish-fields.ts +5 -0
  546. package/src/constants/media-file-types.ts +50 -0
  547. package/src/constants/user.constants.ts +13 -0
  548. package/src/controllers/chatter-message.controller.ts +8 -0
  549. package/src/controllers/export-template.controller.ts +5 -3
  550. package/src/controllers/import-transaction.controller.ts +6 -6
  551. package/src/controllers/media.controller.ts +17 -6
  552. package/src/controllers/module-package.controller.ts +2 -3
  553. package/src/controllers/workflow-definition.controller.ts +141 -0
  554. package/src/controllers/workflow-execution-artifact.controller.ts +93 -0
  555. package/src/controllers/workflow-execution-log.controller.ts +93 -0
  556. package/src/controllers/workflow-execution.controller.ts +126 -0
  557. package/src/controllers/workflow-secret.controller.ts +90 -0
  558. package/src/controllers/workflow-step-execution.controller.ts +93 -0
  559. package/src/controllers/workflow-trigger-execution.controller.ts +93 -0
  560. package/src/decorators/workflow-node-provider.decorator.ts +14 -0
  561. package/src/dtos/basic-filters.dto.ts +0 -4
  562. package/src/dtos/create-workflow-definition.dto.ts +60 -0
  563. package/src/dtos/create-workflow-execution-artifact.dto.ts +99 -0
  564. package/src/dtos/create-workflow-execution-log.dto.ts +80 -0
  565. package/src/dtos/create-workflow-execution.dto.ts +137 -0
  566. package/src/dtos/create-workflow-secret.dto.ts +44 -0
  567. package/src/dtos/create-workflow-step-execution.dto.ts +123 -0
  568. package/src/dtos/create-workflow-trigger-execution.dto.ts +114 -0
  569. package/src/dtos/execute-workflow.dto.ts +6 -0
  570. package/src/dtos/update-workflow-definition.dto.ts +67 -0
  571. package/src/dtos/update-workflow-execution-artifact.dto.ts +105 -0
  572. package/src/dtos/update-workflow-execution-log.dto.ts +87 -0
  573. package/src/dtos/update-workflow-execution.dto.ts +144 -0
  574. package/src/dtos/update-workflow-secret.dto.ts +53 -0
  575. package/src/dtos/update-workflow-step-execution.dto.ts +132 -0
  576. package/src/dtos/update-workflow-trigger-execution.dto.ts +122 -0
  577. package/src/dtos/validate-workflow-definition.dto.ts +3 -0
  578. package/src/entities/common.entity.ts +24 -0
  579. package/src/entities/user.entity.ts +53 -36
  580. package/src/entities/workflow-definition.entity.ts +43 -0
  581. package/src/entities/workflow-execution-artifact.entity.ts +72 -0
  582. package/src/entities/workflow-execution-log.entity.ts +58 -0
  583. package/src/entities/workflow-execution.entity.ts +82 -0
  584. package/src/entities/workflow-secret.entity.ts +33 -0
  585. package/src/entities/workflow-step-execution.entity.ts +88 -0
  586. package/src/entities/workflow-trigger-execution.entity.ts +82 -0
  587. package/src/factories/mail.factory.ts +7 -1
  588. package/src/factories/sms.factory.ts +4 -1
  589. package/src/helpers/field-crud-managers/MediaFieldCrudManager.ts +26 -12
  590. package/src/helpers/file-download.helper.ts +31 -0
  591. package/src/helpers/model-metadata-helper.service.ts +32 -1
  592. package/src/helpers/solid-registry.ts +1 -1
  593. package/src/index.ts +58 -0
  594. package/src/interfaces/workflow-node-handler.interface.ts +10 -0
  595. package/src/interfaces.ts +1 -0
  596. package/src/jobs/database/workflow-execution-publisher-database.service.ts +24 -0
  597. package/src/jobs/database/workflow-execution-queue-options-database.ts +9 -0
  598. package/src/jobs/database/workflow-execution-subscriber-database.service.ts +44 -0
  599. package/src/jobs/rabbitmq/workflow-execution-publisher.service.ts +24 -0
  600. package/src/jobs/rabbitmq/workflow-execution-queue-options.ts +9 -0
  601. package/src/jobs/rabbitmq/workflow-execution-subscriber.service.ts +42 -0
  602. package/src/jobs/redis/workflow-execution-publisher-redis.service.ts +24 -0
  603. package/src/jobs/redis/workflow-execution-queue-options-redis.ts +9 -0
  604. package/src/jobs/redis/workflow-execution-subscriber-redis.service.ts +42 -0
  605. package/src/repository/workflow-definition.repository.ts +19 -0
  606. package/src/repository/workflow-execution-artifact.repository.ts +19 -0
  607. package/src/repository/workflow-execution-log.repository.ts +19 -0
  608. package/src/repository/workflow-execution.repository.ts +19 -0
  609. package/src/repository/workflow-secret.repository.ts +19 -0
  610. package/src/repository/workflow-step-execution.repository.ts +19 -0
  611. package/src/repository/workflow-trigger-execution.repository.ts +19 -0
  612. package/src/seeders/module-metadata-seeder.service.ts +216 -40
  613. package/src/seeders/module-test-data.service.ts +6 -0
  614. package/src/seeders/seed-data/solid-core-metadata.json +11494 -5570
  615. package/src/services/authentication.service.ts +76 -5
  616. package/src/services/chatter-message.service.ts +102 -4
  617. package/src/services/crud-helper.service.ts +16 -34
  618. package/src/services/crud.service.ts +129 -104
  619. package/src/services/datasource-introspection.service.ts +5 -0
  620. package/src/services/draft-publish-helper.service.ts +529 -0
  621. package/src/services/internationalisation-helper.service.ts +148 -0
  622. package/src/services/media.service.ts +67 -36
  623. package/src/services/metadata-validation.service.ts +39 -0
  624. package/src/services/model-metadata.service.ts +4 -1
  625. package/src/services/object.utils.ts +10 -0
  626. package/src/services/settings/default-settings-provider.service.ts +35 -3
  627. package/src/services/user.service.ts +18 -3
  628. package/src/services/view-metadata.service.ts +5 -145
  629. package/src/services/workflow/nodes/execution-fail.node.ts +82 -0
  630. package/src/services/workflow/nodes/for-each.node.ts +231 -0
  631. package/src/services/workflow/nodes/http-request.node.ts +624 -0
  632. package/src/services/workflow/nodes/if.node.ts +100 -0
  633. package/src/services/workflow/nodes/log-write.node.ts +234 -0
  634. package/src/services/workflow/nodes/loop-until.node.ts +343 -0
  635. package/src/services/workflow/nodes/parallel.node.ts +88 -0
  636. package/src/services/workflow/nodes/runtime-python.node.ts +571 -0
  637. package/src/services/workflow/nodes/sequential.node.ts +65 -0
  638. package/src/services/workflow/nodes/solidx-api.helpers.ts +205 -0
  639. package/src/services/workflow/nodes/solidx-crud.nodes.ts +511 -0
  640. package/src/services/workflow/nodes/solidx-login.node.ts +222 -0
  641. package/src/services/workflow/nodes/solidx-send-email.node.ts +489 -0
  642. package/src/services/workflow/nodes/solidx-send-sms.node.ts +377 -0
  643. package/src/services/workflow/nodes/switch.node.ts +132 -0
  644. package/src/services/workflow/workflow-definition-metadata-sync.service.ts +196 -0
  645. package/src/services/workflow/workflow-definition-validator.service.ts +226 -0
  646. package/src/services/workflow/workflow-execution-writer.service.ts +244 -0
  647. package/src/services/workflow/workflow-expression.service.ts +180 -0
  648. package/src/services/workflow/workflow-invocation.service.ts +39 -0
  649. package/src/services/workflow/workflow-node-registry.service.ts +152 -0
  650. package/src/services/workflow/workflow-runtime.service.ts +934 -0
  651. package/src/services/workflow/workflow-scheduled-trigger.job.ts +33 -0
  652. package/src/services/workflow-definition.service.ts +293 -0
  653. package/src/services/workflow-execution-artifact.service.ts +20 -0
  654. package/src/services/workflow-execution-log.service.ts +20 -0
  655. package/src/services/workflow-execution.service.ts +20 -0
  656. package/src/services/workflow-secret.service.ts +161 -0
  657. package/src/services/workflow-step-execution.service.ts +20 -0
  658. package/src/services/workflow-trigger-execution.service.ts +20 -0
  659. package/src/solid-core.module.ts +144 -3
  660. package/src/testing/README.md +73 -2
  661. package/src/testing/adapters/ui/playwright-adapter.ts +25 -0
  662. package/src/testing/adapters/ui/ui.types.ts +2 -0
  663. package/src/testing/steps/ui/actions.step.ts +8 -4
  664. package/src/testing/steps/ui/assertions.step.ts +18 -5
  665. package/src/testing/steps/ui/form.step.ts +16 -6
  666. package/src/testing/steps/ui/manual.step.ts +1 -1
  667. package/src/testing/steps/ui/navigation.step.ts +4 -2
  668. package/src/transformers/empty-string-to-null-transformer.ts +11 -0
  669. package/src/types/workflow-dsl.types.ts +1030 -0
  670. package/src/types/workflow-execution-queue.types.ts +3 -0
@@ -7,6 +7,7 @@ import { SolidBaseRepository } from "../repository/solid-base.repository";
7
7
  import { SettingService } from "./setting.service";
8
8
  import { ERROR_MESSAGES } from "src/constants/error-messages";
9
9
  import { SUCCESS_MESSAGES } from "src/constants/success-messages";
10
+ import { USER_SUMMARY_FIELDS } from "src/constants/user.constants";
10
11
  import { EntityManager, FindOptionsWhere, In, IsNull, Not, QueryFailedError, SelectQueryBuilder } from "typeorm";
11
12
  import { QueryDeepPartialEntity } from "typeorm/query-builder/QueryPartialEntity";
12
13
  import { BasicFilterDto } from "../dtos/basic-filters.dto";
@@ -36,6 +37,8 @@ import { ShortTextFieldCrudManager } from "../helpers/field-crud-managers/ShortT
36
37
  import { UUIDFieldCrudManager } from "../helpers/field-crud-managers/UUIDFieldCrudManager";
37
38
  import { ModelMetadataHelperService } from "src/helpers/model-metadata-helper.service";
38
39
  import { FieldCrudManager, MediaWithFullUrl } from "../interfaces";
40
+ import { DraftPublishHelperService } from "./draft-publish-helper.service";
41
+ import { InternationalisationHelperService } from "./internationalisation-helper.service";
39
42
  import { CrudHelperService, FilterCombinator, UserIdFields } from "./crud-helper.service";
40
43
  import { HashingService } from "./hashing.service";
41
44
  import { SolidRegistry } from "src/helpers/solid-registry";
@@ -49,6 +52,8 @@ export class CRUDService<T extends CommonEntity> { // Add two generic value i.e
49
52
 
50
53
  private _modelMetadataService: ModelMetadataService;
51
54
  private _crudHelperService: CrudHelperService;
55
+ private _draftPublishHelperService: DraftPublishHelperService;
56
+ private _internationalisationHelperService: InternationalisationHelperService;
52
57
  private _discoveryService: DiscoveryService;
53
58
  private _settingService: SettingService;
54
59
 
@@ -69,6 +74,14 @@ export class CRUDService<T extends CommonEntity> { // Add two generic value i.e
69
74
  return this._crudHelperService ??= this.moduleRef.get(CrudHelperService, { strict: false });
70
75
  }
71
76
 
77
+ protected get draftPublishHelperService(): DraftPublishHelperService {
78
+ return this._draftPublishHelperService ??= this.moduleRef.get(DraftPublishHelperService, { strict: false });
79
+ }
80
+
81
+ protected get internationalisationHelperService(): InternationalisationHelperService {
82
+ return this._internationalisationHelperService ??= this.moduleRef.get(InternationalisationHelperService, { strict: false });
83
+ }
84
+
72
85
  protected get discoveryService(): DiscoveryService {
73
86
  return this._discoveryService ??= this.moduleRef.get(DiscoveryService, { strict: false });
74
87
  }
@@ -77,6 +90,19 @@ export class CRUDService<T extends CommonEntity> { // Add two generic value i.e
77
90
  return this._settingService ??= this.moduleRef.get(SettingService, { strict: false });
78
91
  }
79
92
 
93
+ private getDraftPublishCrudContext() {
94
+ return {
95
+ repo: this.repo,
96
+ modelName: this.modelName,
97
+ moduleName: this.moduleName,
98
+ validateAndTransformDto: this.validateAndTransformDto.bind(this),
99
+ saveMedia: this.saveMedia.bind(this),
100
+ getDatasourceDefaultEntityManager: this.getDatasourceDefaultEntityManager.bind(this),
101
+ getColumnDatabaseName: this.getColumnDatabaseName.bind(this),
102
+ escapeDatabaseName: this.escapeDatabaseName.bind(this),
103
+ };
104
+ }
105
+
80
106
  private async tryCreateAsExtensionUser(createDto: any): Promise<T | null> {
81
107
  if (this.repo.metadata?.parentEntityMetadata?.target !== User) return null;
82
108
  const registry = this.moduleRef.get(SolidRegistry, { strict: false });
@@ -122,8 +148,11 @@ export class CRUDService<T extends CommonEntity> { // Add two generic value i.e
122
148
  try {
123
149
  // 5. Save the entity
124
150
  // For media, we need to use a storage provider and save the media, then save the associated uri against the entity or media table
151
+ this.draftPublishHelperService.applyCreateDefaults(model, createDto);
152
+ this.internationalisationHelperService.applyCreateDefaults(model, createDto, this.moduleRef.get(SolidRegistry, { strict: false }));
125
153
  const entity = this.repo.create(createDto);
126
- const savedEntity = await this.repo.save(entity) as unknown as T;
154
+ let savedEntity = await this.repo.save(entity) as unknown as T;
155
+ savedEntity = await this.draftPublishHelperService.ensureInitialEntityVersionId(model, this.repo, savedEntity);
127
156
 
128
157
  // 6. Save the media
129
158
  if (hasMediaFields) {
@@ -210,9 +239,10 @@ export class CRUDService<T extends CommonEntity> { // Add two generic value i.e
210
239
  throw new Error(`Entity [${this.moduleName}.${this.modelName}] with id ${id} not found`);
211
240
  }
212
241
 
213
- if (model.draftPublishWorkflow === true && entity.publishedAt) {
214
- throw new BadRequestException(`Cannot update a published record for model ${this.modelName}. Unpublish it first.`
215
- );
242
+ this.draftPublishHelperService.assertUpdateAllowed(model, entity, this.modelName);
243
+
244
+ if (this.draftPublishHelperService.shouldCopyPublishedVersionForUpdate(model, entity)) {
245
+ return this.draftPublishHelperService.copyPublishedVersionAndUpdate(this.getDraftPublishCrudContext(), id, updateDto, files, isPartialUpdate, model);
216
246
  }
217
247
 
218
248
  // Capture pre-update many-to-many relation state for audit tracking
@@ -244,6 +274,18 @@ export class CRUDService<T extends CommonEntity> { // Add two generic value i.e
244
274
  return savedEntity;
245
275
  }
246
276
 
277
+ private getColumnDatabaseName(propertyName: string): string {
278
+ const column = this.repo.metadata.findColumnWithPropertyName(propertyName);
279
+ if (!column) {
280
+ throw new Error(`Column ${propertyName} not found in entity ${this.repo.metadata.name}`);
281
+ }
282
+ return column.databaseName;
283
+ }
284
+
285
+ private escapeDatabaseName(databaseName: string): string {
286
+ return this.repo.manager.connection.driver.escape(databaseName);
287
+ }
288
+
247
289
  /**
248
290
  * Captures the current state of audit-enabled many-to-many relations
249
291
  * before the entity is updated. The snapshot is attached to the entity
@@ -306,32 +348,37 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
306
348
  throw new Error(`Entity [${this.moduleName}.${this.modelName}] with id ${id} not found`);
307
349
  }
308
350
 
309
- if (model.draftPublishWorkflow === true && entity.publishedAt) {
310
- throw new BadRequestException(`Cannot update a published record for model ${this.modelName}, Unpublish it first.`);
351
+ const entitiesToDelete: T[] = [entity];
352
+ if (this.draftPublishHelperService.isDraftPublishEnabled(model)) {
353
+ this.draftPublishHelperService.assertDraftPublishDeleteAllowed(this.modelName, entitiesToDelete);
311
354
  }
312
355
 
313
- // If the model has internationalisation enabled, delete children with defaultEntityLocaleId === this entity's id
314
- if (model.internationalisation) {
315
- // Find all child entities where defaultEntityLocaleId === this entity's id
316
- const childEntities = await this.repo.find({
317
- where: { defaultEntityLocaleId: id } as any
318
- });
356
+ await this.internationalisationHelperService.deleteChildLocaleEntities(this.repo, model, [id]);
319
357
 
320
- if (childEntities.length > 0) {
321
- if (model.enableSoftDelete === true) {
322
- await this.repo.softRemove(childEntities);
323
- } else {
324
- await this.repo.remove(childEntities);
325
- }
326
- }
327
- }
358
+ return this.deleteEntitiesAndPromote(model, entitiesToDelete);
359
+ }
360
+
361
+ private async deleteEntitiesAndPromote(model: ModelMetadata, entitiesToDelete: T[]): Promise<T[]> {
362
+ const isDraftPublishEnabled = this.draftPublishHelperService.isDraftPublishEnabled(model);
363
+ const deletedLatestChainIds = isDraftPublishEnabled
364
+ ? this.draftPublishHelperService.getLatestDraftPublishChainIds(entitiesToDelete)
365
+ : [];
328
366
 
367
+ let deleteResult: T[];
329
368
  if (model.enableSoftDelete === true) {
330
- await this.repo.softRemove(entity);
331
- return this.repo.save(entity);
369
+ this.draftPublishHelperService.markDeletedDraftPublishVersionsAsNotLatest(model, entitiesToDelete);
370
+ await this.repo.softRemove(entitiesToDelete);
371
+ deleteResult = await this.repo.save(entitiesToDelete);
332
372
  } else {
333
- return this.repo.remove(entity);
373
+ deleteResult = await this.repo.remove(entitiesToDelete);
334
374
  }
375
+
376
+ if (isDraftPublishEnabled) {
377
+ const deletedEntityIds = this.draftPublishHelperService.getEntityIds(entitiesToDelete);
378
+ await this.draftPublishHelperService.promoteLatestDraftPublishVersionAfterDelete(this.repo, deletedLatestChainIds, deletedEntityIds);
379
+ }
380
+
381
+ return deleteResult;
335
382
  }
336
383
 
337
384
  private async fieldCrudManager(fieldMetadata: FieldMetadata, entityManager: EntityManager, isPartialUpdate: boolean = false, isUpdate: boolean = false, entityId?: number) {
@@ -528,9 +575,7 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
528
575
  var qb: SelectQueryBuilder<T> = await this.repo.createSecurityRuleAwareQueryBuilder(alias)
529
576
 
530
577
  if (basicFilterDto.groupBy?.length) {
531
- const groupFilterQb = (internationalisation && draftPublishWorkflow)
532
- ? this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias, internationalisation, draftPublishWorkflow, this.moduleRef, FilterCombinator.AND, false, false)
533
- : this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias, undefined, undefined, undefined, FilterCombinator.AND, false, false);
578
+ const groupFilterQb = this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias, internationalisation, draftPublishWorkflow, this.moduleRef, FilterCombinator.AND, false, false);
534
579
 
535
580
  return this.crudHelperService.executeGroupPipeline(
536
581
  groupFilterQb, basicFilterDto, alias,
@@ -542,9 +587,7 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
542
587
  );
543
588
  }
544
589
  else {
545
- qb = (internationalisation && draftPublishWorkflow)
546
- ? this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias, internationalisation, draftPublishWorkflow, this.moduleRef)
547
- : this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias);
590
+ qb = this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias, internationalisation, draftPublishWorkflow, this.moduleRef);
548
591
  const { meta, records } = await this.handleNonGroupFind(qb, populateUserIdFields, populateMedia, offset, limit, alias);
549
592
  return {
550
593
  meta,
@@ -573,6 +616,29 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
573
616
  return this.crudHelperService.pagedResponse(offset, limit, count, entities);
574
617
  }
575
618
 
619
+ /**
620
+ * Reduce a user to USER_SUMMARY_FIELDS as a plain object.
621
+ *
622
+ * Returning the hydrated entity is not good enough. A partially selected `User` is still
623
+ * built with `new User()`, so every property that has a TypeScript field initializer
624
+ * (`active`, `forcePasswordChange`, `lastLoginProvider`, `failedLoginAttempts`,
625
+ * `isAllowedToGenerateApiKeys`) is present on the instance holding its *default* rather
626
+ * than the value in the database - `active: true` for a user who may well be inactive.
627
+ * Serialization does not help: those defaults are real own properties. Copying the
628
+ * allowlist into a fresh object is what guarantees the response contains only columns
629
+ * actually read from the database.
630
+ */
631
+ protected toUserSummary(user: unknown): Partial<User> | null {
632
+ if (!user) {
633
+ return null;
634
+ }
635
+ const summary: Partial<User> = {};
636
+ for (const field of USER_SUMMARY_FIELDS) {
637
+ summary[field] = user[field] as never;
638
+ }
639
+ return summary;
640
+ }
641
+
576
642
  // entities is an array of T
577
643
  // T can contain createdBy and updatedBy fields
578
644
  // We need to populate the createdBy and updatedBy fields with the User entity
@@ -584,9 +650,15 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
584
650
  if (userId) {
585
651
  const user = await userRepository.findOne({
586
652
  where: { id: userId },
653
+ // SECURITY: a populated createdBy/updatedBy is only ever displayed as
654
+ // "who did this", so it must not ship the author's email, mobile, role
655
+ // assignments or API keys - let alone the credential columns, which
656
+ // survive here whenever User is subclassed (class-transformer resolves
657
+ // @Exclude() per class and does not inherit it).
658
+ select: USER_SUMMARY_FIELDS as unknown as (keyof User)[],
587
659
  });
588
660
  // @ts-ignore
589
- entity[userFieldPath] = user;
661
+ entity[userFieldPath] = this.toUserSummary(user);
590
662
  }
591
663
  }
592
664
  }
@@ -765,6 +837,7 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
765
837
  module: true,
766
838
  });
767
839
 
840
+ const solidRegistry = this.moduleRef.get(SolidRegistry, { strict: false });
768
841
  const entitiesForSave: T[] = [];
769
842
  for (const createDto of createDtos) {
770
843
  // Validate and transform each createDto sequentially
@@ -777,6 +850,7 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
777
850
  }
778
851
  transformedDto = await fieldManager.transformForCreate(createDto);
779
852
  }
853
+ this.internationalisationHelperService.applyCreateDefaults(model, transformedDto, solidRegistry);
780
854
  const entity = this.repo.create(transformedDto);
781
855
  entitiesForSave.push(entity as unknown as T);
782
856
  }
@@ -814,7 +888,7 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
814
888
 
815
889
 
816
890
 
817
- const removedEntities = [];
891
+ const removedEntities: T[] = [];
818
892
  for (let i = 0; i < ids.length; i++) {
819
893
  const id = ids[i]
820
894
  const entity = await this.repo.findOne({
@@ -823,36 +897,21 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
823
897
  } as unknown as FindOptionsWhere<T>,
824
898
  });
825
899
 
900
+ if (!entity) {
901
+ throw new Error(`Entity [${this.moduleName}.${this.modelName}] with id ${id} not found`);
902
+ }
903
+
826
904
  removedEntities.push(entity);
827
905
  }
828
906
 
829
907
 
830
- // entity-level flag
831
- const isDraftPublishEnabled = model?.draftPublishWorkflow === true;
832
-
833
- let publishedEntitiesExists: T[] = [];
834
-
835
- if (isDraftPublishEnabled) {
836
- publishedEntitiesExists = removedEntities.filter(
837
- (x) => !!x?.publishedAt
838
- );
908
+ if (this.draftPublishHelperService.isDraftPublishEnabled(model)) {
909
+ this.draftPublishHelperService.assertDraftPublishDeleteAllowed(this.modelName, removedEntities);
839
910
  }
840
911
 
841
- if (publishedEntitiesExists.length > 0) {
842
- const publishedEntitiesExistsID = publishedEntitiesExists.map(x => x.id);
912
+ await this.internationalisationHelperService.deleteChildLocaleEntities(this.repo, model, ids);
843
913
 
844
- throw new BadRequestException(
845
- `Cannot delete published record(s) for model ${this.modelName} with Ids ${publishedEntitiesExistsID.join(', ')}. Unpublish them first.`
846
- );
847
- }
848
-
849
- if (model.enableSoftDelete === true) {
850
- await this.repo.softRemove(removedEntities);
851
- return this.repo.save(removedEntities);
852
- } else {
853
- return this.repo.remove(removedEntities);
854
- }
855
- // return removedEntities
914
+ return this.deleteEntitiesAndPromote(model, removedEntities);
856
915
  }
857
916
 
858
917
  async recover(id: number, solidRequestContext: any = {}) {
@@ -882,6 +941,10 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
882
941
  } as unknown as QueryDeepPartialEntity<T>
883
942
  );
884
943
 
944
+ if (this.draftPublishHelperService.isDraftPublishEnabled(loadedmodel)) {
945
+ await this.draftPublishHelperService.promoteRecoveredDraftPublishVersion(this.repo, softDeletedRows);
946
+ }
947
+
885
948
  return { message: SUCCESS_MESSAGES.RECORD_RECOVERED, data: softDeletedRows };
886
949
  } catch (error: any) {
887
950
  if (error instanceof QueryFailedError && (error as any).code === '23505') {
@@ -928,6 +991,14 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
928
991
  { deletedAt: null, deletedTracker: "not-deleted" } as unknown as QueryDeepPartialEntity<T>
929
992
  );
930
993
 
994
+ if (this.draftPublishHelperService.isDraftPublishEnabled(loadedmodel)) {
995
+ // Sequential: two ids in the same batch could belong to the same version
996
+ // chain, and each promotion clears isLatest across the whole chain first.
997
+ for (const entity of softDeletedRows) {
998
+ await this.draftPublishHelperService.promoteRecoveredDraftPublishVersion(this.repo, entity);
999
+ }
1000
+ }
1001
+
931
1002
  return { message: SUCCESS_MESSAGES.SELECTED_RECORDS_RECOVERED, recoveredIds: ids };
932
1003
  } catch (error: any) {
933
1004
  if (error instanceof QueryFailedError && (error as any).code === "23505") {
@@ -982,18 +1053,11 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
982
1053
  return model.userKeyField?.name || '';
983
1054
  }
984
1055
 
985
- /* Publish a record - sets publishedAt timestamp */
1056
+ /* Publish a record - marks the selected version as the active published version. */
986
1057
  async publishRecord(id: number, solidRequestContext: any = {}): Promise<T> {
987
1058
 
988
1059
  const model = await this.loadModel();
989
1060
 
990
- // Check if publish workflow is enabled for this model
991
- if (!model.draftPublishWorkflow) {
992
- throw new BadRequestException(
993
- `Publish workflow is not enabled for ${this.modelName}`
994
- );
995
- }
996
-
997
1061
  // Check user permissions
998
1062
  if (solidRequestContext.activeUser) {
999
1063
  const hasPermission = this.crudHelperService.hasPublishPermissionOnModel(
@@ -1005,37 +1069,14 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
1005
1069
  }
1006
1070
  }
1007
1071
 
1008
- // Find the entity
1009
- const entity = await this.repo.findOne({ where: { id } as any });
1010
- if (!entity) {
1011
- throw new NotFoundException(`${this.modelName} with id ${id} not found`);
1012
- }
1013
-
1014
- // Check if already published
1015
- if (entity.publishedAt) {
1016
- throw new BadRequestException(
1017
- `${this.modelName} with id ${id} is already published`
1018
- );
1019
- }
1020
-
1021
- // Update publish status
1022
- const updatedEntity = await this.repo.save({ ...entity, publishedAt: new Date() });
1023
-
1024
- return updatedEntity
1072
+ return this.draftPublishHelperService.publishRecord(this.repo, model, this.modelName, id, solidRequestContext.activeUser);
1025
1073
  }
1026
1074
 
1027
- /* Unpublish a record - clears publishedAt timestamp */
1075
+ /* Unpublish a record - marks the selected version as not currently published. */
1028
1076
  async unpublishRecord(id: number, solidRequestContext: any = {}): Promise<T> {
1029
1077
 
1030
1078
  const model = await this.loadModel();
1031
1079
 
1032
- // Check if publish workflow is enabled for this model
1033
- if (!model.draftPublishWorkflow) {
1034
- throw new BadRequestException(
1035
- `Publish workflow is not enabled for ${this.modelName}`
1036
- );
1037
- }
1038
-
1039
1080
  // Check user permissions
1040
1081
  if (solidRequestContext.activeUser) {
1041
1082
  const hasPermission = this.crudHelperService.hasUnpublishPermissionOnModel(
@@ -1047,23 +1088,7 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
1047
1088
  }
1048
1089
  }
1049
1090
 
1050
- // Find the entity
1051
- const entity = await this.repo.findOne({ where: { id } as any });
1052
- if (!entity) {
1053
- throw new NotFoundException(`${this.modelName} with id ${id} not found`);
1054
- }
1055
-
1056
- // Check if already unpublished
1057
- if (!entity.publishedAt) {
1058
- throw new BadRequestException(
1059
- `${this.modelName} with id ${id} is already unpublished`
1060
- );
1061
- }
1062
-
1063
- // Update unpublish status
1064
- const updatedEntity = await this.repo.save({ ...entity, publishedAt: null });
1065
-
1066
- return updatedEntity
1091
+ return this.draftPublishHelperService.unpublishRecord(this.repo, model, this.modelName, id, solidRequestContext.activeUser);
1067
1092
  }
1068
1093
 
1069
1094
  private getDatasourceDefaultEntityManager() {
@@ -1680,6 +1680,11 @@ export class DatasourceIntrospectionService {
1680
1680
 
1681
1681
  private getLegacySuperclassFieldName(columnName: string, legacyTableType: LegacyTableType) {
1682
1682
  const normalized = columnName.toLowerCase();
1683
+ // LegacyCommonEntityWithExistingId doesn't declare the draft/publish versioning
1684
+ // columns (see DRAFT_PUBLISH_VERSIONING_FIELD_NAMES), so their ss_-prefixed column
1685
+ // names must not appear here — otherwise a table that still physically has one of
1686
+ // those columns would have it silently treated as superclass-handled and dropped
1687
+ // from introspection instead of being surfaced as a real column.
1683
1688
  const legacyFieldMap: Record<string, string> = {
1684
1689
  ss_created_at: "createdAt",
1685
1690
  ss_updated_at: "updatedAt",