@solidxai/core 0.1.12 → 0.1.13-beta.2

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 (463) hide show
  1. package/dist/controllers/view-metadata.controller.d.ts +1 -1
  2. package/dist/controllers/workflow-definition.controller.d.ts +38 -0
  3. package/dist/controllers/workflow-definition.controller.d.ts.map +1 -0
  4. package/dist/controllers/workflow-definition.controller.js +272 -0
  5. package/dist/controllers/workflow-definition.controller.js.map +1 -0
  6. package/dist/controllers/workflow-execution-artifact.controller.d.ts +24 -0
  7. package/dist/controllers/workflow-execution-artifact.controller.d.ts.map +1 -0
  8. package/dist/controllers/workflow-execution-artifact.controller.js +179 -0
  9. package/dist/controllers/workflow-execution-artifact.controller.js.map +1 -0
  10. package/dist/controllers/workflow-execution-log.controller.d.ts +24 -0
  11. package/dist/controllers/workflow-execution-log.controller.d.ts.map +1 -0
  12. package/dist/controllers/workflow-execution-log.controller.js +179 -0
  13. package/dist/controllers/workflow-execution-log.controller.js.map +1 -0
  14. package/dist/controllers/workflow-execution.controller.d.ts +29 -0
  15. package/dist/controllers/workflow-execution.controller.d.ts.map +1 -0
  16. package/dist/controllers/workflow-execution.controller.js +227 -0
  17. package/dist/controllers/workflow-execution.controller.js.map +1 -0
  18. package/dist/controllers/workflow-secret.controller.d.ts +24 -0
  19. package/dist/controllers/workflow-secret.controller.d.ts.map +1 -0
  20. package/dist/controllers/workflow-secret.controller.js +179 -0
  21. package/dist/controllers/workflow-secret.controller.js.map +1 -0
  22. package/dist/controllers/workflow-step-execution.controller.d.ts +24 -0
  23. package/dist/controllers/workflow-step-execution.controller.d.ts.map +1 -0
  24. package/dist/controllers/workflow-step-execution.controller.js +179 -0
  25. package/dist/controllers/workflow-step-execution.controller.js.map +1 -0
  26. package/dist/controllers/workflow-trigger-execution.controller.d.ts +24 -0
  27. package/dist/controllers/workflow-trigger-execution.controller.d.ts.map +1 -0
  28. package/dist/controllers/workflow-trigger-execution.controller.js +179 -0
  29. package/dist/controllers/workflow-trigger-execution.controller.js.map +1 -0
  30. package/dist/decorators/workflow-field-data-provider.decorator.d.ts +3 -0
  31. package/dist/decorators/workflow-field-data-provider.decorator.d.ts.map +1 -0
  32. package/dist/decorators/workflow-field-data-provider.decorator.js +11 -0
  33. package/dist/decorators/workflow-field-data-provider.decorator.js.map +1 -0
  34. package/dist/decorators/workflow-node-provider.decorator.d.ts +4 -0
  35. package/dist/decorators/workflow-node-provider.decorator.d.ts.map +1 -0
  36. package/dist/decorators/workflow-node-provider.decorator.js +13 -0
  37. package/dist/decorators/workflow-node-provider.decorator.js.map +1 -0
  38. package/dist/dtos/create-workflow-definition.dto.d.ts +14 -0
  39. package/dist/dtos/create-workflow-definition.dto.d.ts.map +1 -0
  40. package/dist/dtos/create-workflow-definition.dto.js +92 -0
  41. package/dist/dtos/create-workflow-definition.dto.js.map +1 -0
  42. package/dist/dtos/create-workflow-execution-artifact.dto.d.ts +22 -0
  43. package/dist/dtos/create-workflow-execution-artifact.dto.d.ts.map +1 -0
  44. package/dist/dtos/create-workflow-execution-artifact.dto.js +139 -0
  45. package/dist/dtos/create-workflow-execution-artifact.dto.js.map +1 -0
  46. package/dist/dtos/create-workflow-execution-log.dto.d.ts +18 -0
  47. package/dist/dtos/create-workflow-execution-log.dto.d.ts.map +1 -0
  48. package/dist/dtos/create-workflow-execution-log.dto.js +116 -0
  49. package/dist/dtos/create-workflow-execution-log.dto.js.map +1 -0
  50. package/dist/dtos/create-workflow-execution.dto.d.ts +33 -0
  51. package/dist/dtos/create-workflow-execution.dto.d.ts.map +1 -0
  52. package/dist/dtos/create-workflow-execution.dto.js +186 -0
  53. package/dist/dtos/create-workflow-execution.dto.js.map +1 -0
  54. package/dist/dtos/create-workflow-secret.dto.d.ts +11 -0
  55. package/dist/dtos/create-workflow-secret.dto.d.ts.map +1 -0
  56. package/dist/dtos/create-workflow-secret.dto.js +74 -0
  57. package/dist/dtos/create-workflow-secret.dto.js.map +1 -0
  58. package/dist/dtos/create-workflow-step-execution.dto.d.ts +27 -0
  59. package/dist/dtos/create-workflow-step-execution.dto.d.ts.map +1 -0
  60. package/dist/dtos/create-workflow-step-execution.dto.js +171 -0
  61. package/dist/dtos/create-workflow-step-execution.dto.js.map +1 -0
  62. package/dist/dtos/create-workflow-trigger-execution.dto.d.ts +25 -0
  63. package/dist/dtos/create-workflow-trigger-execution.dto.d.ts.map +1 -0
  64. package/dist/dtos/create-workflow-trigger-execution.dto.js +158 -0
  65. package/dist/dtos/create-workflow-trigger-execution.dto.js.map +1 -0
  66. package/dist/dtos/execute-workflow.dto.d.ts +7 -0
  67. package/dist/dtos/execute-workflow.dto.d.ts.map +1 -0
  68. package/dist/dtos/execute-workflow.dto.js +11 -0
  69. package/dist/dtos/execute-workflow.dto.js.map +1 -0
  70. package/dist/dtos/update-workflow-definition.dto.d.ts +15 -0
  71. package/dist/dtos/update-workflow-definition.dto.d.ts.map +1 -0
  72. package/dist/dtos/update-workflow-definition.dto.js +97 -0
  73. package/dist/dtos/update-workflow-definition.dto.js.map +1 -0
  74. package/dist/dtos/update-workflow-execution-artifact.dto.d.ts +23 -0
  75. package/dist/dtos/update-workflow-execution-artifact.dto.d.ts.map +1 -0
  76. package/dist/dtos/update-workflow-execution-artifact.dto.js +143 -0
  77. package/dist/dtos/update-workflow-execution-artifact.dto.js.map +1 -0
  78. package/dist/dtos/update-workflow-execution-log.dto.d.ts +19 -0
  79. package/dist/dtos/update-workflow-execution-log.dto.d.ts.map +1 -0
  80. package/dist/dtos/update-workflow-execution-log.dto.js +121 -0
  81. package/dist/dtos/update-workflow-execution-log.dto.js.map +1 -0
  82. package/dist/dtos/update-workflow-execution.dto.d.ts +34 -0
  83. package/dist/dtos/update-workflow-execution.dto.d.ts.map +1 -0
  84. package/dist/dtos/update-workflow-execution.dto.js +190 -0
  85. package/dist/dtos/update-workflow-execution.dto.js.map +1 -0
  86. package/dist/dtos/update-workflow-secret.dto.d.ts +12 -0
  87. package/dist/dtos/update-workflow-secret.dto.d.ts.map +1 -0
  88. package/dist/dtos/update-workflow-secret.dto.js +80 -0
  89. package/dist/dtos/update-workflow-secret.dto.js.map +1 -0
  90. package/dist/dtos/update-workflow-step-execution.dto.d.ts +28 -0
  91. package/dist/dtos/update-workflow-step-execution.dto.d.ts.map +1 -0
  92. package/dist/dtos/update-workflow-step-execution.dto.js +175 -0
  93. package/dist/dtos/update-workflow-step-execution.dto.js.map +1 -0
  94. package/dist/dtos/update-workflow-trigger-execution.dto.d.ts +26 -0
  95. package/dist/dtos/update-workflow-trigger-execution.dto.d.ts.map +1 -0
  96. package/dist/dtos/update-workflow-trigger-execution.dto.js +163 -0
  97. package/dist/dtos/update-workflow-trigger-execution.dto.js.map +1 -0
  98. package/dist/dtos/validate-workflow-definition.dto.d.ts +4 -0
  99. package/dist/dtos/validate-workflow-definition.dto.d.ts.map +1 -0
  100. package/dist/dtos/validate-workflow-definition.dto.js +11 -0
  101. package/dist/dtos/validate-workflow-definition.dto.js.map +1 -0
  102. package/dist/entities/saved-filters.entity.js +3 -3
  103. package/dist/entities/saved-filters.entity.js.map +1 -1
  104. package/dist/entities/workflow-definition.entity.d.ts +15 -0
  105. package/dist/entities/workflow-definition.entity.d.ts.map +1 -0
  106. package/dist/entities/workflow-definition.entity.js +77 -0
  107. package/dist/entities/workflow-definition.entity.js.map +1 -0
  108. package/dist/entities/workflow-execution-artifact.entity.d.ts +23 -0
  109. package/dist/entities/workflow-execution-artifact.entity.d.ts.map +1 -0
  110. package/dist/entities/workflow-execution-artifact.entity.js +113 -0
  111. package/dist/entities/workflow-execution-artifact.entity.js.map +1 -0
  112. package/dist/entities/workflow-execution-log.entity.d.ts +19 -0
  113. package/dist/entities/workflow-execution-log.entity.d.ts.map +1 -0
  114. package/dist/entities/workflow-execution-log.entity.js +95 -0
  115. package/dist/entities/workflow-execution-log.entity.js.map +1 -0
  116. package/dist/entities/workflow-execution.entity.d.ts +28 -0
  117. package/dist/entities/workflow-execution.entity.d.ts.map +1 -0
  118. package/dist/entities/workflow-execution.entity.js +124 -0
  119. package/dist/entities/workflow-execution.entity.js.map +1 -0
  120. package/dist/entities/workflow-secret.entity.d.ts +12 -0
  121. package/dist/entities/workflow-secret.entity.d.ts.map +1 -0
  122. package/dist/entities/workflow-secret.entity.js +66 -0
  123. package/dist/entities/workflow-secret.entity.js.map +1 -0
  124. package/dist/entities/workflow-step-execution.entity.d.ts +28 -0
  125. package/dist/entities/workflow-step-execution.entity.d.ts.map +1 -0
  126. package/dist/entities/workflow-step-execution.entity.js +138 -0
  127. package/dist/entities/workflow-step-execution.entity.js.map +1 -0
  128. package/dist/entities/workflow-trigger-execution.entity.d.ts +26 -0
  129. package/dist/entities/workflow-trigger-execution.entity.d.ts.map +1 -0
  130. package/dist/entities/workflow-trigger-execution.entity.js +127 -0
  131. package/dist/entities/workflow-trigger-execution.entity.js.map +1 -0
  132. package/dist/factories/sms.factory.d.ts.map +1 -1
  133. package/dist/factories/sms.factory.js +4 -1
  134. package/dist/factories/sms.factory.js.map +1 -1
  135. package/dist/helpers/solid-registry.d.ts +5 -1
  136. package/dist/helpers/solid-registry.d.ts.map +1 -1
  137. package/dist/helpers/solid-registry.js +17 -0
  138. package/dist/helpers/solid-registry.js.map +1 -1
  139. package/dist/index.d.ts +55 -0
  140. package/dist/index.d.ts.map +1 -1
  141. package/dist/index.js +55 -0
  142. package/dist/index.js.map +1 -1
  143. package/dist/interfaces/workflow-node-handler.interface.d.ts +5 -0
  144. package/dist/interfaces/workflow-node-handler.interface.d.ts.map +1 -0
  145. package/dist/interfaces/workflow-node-handler.interface.js +3 -0
  146. package/dist/interfaces/workflow-node-handler.interface.js.map +1 -0
  147. package/dist/interfaces.d.ts +24 -0
  148. package/dist/interfaces.d.ts.map +1 -1
  149. package/dist/interfaces.js.map +1 -1
  150. package/dist/jobs/database/workflow-execution-publisher-database.service.d.ts +12 -0
  151. package/dist/jobs/database/workflow-execution-publisher-database.service.d.ts.map +1 -0
  152. package/dist/jobs/database/workflow-execution-publisher-database.service.js +39 -0
  153. package/dist/jobs/database/workflow-execution-publisher-database.service.js.map +1 -0
  154. package/dist/jobs/database/workflow-execution-queue-options-database.d.ts +8 -0
  155. package/dist/jobs/database/workflow-execution-queue-options-database.d.ts.map +1 -0
  156. package/dist/jobs/database/workflow-execution-queue-options-database.js +10 -0
  157. package/dist/jobs/database/workflow-execution-queue-options-database.js.map +1 -0
  158. package/dist/jobs/database/workflow-execution-subscriber-database.service.d.ts +19 -0
  159. package/dist/jobs/database/workflow-execution-subscriber-database.service.d.ts.map +1 -0
  160. package/dist/jobs/database/workflow-execution-subscriber-database.service.js +55 -0
  161. package/dist/jobs/database/workflow-execution-subscriber-database.service.js.map +1 -0
  162. package/dist/jobs/rabbitmq/workflow-execution-publisher.service.d.ts +12 -0
  163. package/dist/jobs/rabbitmq/workflow-execution-publisher.service.d.ts.map +1 -0
  164. package/dist/jobs/rabbitmq/workflow-execution-publisher.service.js +39 -0
  165. package/dist/jobs/rabbitmq/workflow-execution-publisher.service.js.map +1 -0
  166. package/dist/jobs/rabbitmq/workflow-execution-queue-options.d.ts +8 -0
  167. package/dist/jobs/rabbitmq/workflow-execution-queue-options.d.ts.map +1 -0
  168. package/dist/jobs/rabbitmq/workflow-execution-queue-options.js +10 -0
  169. package/dist/jobs/rabbitmq/workflow-execution-queue-options.js.map +1 -0
  170. package/dist/jobs/rabbitmq/workflow-execution-subscriber.service.d.ts +17 -0
  171. package/dist/jobs/rabbitmq/workflow-execution-subscriber.service.d.ts.map +1 -0
  172. package/dist/jobs/rabbitmq/workflow-execution-subscriber.service.js +52 -0
  173. package/dist/jobs/rabbitmq/workflow-execution-subscriber.service.js.map +1 -0
  174. package/dist/jobs/redis/workflow-execution-publisher-redis.service.d.ts +12 -0
  175. package/dist/jobs/redis/workflow-execution-publisher-redis.service.d.ts.map +1 -0
  176. package/dist/jobs/redis/workflow-execution-publisher-redis.service.js +39 -0
  177. package/dist/jobs/redis/workflow-execution-publisher-redis.service.js.map +1 -0
  178. package/dist/jobs/redis/workflow-execution-queue-options-redis.d.ts +8 -0
  179. package/dist/jobs/redis/workflow-execution-queue-options-redis.d.ts.map +1 -0
  180. package/dist/jobs/redis/workflow-execution-queue-options-redis.js +10 -0
  181. package/dist/jobs/redis/workflow-execution-queue-options-redis.js.map +1 -0
  182. package/dist/jobs/redis/workflow-execution-subscriber-redis.service.d.ts +17 -0
  183. package/dist/jobs/redis/workflow-execution-subscriber-redis.service.d.ts.map +1 -0
  184. package/dist/jobs/redis/workflow-execution-subscriber-redis.service.js +52 -0
  185. package/dist/jobs/redis/workflow-execution-subscriber-redis.service.js.map +1 -0
  186. package/dist/repository/security-rule.repository.d.ts +1 -0
  187. package/dist/repository/security-rule.repository.d.ts.map +1 -1
  188. package/dist/repository/security-rule.repository.js +28 -7
  189. package/dist/repository/security-rule.repository.js.map +1 -1
  190. package/dist/repository/workflow-definition.repository.d.ts +12 -0
  191. package/dist/repository/workflow-definition.repository.d.ts.map +1 -0
  192. package/dist/repository/workflow-definition.repository.js +39 -0
  193. package/dist/repository/workflow-definition.repository.js.map +1 -0
  194. package/dist/repository/workflow-execution-artifact.repository.d.ts +12 -0
  195. package/dist/repository/workflow-execution-artifact.repository.d.ts.map +1 -0
  196. package/dist/repository/workflow-execution-artifact.repository.js +39 -0
  197. package/dist/repository/workflow-execution-artifact.repository.js.map +1 -0
  198. package/dist/repository/workflow-execution-log.repository.d.ts +12 -0
  199. package/dist/repository/workflow-execution-log.repository.d.ts.map +1 -0
  200. package/dist/repository/workflow-execution-log.repository.js +39 -0
  201. package/dist/repository/workflow-execution-log.repository.js.map +1 -0
  202. package/dist/repository/workflow-execution.repository.d.ts +12 -0
  203. package/dist/repository/workflow-execution.repository.d.ts.map +1 -0
  204. package/dist/repository/workflow-execution.repository.js +39 -0
  205. package/dist/repository/workflow-execution.repository.js.map +1 -0
  206. package/dist/repository/workflow-secret.repository.d.ts +12 -0
  207. package/dist/repository/workflow-secret.repository.d.ts.map +1 -0
  208. package/dist/repository/workflow-secret.repository.js +39 -0
  209. package/dist/repository/workflow-secret.repository.js.map +1 -0
  210. package/dist/repository/workflow-step-execution.repository.d.ts +12 -0
  211. package/dist/repository/workflow-step-execution.repository.d.ts.map +1 -0
  212. package/dist/repository/workflow-step-execution.repository.js +39 -0
  213. package/dist/repository/workflow-step-execution.repository.js.map +1 -0
  214. package/dist/repository/workflow-trigger-execution.repository.d.ts +12 -0
  215. package/dist/repository/workflow-trigger-execution.repository.d.ts.map +1 -0
  216. package/dist/repository/workflow-trigger-execution.repository.js +39 -0
  217. package/dist/repository/workflow-trigger-execution.repository.js.map +1 -0
  218. package/dist/seeders/module-metadata-seeder.service.d.ts +6 -0
  219. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  220. package/dist/seeders/module-metadata-seeder.service.js +141 -0
  221. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  222. package/dist/seeders/seed-data/solid-core-metadata.json +11437 -5567
  223. package/dist/services/chatter-message.service.d.ts.map +1 -1
  224. package/dist/services/chatter-message.service.js +1 -1
  225. package/dist/services/chatter-message.service.js.map +1 -1
  226. package/dist/services/crud-helper.service.d.ts +16 -1
  227. package/dist/services/crud-helper.service.d.ts.map +1 -1
  228. package/dist/services/crud-helper.service.js +99 -22
  229. package/dist/services/crud-helper.service.js.map +1 -1
  230. package/dist/services/crud.service.d.ts +1 -0
  231. package/dist/services/crud.service.d.ts.map +1 -1
  232. package/dist/services/crud.service.js +15 -0
  233. package/dist/services/crud.service.js.map +1 -1
  234. package/dist/services/solid-introspect.service.d.ts +1 -0
  235. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  236. package/dist/services/solid-introspect.service.js +12 -0
  237. package/dist/services/solid-introspect.service.js.map +1 -1
  238. package/dist/services/view-metadata.service.d.ts +5 -1
  239. package/dist/services/view-metadata.service.d.ts.map +1 -1
  240. package/dist/services/view-metadata.service.js +63 -14
  241. package/dist/services/view-metadata.service.js.map +1 -1
  242. package/dist/services/workflow/nodes/for-each.node.d.ts +6 -0
  243. package/dist/services/workflow/nodes/for-each.node.d.ts.map +1 -0
  244. package/dist/services/workflow/nodes/for-each.node.js +95 -0
  245. package/dist/services/workflow/nodes/for-each.node.js.map +1 -0
  246. package/dist/services/workflow/nodes/http-request.node.d.ts +13 -0
  247. package/dist/services/workflow/nodes/http-request.node.d.ts.map +1 -0
  248. package/dist/services/workflow/nodes/http-request.node.js +549 -0
  249. package/dist/services/workflow/nodes/http-request.node.js.map +1 -0
  250. package/dist/services/workflow/nodes/if.node.d.ts +6 -0
  251. package/dist/services/workflow/nodes/if.node.d.ts.map +1 -0
  252. package/dist/services/workflow/nodes/if.node.js +93 -0
  253. package/dist/services/workflow/nodes/if.node.js.map +1 -0
  254. package/dist/services/workflow/nodes/log-write.node.d.ts +6 -0
  255. package/dist/services/workflow/nodes/log-write.node.d.ts.map +1 -0
  256. package/dist/services/workflow/nodes/log-write.node.js +229 -0
  257. package/dist/services/workflow/nodes/log-write.node.js.map +1 -0
  258. package/dist/services/workflow/nodes/parallel.node.d.ts +6 -0
  259. package/dist/services/workflow/nodes/parallel.node.d.ts.map +1 -0
  260. package/dist/services/workflow/nodes/parallel.node.js +76 -0
  261. package/dist/services/workflow/nodes/parallel.node.js.map +1 -0
  262. package/dist/services/workflow/nodes/runtime-python.node.d.ts +13 -0
  263. package/dist/services/workflow/nodes/runtime-python.node.d.ts.map +1 -0
  264. package/dist/services/workflow/nodes/runtime-python.node.js +522 -0
  265. package/dist/services/workflow/nodes/runtime-python.node.js.map +1 -0
  266. package/dist/services/workflow/nodes/sequential.node.d.ts +6 -0
  267. package/dist/services/workflow/nodes/sequential.node.d.ts.map +1 -0
  268. package/dist/services/workflow/nodes/sequential.node.js +61 -0
  269. package/dist/services/workflow/nodes/sequential.node.js.map +1 -0
  270. package/dist/services/workflow/nodes/solidx-api.helpers.d.ts +25 -0
  271. package/dist/services/workflow/nodes/solidx-api.helpers.d.ts.map +1 -0
  272. package/dist/services/workflow/nodes/solidx-api.helpers.js +143 -0
  273. package/dist/services/workflow/nodes/solidx-api.helpers.js.map +1 -0
  274. package/dist/services/workflow/nodes/solidx-crud.nodes.d.ts +48 -0
  275. package/dist/services/workflow/nodes/solidx-crud.nodes.d.ts.map +1 -0
  276. package/dist/services/workflow/nodes/solidx-crud.nodes.js +475 -0
  277. package/dist/services/workflow/nodes/solidx-crud.nodes.js.map +1 -0
  278. package/dist/services/workflow/nodes/solidx-login.node.d.ts +6 -0
  279. package/dist/services/workflow/nodes/solidx-login.node.d.ts.map +1 -0
  280. package/dist/services/workflow/nodes/solidx-login.node.js +208 -0
  281. package/dist/services/workflow/nodes/solidx-login.node.js.map +1 -0
  282. package/dist/services/workflow/nodes/solidx-send-email.node.d.ts +11 -0
  283. package/dist/services/workflow/nodes/solidx-send-email.node.d.ts.map +1 -0
  284. package/dist/services/workflow/nodes/solidx-send-email.node.js +437 -0
  285. package/dist/services/workflow/nodes/solidx-send-email.node.js.map +1 -0
  286. package/dist/services/workflow/nodes/solidx-send-sms.node.d.ts +10 -0
  287. package/dist/services/workflow/nodes/solidx-send-sms.node.d.ts.map +1 -0
  288. package/dist/services/workflow/nodes/solidx-send-sms.node.js +347 -0
  289. package/dist/services/workflow/nodes/solidx-send-sms.node.js.map +1 -0
  290. package/dist/services/workflow/nodes/switch.node.d.ts +7 -0
  291. package/dist/services/workflow/nodes/switch.node.d.ts.map +1 -0
  292. package/dist/services/workflow/nodes/switch.node.js +113 -0
  293. package/dist/services/workflow/nodes/switch.node.js.map +1 -0
  294. package/dist/services/workflow/workflow-definition-metadata-sync.service.d.ts +19 -0
  295. package/dist/services/workflow/workflow-definition-metadata-sync.service.d.ts.map +1 -0
  296. package/dist/services/workflow/workflow-definition-metadata-sync.service.js +187 -0
  297. package/dist/services/workflow/workflow-definition-metadata-sync.service.js.map +1 -0
  298. package/dist/services/workflow/workflow-definition-validator.service.d.ts +13 -0
  299. package/dist/services/workflow/workflow-definition-validator.service.d.ts.map +1 -0
  300. package/dist/services/workflow/workflow-definition-validator.service.js +163 -0
  301. package/dist/services/workflow/workflow-definition-validator.service.js.map +1 -0
  302. package/dist/services/workflow/workflow-execution-writer.service.d.ts +26 -0
  303. package/dist/services/workflow/workflow-execution-writer.service.d.ts.map +1 -0
  304. package/dist/services/workflow/workflow-execution-writer.service.js +191 -0
  305. package/dist/services/workflow/workflow-execution-writer.service.js.map +1 -0
  306. package/dist/services/workflow/workflow-expression.service.d.ts +14 -0
  307. package/dist/services/workflow/workflow-expression.service.d.ts.map +1 -0
  308. package/dist/services/workflow/workflow-expression.service.js +152 -0
  309. package/dist/services/workflow/workflow-expression.service.js.map +1 -0
  310. package/dist/services/workflow/workflow-invocation.service.d.ts +11 -0
  311. package/dist/services/workflow/workflow-invocation.service.d.ts.map +1 -0
  312. package/dist/services/workflow/workflow-invocation.service.js +37 -0
  313. package/dist/services/workflow/workflow-invocation.service.js.map +1 -0
  314. package/dist/services/workflow/workflow-node-registry.service.d.ts +18 -0
  315. package/dist/services/workflow/workflow-node-registry.service.d.ts.map +1 -0
  316. package/dist/services/workflow/workflow-node-registry.service.js +110 -0
  317. package/dist/services/workflow/workflow-node-registry.service.js.map +1 -0
  318. package/dist/services/workflow/workflow-runtime.service.d.ts +53 -0
  319. package/dist/services/workflow/workflow-runtime.service.d.ts.map +1 -0
  320. package/dist/services/workflow/workflow-runtime.service.js +541 -0
  321. package/dist/services/workflow/workflow-runtime.service.js.map +1 -0
  322. package/dist/services/workflow/workflow-scheduled-trigger.job.d.ts +10 -0
  323. package/dist/services/workflow/workflow-scheduled-trigger.job.d.ts.map +1 -0
  324. package/dist/services/workflow/workflow-scheduled-trigger.job.js +37 -0
  325. package/dist/services/workflow/workflow-scheduled-trigger.job.js.map +1 -0
  326. package/dist/services/workflow-definition.service.d.ts +52 -0
  327. package/dist/services/workflow-definition.service.d.ts.map +1 -0
  328. package/dist/services/workflow-definition.service.js +251 -0
  329. package/dist/services/workflow-definition.service.js.map +1 -0
  330. package/dist/services/workflow-execution-artifact.service.d.ts +12 -0
  331. package/dist/services/workflow-execution-artifact.service.d.ts.map +1 -0
  332. package/dist/services/workflow-execution-artifact.service.js +38 -0
  333. package/dist/services/workflow-execution-artifact.service.js.map +1 -0
  334. package/dist/services/workflow-execution-log.service.d.ts +12 -0
  335. package/dist/services/workflow-execution-log.service.d.ts.map +1 -0
  336. package/dist/services/workflow-execution-log.service.js +38 -0
  337. package/dist/services/workflow-execution-log.service.js.map +1 -0
  338. package/dist/services/workflow-execution.service.d.ts +12 -0
  339. package/dist/services/workflow-execution.service.d.ts.map +1 -0
  340. package/dist/services/workflow-execution.service.js +38 -0
  341. package/dist/services/workflow-execution.service.js.map +1 -0
  342. package/dist/services/workflow-secret.service.d.ts +25 -0
  343. package/dist/services/workflow-secret.service.d.ts.map +1 -0
  344. package/dist/services/workflow-secret.service.js +152 -0
  345. package/dist/services/workflow-secret.service.js.map +1 -0
  346. package/dist/services/workflow-step-execution.service.d.ts +12 -0
  347. package/dist/services/workflow-step-execution.service.d.ts.map +1 -0
  348. package/dist/services/workflow-step-execution.service.js +38 -0
  349. package/dist/services/workflow-step-execution.service.js.map +1 -0
  350. package/dist/services/workflow-trigger-execution.service.d.ts +12 -0
  351. package/dist/services/workflow-trigger-execution.service.d.ts.map +1 -0
  352. package/dist/services/workflow-trigger-execution.service.js +38 -0
  353. package/dist/services/workflow-trigger-execution.service.js.map +1 -0
  354. package/dist/solid-core.module.d.ts.map +1 -1
  355. package/dist/solid-core.module.js +117 -0
  356. package/dist/solid-core.module.js.map +1 -1
  357. package/dist/transformers/empty-string-to-null-transformer.d.ts +4 -0
  358. package/dist/transformers/empty-string-to-null-transformer.d.ts.map +1 -0
  359. package/dist/transformers/empty-string-to-null-transformer.js +12 -0
  360. package/dist/transformers/empty-string-to-null-transformer.js.map +1 -0
  361. package/dist/types/workflow-dsl.types.d.ts +277 -0
  362. package/dist/types/workflow-dsl.types.d.ts.map +1 -0
  363. package/dist/types/workflow-dsl.types.js +3 -0
  364. package/dist/types/workflow-dsl.types.js.map +1 -0
  365. package/dist/types/workflow-execution-queue.types.d.ts +4 -0
  366. package/dist/types/workflow-execution-queue.types.d.ts.map +1 -0
  367. package/dist/types/workflow-execution-queue.types.js +3 -0
  368. package/dist/types/workflow-execution-queue.types.js.map +1 -0
  369. package/package.json +3 -2
  370. package/src/controllers/workflow-definition.controller.ts +141 -0
  371. package/src/controllers/workflow-execution-artifact.controller.ts +93 -0
  372. package/src/controllers/workflow-execution-log.controller.ts +93 -0
  373. package/src/controllers/workflow-execution.controller.ts +126 -0
  374. package/src/controllers/workflow-secret.controller.ts +90 -0
  375. package/src/controllers/workflow-step-execution.controller.ts +93 -0
  376. package/src/controllers/workflow-trigger-execution.controller.ts +93 -0
  377. package/src/decorators/workflow-field-data-provider.decorator.ts +7 -0
  378. package/src/decorators/workflow-node-provider.decorator.ts +14 -0
  379. package/src/dtos/create-workflow-definition.dto.ts +60 -0
  380. package/src/dtos/create-workflow-execution-artifact.dto.ts +99 -0
  381. package/src/dtos/create-workflow-execution-log.dto.ts +80 -0
  382. package/src/dtos/create-workflow-execution.dto.ts +137 -0
  383. package/src/dtos/create-workflow-secret.dto.ts +44 -0
  384. package/src/dtos/create-workflow-step-execution.dto.ts +123 -0
  385. package/src/dtos/create-workflow-trigger-execution.dto.ts +114 -0
  386. package/src/dtos/execute-workflow.dto.ts +6 -0
  387. package/src/dtos/update-workflow-definition.dto.ts +67 -0
  388. package/src/dtos/update-workflow-execution-artifact.dto.ts +105 -0
  389. package/src/dtos/update-workflow-execution-log.dto.ts +87 -0
  390. package/src/dtos/update-workflow-execution.dto.ts +144 -0
  391. package/src/dtos/update-workflow-secret.dto.ts +53 -0
  392. package/src/dtos/update-workflow-step-execution.dto.ts +132 -0
  393. package/src/dtos/update-workflow-trigger-execution.dto.ts +122 -0
  394. package/src/dtos/validate-workflow-definition.dto.ts +3 -0
  395. package/src/entities/saved-filters.entity.ts +3 -3
  396. package/src/entities/workflow-definition.entity.ts +43 -0
  397. package/src/entities/workflow-execution-artifact.entity.ts +72 -0
  398. package/src/entities/workflow-execution-log.entity.ts +58 -0
  399. package/src/entities/workflow-execution.entity.ts +82 -0
  400. package/src/entities/workflow-secret.entity.ts +33 -0
  401. package/src/entities/workflow-step-execution.entity.ts +88 -0
  402. package/src/entities/workflow-trigger-execution.entity.ts +82 -0
  403. package/src/factories/sms.factory.ts +4 -1
  404. package/src/helpers/solid-registry.ts +21 -1
  405. package/src/index.ts +55 -0
  406. package/src/interfaces/workflow-node-handler.interface.ts +10 -0
  407. package/src/interfaces.ts +29 -0
  408. package/src/jobs/database/workflow-execution-publisher-database.service.ts +24 -0
  409. package/src/jobs/database/workflow-execution-queue-options-database.ts +9 -0
  410. package/src/jobs/database/workflow-execution-subscriber-database.service.ts +44 -0
  411. package/src/jobs/rabbitmq/workflow-execution-publisher.service.ts +24 -0
  412. package/src/jobs/rabbitmq/workflow-execution-queue-options.ts +9 -0
  413. package/src/jobs/rabbitmq/workflow-execution-subscriber.service.ts +42 -0
  414. package/src/jobs/redis/workflow-execution-publisher-redis.service.ts +24 -0
  415. package/src/jobs/redis/workflow-execution-queue-options-redis.ts +9 -0
  416. package/src/jobs/redis/workflow-execution-subscriber-redis.service.ts +42 -0
  417. package/src/repository/security-rule.repository.ts +52 -10
  418. package/src/repository/workflow-definition.repository.ts +19 -0
  419. package/src/repository/workflow-execution-artifact.repository.ts +19 -0
  420. package/src/repository/workflow-execution-log.repository.ts +19 -0
  421. package/src/repository/workflow-execution.repository.ts +19 -0
  422. package/src/repository/workflow-secret.repository.ts +19 -0
  423. package/src/repository/workflow-step-execution.repository.ts +19 -0
  424. package/src/repository/workflow-trigger-execution.repository.ts +19 -0
  425. package/src/seeders/module-metadata-seeder.service.ts +166 -4
  426. package/src/seeders/seed-data/solid-core-metadata.json +11437 -5567
  427. package/src/services/chatter-message.service.ts +5 -1
  428. package/src/services/crud-helper.service.ts +220 -22
  429. package/src/services/crud.service.ts +30 -0
  430. package/src/services/solid-introspect.service.ts +19 -0
  431. package/src/services/view-metadata.service.ts +87 -21
  432. package/src/services/workflow/nodes/for-each.node.ts +97 -0
  433. package/src/services/workflow/nodes/http-request.node.ts +624 -0
  434. package/src/services/workflow/nodes/if.node.ts +93 -0
  435. package/src/services/workflow/nodes/log-write.node.ts +232 -0
  436. package/src/services/workflow/nodes/parallel.node.ts +81 -0
  437. package/src/services/workflow/nodes/runtime-python.node.ts +571 -0
  438. package/src/services/workflow/nodes/sequential.node.ts +58 -0
  439. package/src/services/workflow/nodes/solidx-api.helpers.ts +205 -0
  440. package/src/services/workflow/nodes/solidx-crud.nodes.ts +511 -0
  441. package/src/services/workflow/nodes/solidx-login.node.ts +222 -0
  442. package/src/services/workflow/nodes/solidx-send-email.node.ts +489 -0
  443. package/src/services/workflow/nodes/solidx-send-sms.node.ts +377 -0
  444. package/src/services/workflow/nodes/switch.node.ts +125 -0
  445. package/src/services/workflow/workflow-definition-metadata-sync.service.ts +196 -0
  446. package/src/services/workflow/workflow-definition-validator.service.ts +223 -0
  447. package/src/services/workflow/workflow-execution-writer.service.ts +244 -0
  448. package/src/services/workflow/workflow-expression.service.ts +175 -0
  449. package/src/services/workflow/workflow-invocation.service.ts +39 -0
  450. package/src/services/workflow/workflow-node-registry.service.ts +141 -0
  451. package/src/services/workflow/workflow-runtime.service.ts +699 -0
  452. package/src/services/workflow/workflow-scheduled-trigger.job.ts +33 -0
  453. package/src/services/workflow-definition.service.ts +293 -0
  454. package/src/services/workflow-execution-artifact.service.ts +20 -0
  455. package/src/services/workflow-execution-log.service.ts +20 -0
  456. package/src/services/workflow-execution.service.ts +20 -0
  457. package/src/services/workflow-secret.service.ts +161 -0
  458. package/src/services/workflow-step-execution.service.ts +20 -0
  459. package/src/services/workflow-trigger-execution.service.ts +20 -0
  460. package/src/solid-core.module.ts +124 -0
  461. package/src/transformers/empty-string-to-null-transformer.ts +11 -0
  462. package/src/types/workflow-dsl.types.ts +987 -0
  463. package/src/types/workflow-execution-queue.types.ts +3 -0
@@ -0,0 +1,987 @@
1
+ import { WorkflowExecution } from '../entities/workflow-execution.entity';
2
+ import { WorkflowStepExecution } from '../entities/workflow-step-execution.entity';
3
+
4
+ /**
5
+ * Declares the execution role of a node in the workflow graph.
6
+ *
7
+ * - `task`: performs one unit of work, for example `log.write` or `http.request`.
8
+ * - `control`: owns child-node execution semantics, for example `if`, `parallel`, `sequential`, or `switch`.
9
+ * - `subflow`: reserved for invoking another workflow as a node.
10
+ *
11
+ * Example:
12
+ * ```yaml
13
+ * kind: control
14
+ * type: if
15
+ * ```
16
+ */
17
+ export type WorkflowNodeKind = 'task' | 'control' | 'subflow';
18
+
19
+ /**
20
+ * Describes the logical value type of a configurable node field.
21
+ *
22
+ * This powers schema-driven authoring UI, validation messaging, docs badges, and future field-editor selection.
23
+ *
24
+ * Example:
25
+ * ```yaml
26
+ * configuration:
27
+ * uri: "{{ variables.defaultUrl }}" # valueType: uri, expressionAllowed: true
28
+ * ```
29
+ */
30
+ export type WorkflowNodeConfigurationValueType =
31
+ | 'string'
32
+ | 'number'
33
+ | 'integer'
34
+ | 'boolean'
35
+ | 'object'
36
+ | 'array'
37
+ | 'json'
38
+ | 'secret'
39
+ | 'expression'
40
+ | 'relation'
41
+ | 'uri'
42
+ | 'any';
43
+
44
+ /** Lifecycle status for an entire workflow execution. */
45
+ export type WorkflowExecutionStatus =
46
+ | 'enqueued'
47
+ | 'created'
48
+ | 'running'
49
+ | 'success'
50
+ | 'failed'
51
+ | 'cancelled';
52
+
53
+ /** Lifecycle status for one node execution inside a workflow execution. */
54
+ export type WorkflowStepExecutionStatus =
55
+ | 'created'
56
+ | 'running'
57
+ | 'success'
58
+ | 'failed'
59
+ | 'skipped';
60
+
61
+ /**
62
+ * Retry behavior attached to a node instance in the workflow YAML.
63
+ *
64
+ * This belongs to the editable runtime surface when a node provider sets
65
+ * `authoring.supportsRetryPolicy`.
66
+ *
67
+ * Example:
68
+ * ```yaml
69
+ * retryPolicy:
70
+ * maxRetries: 3
71
+ * delayMs: 1000
72
+ * ```
73
+ */
74
+ export interface WorkflowRetryPolicy {
75
+ /** Maximum number of retry attempts after the initial failure. */
76
+ maxRetries?: number;
77
+
78
+ /** Delay between retry attempts in milliseconds. */
79
+ delayMs?: number;
80
+ }
81
+
82
+ /**
83
+ * A concrete node instance inside `WorkflowDefinitionDsl.nodes` or inside a
84
+ * control node child slot.
85
+ *
86
+ * This is the author-facing DSL shape saved in `definitionYaml`. The topology
87
+ * renderer interprets `kind`, `type`, and child-slot keys (`tasks`, `then`,
88
+ * `else`, `cases`, `defaults`) to draw the graph dynamically. The edit modal
89
+ * exposes common fields plus `configuration` fields declared by the matching
90
+ * `WorkflowNodeProviderMetadata.authoring` metadata.
91
+ *
92
+ * Example:
93
+ * ```yaml
94
+ * - id: check_status
95
+ * name: Check status
96
+ * kind: control
97
+ * type: if
98
+ * configuration:
99
+ * condition: "{{ outputs.http_request.code != 200 }}"
100
+ * then:
101
+ * - id: alert
102
+ * kind: task
103
+ * type: log.write
104
+ * configuration:
105
+ * message: Server is down
106
+ * ```
107
+ */
108
+ export interface WorkflowNodeDefinition {
109
+ /** Stable unique identifier for output lookup, execution tracking, and UI mutations. */
110
+ id: string;
111
+
112
+ /** Optional display label for the node card; UI can fall back to `id`. */
113
+ name?: string;
114
+
115
+ /** Optional human-readable note explaining what this node does. */
116
+ description?: string;
117
+
118
+ /** Declares whether this is a work node, control-flow node, or subflow node. */
119
+ kind: WorkflowNodeKind;
120
+
121
+ /**
122
+ * Provider type key used to resolve execution handler, schema, docs, icon, and
123
+ * authoring metadata. Examples: `log.write`, `http.request`, `if`, `switch`.
124
+ */
125
+ type: string;
126
+
127
+ /** When true, the engine skips this node at runtime. */
128
+ disabled?: boolean;
129
+
130
+ /** Optional node execution timeout in milliseconds. */
131
+ timeoutMs?: number;
132
+
133
+ /** Optional retry policy for failed task execution. */
134
+ retryPolicy?: WorkflowRetryPolicy;
135
+
136
+ /** Error behavior: `fail` stops the workflow; `continue` moves to the next node. */
137
+ onError?: 'fail' | 'continue';
138
+
139
+ /**
140
+ * Provider-specific input properties for this node.
141
+ *
142
+ * Think of this as the node's input payload: each provider declares which
143
+ * properties it accepts, and the schema-driven form writes those properties
144
+ * into this object using `WorkflowNodeConfigurationFieldDefinition.path` or
145
+ * `.key`.
146
+ *
147
+ * Values may be literals or expression strings. When expressions are allowed
148
+ * for a field, the runtime evaluates them against workflow context before the
149
+ * node handler receives the effective input value.
150
+ *
151
+ * Example for `type: http.request`:
152
+ * ```yaml
153
+ * configuration:
154
+ * method: GET
155
+ * uri: "{{ variables.defaultUrl }}"
156
+ * ```
157
+ */
158
+ configuration?: Record<string, any>;
159
+
160
+ /** Non-runtime custom annotations for tooling and future extensions. */
161
+ metadata?: Record<string, any>;
162
+
163
+ /**
164
+ * Ordered child nodes for control nodes that own a generic task collection.
165
+ *
166
+ * Used by grouping controls such as `sequential` and `parallel`, and also by
167
+ * loop-style controls where the same child task collection is executed for
168
+ * each item or iteration. The control node defines the execution semantics;
169
+ * this property defines the child nodes that participate.
170
+ *
171
+ * Example for `type: sequential`:
172
+ * ```yaml
173
+ * tasks:
174
+ * - id: first
175
+ * kind: task
176
+ * type: log.write
177
+ * - id: second
178
+ * kind: task
179
+ * type: log.write
180
+ * ```
181
+ */
182
+ tasks?: WorkflowNodeDefinition[];
183
+
184
+ /**
185
+ * Child nodes executed when an `if` control node condition resolves truthy.
186
+ *
187
+ * Example:
188
+ * ```yaml
189
+ * then:
190
+ * - id: server_unreachable_alert
191
+ * kind: task
192
+ * type: log.write
193
+ * ```
194
+ */
195
+ then?: WorkflowNodeDefinition[];
196
+
197
+ /** Child nodes executed when an `if` control node condition resolves falsey. */
198
+ else?: WorkflowNodeDefinition[];
199
+
200
+ /** Child nodes executed when no `switch.cases` entry matches the switch value. */
201
+ defaults?: WorkflowNodeDefinition[];
202
+
203
+ /**
204
+ * Named child-node collections for `switch`.
205
+ *
206
+ * Keys are case values. Values are the nodes that run when the evaluated switch
207
+ * value matches that key.
208
+ *
209
+ * Example:
210
+ * ```yaml
211
+ * cases:
212
+ * true:
213
+ * - id: is_true
214
+ * kind: task
215
+ * type: log.write
216
+ * false:
217
+ * - id: is_false
218
+ * kind: task
219
+ * type: log.write
220
+ * ```
221
+ */
222
+ cases?: Record<string, WorkflowNodeDefinition[]>;
223
+ }
224
+
225
+ /**
226
+ * A workflow trigger definition.
227
+ *
228
+ * Triggers start workflow executions, but they are not part of the main node
229
+ * sequence rendered in topology.
230
+ */
231
+ export interface WorkflowTriggerDefinition {
232
+ /** Stable trigger id within the workflow. */
233
+ id: string;
234
+
235
+ /** Optional display label for UI surfaces. */
236
+ name?: string;
237
+
238
+ /** Trigger provider key, for example a schedule trigger type. */
239
+ type: string;
240
+
241
+ /** Provider-specific trigger settings. */
242
+ configuration?: Record<string, any>;
243
+
244
+ /** When true, the trigger is defined but inactive. */
245
+ disabled?: boolean;
246
+
247
+ /** Custom annotations for trigger tooling. */
248
+ metadata?: Record<string, any>;
249
+ }
250
+
251
+ /**
252
+ * Root workflow DSL document saved as YAML.
253
+ *
254
+ * Rendering phases are:
255
+ * 1. fetch `definitionYaml`;
256
+ * 2. parse YAML into this shape;
257
+ * 3. validate this shape and all nested nodes;
258
+ * 4. render topology using node provider metadata and child-slot rules.
259
+ *
260
+ * Example:
261
+ * ```yaml
262
+ * version: 1.0.0
263
+ * variables:
264
+ * defaultUrl: https://example.com
265
+ * nodes:
266
+ * - id: start
267
+ * kind: task
268
+ * type: log.write
269
+ * ```
270
+ */
271
+ export interface WorkflowDefinitionDsl {
272
+ /** DSL version of this workflow definition. */
273
+ version?: string;
274
+
275
+ /** Workflow-level markdown/plaintext description for humans. */
276
+ description?: string;
277
+
278
+ /** Workflow input declarations or defaults. */
279
+ inputs?: Record<string, any>;
280
+
281
+ /** Workflow-scoped reusable values available to expressions. */
282
+ variables?: Record<string, any>;
283
+
284
+ /** Top-level executable node sequence. */
285
+ nodes: WorkflowNodeDefinition[];
286
+
287
+ /** Optional workflow triggers that can create executions. */
288
+ triggers?: WorkflowTriggerDefinition[];
289
+
290
+ /** Workflow-level custom annotations for tooling. */
291
+ metadata?: Record<string, any>;
292
+ }
293
+
294
+ /**
295
+ * Provider metadata declared by `@WorkflowNodeProvider(...)`.
296
+ *
297
+ * This is not saved inside workflow YAML. It describes how a `type` behaves,
298
+ * how it is edited, what docs are shown, and what runtime features are enabled.
299
+ *
300
+ * Example provider fragment:
301
+ * ```ts
302
+ * @WorkflowNodeProvider({
303
+ * type: 'http.request',
304
+ * kind: 'task',
305
+ * authoring: {
306
+ * configurationFields: [{ key: 'uri', required: true, valueType: 'uri' }]
307
+ * }
308
+ * })
309
+ * ```
310
+ */
311
+ export interface WorkflowNodeProviderMetadata {
312
+ /** Provider type key matched by `WorkflowNodeDefinition.type`. */
313
+ type: string;
314
+
315
+ /** Node kind supported by this provider. */
316
+ kind: WorkflowNodeKind;
317
+
318
+ /** Provider metadata version, independent from workflow DSL version. */
319
+ version?: string;
320
+
321
+ /** Top-level palette/docs grouping. */
322
+ category?: string;
323
+
324
+ /** Secondary palette/docs grouping. */
325
+ subcategory?: string;
326
+
327
+ /** Human label shown in node cards, palettes, dialogs, and docs. */
328
+ label?: string;
329
+
330
+ /** Human description shown in docs and selection surfaces. */
331
+ description?: string;
332
+
333
+ /** Icon key consumed by the UI icon resolver. */
334
+ icon?: string;
335
+
336
+ /** Search/filter tags for palette and docs surfaces. */
337
+ tags?: string[];
338
+
339
+ /** Alternate type/search labels accepted for discovery. */
340
+ aliases?: string[];
341
+
342
+ /** Machine schema for node configuration validation. */
343
+ configSchema?: Record<string, any>;
344
+
345
+ /** Optional schema hints for configuration UI. */
346
+ uiSchema?: Record<string, any>;
347
+
348
+ /** Machine schema describing the node output payload. */
349
+ outputSchema?: Record<string, any>;
350
+
351
+ /** Documentation examples shown in node docs. */
352
+ examples?: WorkflowNodeExampleDefinition[];
353
+
354
+ /** Runtime metrics emitted or documented by the node. */
355
+ metrics?: WorkflowNodeMetricDefinition[];
356
+
357
+ /** Reference material for docs, such as expression variables or output fields. */
358
+ definitions?: WorkflowNodeReferenceDefinition[];
359
+
360
+ /** Authoring metadata that defines the editable surface for this node type. */
361
+ authoring?: WorkflowNodeAuthoringMetadata;
362
+
363
+ /** Runtime capability metadata used by execution tooling and docs. */
364
+ runtime?: WorkflowNodeRuntimeMetadata;
365
+
366
+ /** Human documentation metadata. */
367
+ documentation?: WorkflowNodeDocumentationMetadata;
368
+
369
+ /** UI integration metadata for custom editors, docs, palette, and layout hints. */
370
+ ui?: WorkflowNodeUiMetadata;
371
+ }
372
+
373
+ /**
374
+ * Declares which parts of a node are editable in generic authoring UI.
375
+ *
376
+ * This metadata is what the topology edit/add modal reads to decide which common
377
+ * fields, configuration fields, and child-slot affordances to expose.
378
+ */
379
+ export interface WorkflowNodeAuthoringMetadata {
380
+ /** Initial `configuration` object for a newly added node. */
381
+ defaultConfiguration?: Record<string, any>;
382
+
383
+ /** Schema-driven editable fields that write to `node.configuration`. */
384
+ configurationFields?: WorkflowNodeConfigurationFieldDefinition[];
385
+
386
+ /** Optional higher-level layout for configuration fields. */
387
+ configurationLayout?: WorkflowNodeConfigurationLayoutDefinition;
388
+
389
+ /** Child collections owned by this node when `kind: control`. */
390
+ childSlots?: WorkflowNodeChildSlotDefinition[];
391
+
392
+ /** Documented or typed outputs produced by this node. */
393
+ outputs?: WorkflowNodeOutputDefinition[];
394
+
395
+ /** Whether this node generally supports expression values. */
396
+ supportsExpressions?: boolean;
397
+
398
+ /** Expose `retryPolicy` in the edit modal. */
399
+ supportsRetryPolicy?: boolean;
400
+
401
+ /** Expose `timeoutMs` in the edit modal. */
402
+ supportsTimeoutMs?: boolean;
403
+
404
+ /** Expose `onError` in the edit modal. */
405
+ supportsOnError?: boolean;
406
+
407
+ /** Expose `disabled` in the edit modal. */
408
+ supportsDisableToggle?: boolean;
409
+
410
+ /** Expose the common `name` field in the edit modal. */
411
+ supportsName?: boolean;
412
+
413
+ /** Expose the common `description` field in the edit modal. */
414
+ supportsDescription?: boolean;
415
+
416
+ /** Extra searchable text for palette and docs discovery. */
417
+ searchableText?: string[];
418
+ }
419
+
420
+ /** Declarative layout for schema-driven node configuration fields. */
421
+ export interface WorkflowNodeConfigurationLayoutDefinition {
422
+ /** Layout strategy. Only `tabs` is currently implemented by the generic UI. */
423
+ type: 'tabs';
424
+
425
+ /** Tab definitions. Fields not assigned to a tab should fall back to `Other`. */
426
+ tabs: WorkflowNodeConfigurationLayoutTabDefinition[];
427
+ }
428
+
429
+ /** One configuration tab. Tabs may include explicit fields and/or whole groups. */
430
+ export interface WorkflowNodeConfigurationLayoutTabDefinition {
431
+ /** Stable tab key. */
432
+ key: string;
433
+
434
+ /** Human label shown in the editor. */
435
+ label: string;
436
+
437
+ /** Field keys or field paths to include in this tab. */
438
+ fields?: string[];
439
+
440
+ /** Group labels to include in this tab. */
441
+ groups?: string[];
442
+ }
443
+
444
+ /**
445
+ * Describes a control node child collection that can be edited from topology.
446
+ *
447
+ * Child slots tell the renderer and mutation layer which node property contains
448
+ * child nodes and how those children should be arranged.
449
+ *
450
+ * Example for `if`:
451
+ * ```ts
452
+ * { key: 'then', label: 'Then', kind: 'sequence', layout: 'sequential' }
453
+ * ```
454
+ *
455
+ * Example for `switch`:
456
+ * ```ts
457
+ * { key: 'cases', label: 'Cases', kind: 'case-collection', layout: 'parallel' }
458
+ * ```
459
+ */
460
+ export interface WorkflowNodeChildSlotDefinition {
461
+ /** Property key on `WorkflowNodeDefinition`, for example `tasks`, `then`, `else`, `cases`. */
462
+ key: string;
463
+
464
+ /** Human label shown in topology or editor summaries. */
465
+ label?: string;
466
+
467
+ /** Human explanation of what this child slot means. */
468
+ description?: string;
469
+
470
+ /**
471
+ * Shape of child data.
472
+ *
473
+ * `sequence` means the property is `WorkflowNodeDefinition[]`.
474
+ * `case-collection` means the property is `Record<string, WorkflowNodeDefinition[]>`.
475
+ */
476
+ kind: 'sequence' | 'case-collection';
477
+
478
+ /**
479
+ * Preferred visual arrangement for children in this slot.
480
+ *
481
+ * `sequential` renders top-to-bottom. `parallel` renders peer lines side-by-side.
482
+ */
483
+ layout?: 'sequential' | 'parallel';
484
+
485
+ /** Whether a valid node instance should contain this child slot. */
486
+ required?: boolean;
487
+
488
+ /** Minimum allowed children or cases. */
489
+ minItems?: number;
490
+
491
+ /** Maximum allowed children or cases. */
492
+ maxItems?: number;
493
+ }
494
+
495
+ /**
496
+ * Describes one editable field in `WorkflowNodeDefinition.configuration`.
497
+ *
498
+ * These definitions drive the generic schema-based add/edit modal. They are the
499
+ * bridge between provider metadata and the user-editable YAML.
500
+ *
501
+ * Example:
502
+ * ```ts
503
+ * { key: 'uri', label: 'URI', valueType: 'uri', required: true }
504
+ * ```
505
+ * writes:
506
+ * ```yaml
507
+ * configuration:
508
+ * uri: https://example.com
509
+ * ```
510
+ */
511
+ export interface WorkflowNodeConfigurationFieldDefinition {
512
+ /** Stable field key and default path within `configuration`. */
513
+ key: string;
514
+
515
+ /** Human label shown above the form field. */
516
+ label?: string;
517
+
518
+ /** Help text shown below or near the field. */
519
+ description?: string;
520
+
521
+ /** Logical type used for validation, docs badges, and default editor selection. */
522
+ valueType?: WorkflowNodeConfigurationValueType;
523
+
524
+ /** Whether this field must be present for a valid node configuration. */
525
+ required?: boolean;
526
+
527
+ /** Dot-path override inside `configuration`; defaults to `key`. */
528
+ path?: string;
529
+
530
+ /** Whether the field supports expression strings like `{{ inputs.value }}`. */
531
+ expressionAllowed?: boolean;
532
+
533
+ /** Whether the field supports secret references or secret handling. */
534
+ secretAllowed?: boolean;
535
+
536
+ /** Initial value used when creating a new node of this type. */
537
+ defaultValue?: any;
538
+
539
+ /** Fixed option list rendered as a select-like control. */
540
+ enumValues?: Array<string | number | boolean>;
541
+
542
+ /** Example values for docs and future inline help. */
543
+ examples?: any[];
544
+
545
+ /** Form grouping label used to visually cluster related fields. */
546
+ group?: string;
547
+
548
+ /** Preferred generic widget, for example `textarea`, `yaml-editor`, or `json-editor`. */
549
+ widgetHint?: string;
550
+
551
+ /** Custom field editor component registry key. */
552
+ extensionComponentKey?: string;
553
+
554
+ /** Optional machine schema for this specific field. */
555
+ schema?: Record<string, any>;
556
+
557
+ /** Optional UI schema for this specific field. */
558
+ uiSchema?: Record<string, any>;
559
+ }
560
+
561
+ /** Describes one output value produced by a node provider. */
562
+ export interface WorkflowNodeOutputDefinition {
563
+ /** Stable output key. */
564
+ key: string;
565
+
566
+ /** Human label for docs. */
567
+ label?: string;
568
+
569
+ /** Human explanation of the output. */
570
+ description?: string;
571
+
572
+ /** Logical value type of the output. */
573
+ valueType?: WorkflowNodeConfigurationValueType;
574
+
575
+ /** Dot path inside the runtime output object. */
576
+ path?: string;
577
+
578
+ /** Whether the output is expected on successful execution. */
579
+ required?: boolean;
580
+
581
+ /** Optional machine schema for this output value. */
582
+ schema?: Record<string, any>;
583
+ }
584
+
585
+ /** Documents a runtime metric associated with a node provider. */
586
+ export interface WorkflowNodeMetricDefinition {
587
+ /** Stable metric key. */
588
+ key: string;
589
+
590
+ /** Human label for docs. */
591
+ label?: string;
592
+
593
+ /** Human explanation of the metric. */
594
+ description?: string;
595
+
596
+ /** Metric shape. */
597
+ type?: 'counter' | 'gauge' | 'histogram' | 'timer' | 'summary';
598
+
599
+ /** Unit label, for example `ms`, `bytes`, or `count`. */
600
+ unit?: string;
601
+
602
+ /** Dot path if derived from output or execution context. */
603
+ path?: string;
604
+
605
+ /** Metric tags emitted with the value. */
606
+ tags?: string[];
607
+ }
608
+
609
+ /** Example snippet shown in node documentation. */
610
+ export interface WorkflowNodeExampleDefinition {
611
+ /** Stable example key. */
612
+ key: string;
613
+
614
+ /** Human example title. */
615
+ label?: string;
616
+
617
+ /** Short explanation of what the example demonstrates. */
618
+ description?: string;
619
+
620
+ /** Snippet language for syntax highlighting. */
621
+ language?: 'json' | 'yaml' | 'javascript' | 'typescript' | 'text';
622
+
623
+ /** The example source text. */
624
+ snippet: string;
625
+
626
+ /** True when the snippet only represents `configuration`, not a full node. */
627
+ configurationOnly?: boolean;
628
+
629
+ /** Custom annotations for docs tooling. */
630
+ metadata?: Record<string, any>;
631
+ }
632
+
633
+ /** Additional reference block shown in node documentation. */
634
+ export interface WorkflowNodeReferenceDefinition {
635
+ /** Stable reference key. */
636
+ key: string;
637
+
638
+ /** Human reference title. */
639
+ label?: string;
640
+
641
+ /** Short explanation of the reference. */
642
+ description?: string;
643
+
644
+ /** Main reference content. */
645
+ content?: string;
646
+
647
+ /** Examples attached to this reference block. */
648
+ examples?: WorkflowNodeExampleDefinition[];
649
+
650
+ /** Optional machine schema for referenced data. */
651
+ schema?: Record<string, any>;
652
+
653
+ /** Custom annotations for docs tooling. */
654
+ metadata?: Record<string, any>;
655
+ }
656
+
657
+ /** Runtime capability metadata for a node provider. */
658
+ export interface WorkflowNodeRuntimeMetadata {
659
+ /** Whether the node commonly emits log entries. */
660
+ emitsLogs?: boolean;
661
+
662
+ /** Whether the node may emit artifacts. */
663
+ emitsArtifacts?: boolean;
664
+
665
+ /** Whether the same input should produce stable output. */
666
+ deterministicOutputs?: boolean;
667
+
668
+ /** Whether execution is a normal task handler or engine-orchestrated control flow. */
669
+ executionMode?: 'task' | 'engine-controlled';
670
+
671
+ /** Statuses considered successful for this node type. */
672
+ successStatuses?: WorkflowStepExecutionStatus[];
673
+ }
674
+
675
+ /** Human-facing documentation metadata for a node provider. */
676
+ export interface WorkflowNodeDocumentationMetadata {
677
+ /** Short docs summary shown in node documentation surfaces. */
678
+ summary?: string;
679
+ }
680
+
681
+ /** UI integration metadata for node authoring and documentation. */
682
+ export interface WorkflowNodeUiMetadata {
683
+ /** Icon key used by topology cards, palette items, and docs. */
684
+ icon?: string;
685
+
686
+ /** Icon foreground color used by palette/dialog/topology surfaces. */
687
+ iconColor?: string;
688
+
689
+ /** Icon tile background color used by palette/dialog/topology surfaces. */
690
+ iconBackgroundColor?: string;
691
+
692
+ /** Optional icon tile border color for richer palette treatments. */
693
+ iconBorderColor?: string;
694
+
695
+ /** Custom full-node editor component registry key. */
696
+ editorComponentKey?: string;
697
+
698
+ /** Custom documentation component registry key. */
699
+ docsComponentKey?: string;
700
+
701
+ /** Custom palette item component registry key. */
702
+ paletteComponentKey?: string;
703
+
704
+ /** Default edit mode: generic schema form or custom editor. */
705
+ defaultEditorMode?: 'schema' | 'custom';
706
+
707
+ /** Per-field custom editor component registry keys keyed by configuration field key. */
708
+ fieldComponentKeys?: Record<string, string>;
709
+
710
+ /** Preferred modal size for add/edit UI. */
711
+ modalSize?: 'sm' | 'md' | 'lg' | 'xl' | 'full';
712
+
713
+ /** Optional visual hints for docs/editor/topology layout. */
714
+ layoutHints?: {
715
+ /** Preferred workflow page panel when this node is focused. */
716
+ preferredPanel?: 'code' | 'flow' | 'docs';
717
+
718
+ /** Preferred order for configuration field groups. */
719
+ groupOrder?: string[];
720
+
721
+ /** Whether a summary should remain visible while editing long forms. */
722
+ stickySummary?: boolean;
723
+ };
724
+ }
725
+
726
+ /**
727
+ * Serialized provider metadata returned to the frontend.
728
+ *
729
+ * This intentionally mirrors `WorkflowNodeProviderMetadata` so the UI can render
730
+ * the palette, docs modal, topology cards, and add/edit dialog without importing
731
+ * backend provider classes.
732
+ */
733
+ export interface WorkflowNodeMetadataResponse {
734
+ /** Provider type key matched by `WorkflowNodeDefinition.type`. */
735
+ type: string;
736
+
737
+ /** Node kind supported by this provider. */
738
+ kind: WorkflowNodeKind;
739
+
740
+ /** Provider metadata version. */
741
+ version?: string;
742
+
743
+ /** Top-level palette/docs grouping. */
744
+ category?: string;
745
+
746
+ /** Secondary palette/docs grouping. */
747
+ subcategory?: string;
748
+
749
+ /** Human label shown in UI. */
750
+ label?: string;
751
+
752
+ /** Human description shown in UI. */
753
+ description?: string;
754
+
755
+ /** Icon key consumed by the UI icon resolver. */
756
+ icon?: string;
757
+
758
+ /** Search/filter tags. */
759
+ tags?: string[];
760
+
761
+ /** Machine schema for node configuration validation. */
762
+ configSchema?: Record<string, any>;
763
+
764
+ /** Optional schema hints for configuration UI. */
765
+ uiSchema?: Record<string, any>;
766
+
767
+ /** Machine schema describing node output payload. */
768
+ outputSchema?: Record<string, any>;
769
+
770
+ /** Documentation examples. */
771
+ examples?: WorkflowNodeExampleDefinition[];
772
+
773
+ /** Runtime metrics. */
774
+ metrics?: WorkflowNodeMetricDefinition[];
775
+
776
+ /** Reference docs blocks. */
777
+ definitions?: WorkflowNodeReferenceDefinition[];
778
+
779
+ /** Authoring metadata consumed by generic UI. */
780
+ authoring?: WorkflowNodeAuthoringMetadata;
781
+
782
+ /** Runtime capability metadata. */
783
+ runtime?: WorkflowNodeRuntimeMetadata;
784
+
785
+ /** Human documentation metadata. */
786
+ documentation?: WorkflowNodeDocumentationMetadata;
787
+
788
+ /** UI integration metadata. */
789
+ ui?: WorkflowNodeUiMetadata;
790
+ }
791
+
792
+ /** Return value from a node execution handler. */
793
+ export interface WorkflowNodeHandlerResult {
794
+ /** Final step status; defaults are inferred when omitted. */
795
+ status?: WorkflowStepExecutionStatus;
796
+
797
+ /** Output payload stored under this node id for downstream expressions. */
798
+ output?: any;
799
+
800
+ /** Artifacts emitted by this node execution. */
801
+ artifacts?: WorkflowArtifactEmitRequest[];
802
+ }
803
+
804
+ /** Log entry emitted by node handlers during workflow execution. */
805
+ export interface WorkflowLogEmitRequest {
806
+ /** Log level. */
807
+ level?: 'debug' | 'info' | 'warn' | 'error';
808
+
809
+ /** Human log message. */
810
+ message: string;
811
+
812
+ /** Optional structured event type. */
813
+ eventType?: string;
814
+
815
+ /** Optional source label, usually node/provider related. */
816
+ source?: string;
817
+
818
+ /** Structured context values for querying/debugging. */
819
+ context?: Record<string, any>;
820
+
821
+ /** Custom annotations for log consumers. */
822
+ metadata?: Record<string, any>;
823
+ }
824
+
825
+ /** Artifact emitted by a node execution. */
826
+ export interface WorkflowArtifactEmitRequest {
827
+ /** Human or stable artifact name. */
828
+ name: string;
829
+
830
+ /** Human explanation of the artifact. */
831
+ description?: string;
832
+
833
+ /** Logical artifact kind, for example `file`, `json`, or `report`. */
834
+ artifactType?: string;
835
+
836
+ /** URI where the artifact can be fetched. */
837
+ uri?: string;
838
+
839
+ /** File name when the artifact maps to a file. */
840
+ fileName?: string;
841
+
842
+ /** MIME type when known. */
843
+ mimeType?: string;
844
+
845
+ /** Artifact size in bytes when known. */
846
+ sizeBytes?: number;
847
+
848
+ /** Optional checksum for integrity checks. */
849
+ checksum?: string;
850
+
851
+ /** Inline payload for small artifacts. */
852
+ payload?: any;
853
+
854
+ /** Custom annotations for artifact consumers. */
855
+ metadata?: Record<string, any>;
856
+ }
857
+
858
+ /** Expression service available to node handlers. */
859
+ export interface WorkflowExpressionResolver {
860
+ /** Recursively interpolates expression strings inside a value. */
861
+ interpolate<T = any>(value: T, context: WorkflowRuntimeContext): T;
862
+
863
+ /** Evaluates a condition-like expression to a boolean. */
864
+ evaluateCondition(expression: any, context: WorkflowRuntimeContext): boolean;
865
+
866
+ /** Resolves one expression string against runtime context. */
867
+ resolveExpression(expression: string, context: WorkflowRuntimeContext): any;
868
+ }
869
+
870
+ /** Runtime context shared by workflow execution and node execution. */
871
+ export interface WorkflowRuntimeContext {
872
+ /** Parent workflow execution entity. */
873
+ execution: WorkflowExecution;
874
+
875
+ /** Current step execution, when inside a node handler. */
876
+ stepExecution?: WorkflowStepExecution;
877
+
878
+ /** Current node definition, when inside a node handler. */
879
+ node?: WorkflowNodeDefinition;
880
+
881
+ /** Input values supplied when execution was requested. */
882
+ input: Record<string, any>;
883
+
884
+ /** Workflow variables from DSL plus request-time overrides. */
885
+ variables: Record<string, any>;
886
+
887
+ /** Decrypted global secrets available to workflow expressions. */
888
+ secrets?: Record<string, any>;
889
+
890
+ /** Outputs keyed by node id. */
891
+ outputs: Record<string, any>;
892
+
893
+ /** Internal counters used to generate stable execution/log ordering. */
894
+ counters?: {
895
+ /** Step counter. */
896
+ step: number;
897
+
898
+ /** Log counter. */
899
+ log: number;
900
+ };
901
+
902
+ /** Current item for itemized/iterative control nodes. */
903
+ item?: any;
904
+
905
+ /** Current item index for itemized/iterative control nodes. */
906
+ index?: number;
907
+
908
+ /** Parent control node id when executing nested child nodes. */
909
+ parentNodeId?: string;
910
+
911
+ /** Parent step execution key when executing nested child nodes. */
912
+ parentStepExecutionKey?: string;
913
+ }
914
+
915
+ /**
916
+ * Node-handler execution context.
917
+ *
918
+ * This extends runtime context with guaranteed current-node values, expression
919
+ * helpers, nested execution helpers, and emitters.
920
+ */
921
+ export interface WorkflowNodeExecutionContext extends WorkflowRuntimeContext {
922
+ /** Current node definition being executed. */
923
+ node: WorkflowNodeDefinition;
924
+
925
+ /** Current step execution entity. */
926
+ stepExecution: WorkflowStepExecution;
927
+
928
+ /** Expression helper bound to the current runtime context. */
929
+ expression: WorkflowExpressionResolver;
930
+
931
+ /** Execute child nodes with optional context overrides. Used by control nodes. */
932
+ runNodes(
933
+ nodes: WorkflowNodeDefinition[],
934
+ options?: Partial<WorkflowRuntimeContext>,
935
+ ): Promise<Record<string, any>>;
936
+
937
+ /** Emit a structured log entry for this node execution. */
938
+ emitLog(entry: WorkflowLogEmitRequest): Promise<void>;
939
+
940
+ /** Emit an artifact for this node execution. */
941
+ emitArtifact(entry: WorkflowArtifactEmitRequest): Promise<void>;
942
+ }
943
+
944
+ /** Request payload for starting a workflow execution. */
945
+ export interface WorkflowExecutionRequest {
946
+ /** Input values supplied by caller. */
947
+ input?: Record<string, any>;
948
+
949
+ /** Variable overrides supplied by caller. */
950
+ variables?: Record<string, any>;
951
+
952
+ /** Trigger source/type if execution was trigger-created. */
953
+ triggerType?: string;
954
+
955
+ /** User id responsible for the request, when available. */
956
+ requestedByUserId?: number;
957
+ }
958
+
959
+ /** API response describing a workflow execution. */
960
+ export interface WorkflowExecutionResponse {
961
+ /** Database id. */
962
+ id: number;
963
+
964
+ /** Public/stable execution identifier. */
965
+ executionIdentifier: string;
966
+
967
+ /** Workflow key that was executed. */
968
+ workflowKey: string;
969
+
970
+ /** Current or final execution status. */
971
+ status: WorkflowExecutionStatus;
972
+
973
+ /** Execution start timestamp. */
974
+ startedAt: Date;
975
+
976
+ /** Execution finish timestamp, if completed. */
977
+ finishedAt?: Date;
978
+
979
+ /** Execution duration in milliseconds, if completed. */
980
+ durationMs?: number;
981
+
982
+ /** Final workflow output payload. */
983
+ outputPayload?: any;
984
+
985
+ /** Human-readable failure summary, when failed. */
986
+ errorSummary?: string;
987
+ }