@open-mercato/core 0.4.2-canary-f821f89ef6 → 0.4.2-canary-3b5064ce72

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 (632) hide show
  1. package/dist/generated/entities/notification/index.js +57 -0
  2. package/dist/generated/entities/notification/index.js.map +7 -0
  3. package/dist/generated/entities.ids.generated.js +5 -2
  4. package/dist/generated/entities.ids.generated.js.map +2 -2
  5. package/dist/generated/entity-fields-registry.js +2 -2
  6. package/dist/generated/entity-fields-registry.js.map +2 -2
  7. package/dist/modules/api_docs/frontend/docs/api/page.js +3 -2
  8. package/dist/modules/api_docs/frontend/docs/api/page.js.map +2 -2
  9. package/dist/modules/api_keys/backend/api-keys/page.js +1 -1
  10. package/dist/modules/api_keys/backend/api-keys/page.js.map +2 -2
  11. package/dist/modules/attachments/components/AttachmentLibrary.js +4 -0
  12. package/dist/modules/attachments/components/AttachmentLibrary.js.map +2 -2
  13. package/dist/modules/attachments/components/AttachmentPartitionSettings.js +2 -0
  14. package/dist/modules/attachments/components/AttachmentPartitionSettings.js.map +2 -2
  15. package/dist/modules/auth/api/admin/nav.js +4 -3
  16. package/dist/modules/auth/api/admin/nav.js.map +2 -2
  17. package/dist/modules/auth/api/login.js +25 -6
  18. package/dist/modules/auth/api/login.js.map +2 -2
  19. package/dist/modules/auth/api/profile/route.js +157 -0
  20. package/dist/modules/auth/api/profile/route.js.map +7 -0
  21. package/dist/modules/auth/api/reset/confirm.js +25 -2
  22. package/dist/modules/auth/api/reset/confirm.js.map +2 -2
  23. package/dist/modules/auth/api/reset.js +23 -0
  24. package/dist/modules/auth/api/reset.js.map +2 -2
  25. package/dist/modules/auth/api/sidebar/preferences/route.js +14 -9
  26. package/dist/modules/auth/api/sidebar/preferences/route.js.map +2 -2
  27. package/dist/modules/auth/api/users/route.js +4 -2
  28. package/dist/modules/auth/api/users/route.js.map +2 -2
  29. package/dist/modules/auth/backend/auth/profile/page.js +141 -0
  30. package/dist/modules/auth/backend/auth/profile/page.js.map +7 -0
  31. package/dist/modules/auth/backend/auth/profile/page.meta.js +13 -0
  32. package/dist/modules/auth/backend/auth/profile/page.meta.js.map +7 -0
  33. package/dist/modules/auth/backend/roles/[id]/edit/page.js +4 -1
  34. package/dist/modules/auth/backend/roles/[id]/edit/page.js.map +2 -2
  35. package/dist/modules/auth/backend/roles/page.js +3 -3
  36. package/dist/modules/auth/backend/roles/page.js.map +2 -2
  37. package/dist/modules/auth/backend/users/[id]/edit/page.js +18 -3
  38. package/dist/modules/auth/backend/users/[id]/edit/page.js.map +2 -2
  39. package/dist/modules/auth/backend/users/create/page.js +15 -2
  40. package/dist/modules/auth/backend/users/create/page.js.map +2 -2
  41. package/dist/modules/auth/backend/users/page.js +3 -3
  42. package/dist/modules/auth/backend/users/page.js.map +2 -2
  43. package/dist/modules/auth/cli.js +25 -11
  44. package/dist/modules/auth/cli.js.map +2 -2
  45. package/dist/modules/auth/commands/users.js +59 -2
  46. package/dist/modules/auth/commands/users.js.map +2 -2
  47. package/dist/modules/auth/data/validators.js +6 -3
  48. package/dist/modules/auth/data/validators.js.map +2 -2
  49. package/dist/modules/auth/frontend/login.js +112 -3
  50. package/dist/modules/auth/frontend/login.js.map +2 -2
  51. package/dist/modules/auth/frontend/reset/[token]/page.js +20 -10
  52. package/dist/modules/auth/frontend/reset/[token]/page.js.map +2 -2
  53. package/dist/modules/auth/lib/setup-app.js +42 -8
  54. package/dist/modules/auth/lib/setup-app.js.map +2 -2
  55. package/dist/modules/auth/notifications.js +112 -0
  56. package/dist/modules/auth/notifications.js.map +7 -0
  57. package/dist/modules/auth/services/authService.js +24 -3
  58. package/dist/modules/auth/services/authService.js.map +2 -2
  59. package/dist/modules/business_rules/api/execute/route.js +7 -1
  60. package/dist/modules/business_rules/api/execute/route.js.map +2 -2
  61. package/dist/modules/business_rules/backend/rules/page.js +4 -0
  62. package/dist/modules/business_rules/backend/rules/page.js.map +2 -2
  63. package/dist/modules/business_rules/backend/sets/page.js +3 -0
  64. package/dist/modules/business_rules/backend/sets/page.js.map +2 -2
  65. package/dist/modules/business_rules/cli.js +2 -1
  66. package/dist/modules/business_rules/cli.js.map +2 -2
  67. package/dist/modules/business_rules/data/validators.js +0 -34
  68. package/dist/modules/business_rules/data/validators.js.map +2 -2
  69. package/dist/modules/business_rules/index.js +1 -21
  70. package/dist/modules/business_rules/index.js.map +2 -2
  71. package/dist/modules/business_rules/lib/rule-engine.js +34 -185
  72. package/dist/modules/business_rules/lib/rule-engine.js.map +2 -2
  73. package/dist/modules/business_rules/notifications.js +28 -0
  74. package/dist/modules/business_rules/notifications.js.map +7 -0
  75. package/dist/modules/business_rules/subscribers/rule-execution-failed-notification.js +37 -0
  76. package/dist/modules/business_rules/subscribers/rule-execution-failed-notification.js.map +7 -0
  77. package/dist/modules/catalog/components/PriceKindSettings.js +2 -0
  78. package/dist/modules/catalog/components/PriceKindSettings.js.map +2 -2
  79. package/dist/modules/catalog/components/categories/CategoriesDataTable.js +2 -2
  80. package/dist/modules/catalog/components/categories/CategoriesDataTable.js.map +2 -2
  81. package/dist/modules/catalog/components/products/ProductsDataTable.js +2 -0
  82. package/dist/modules/catalog/components/products/ProductsDataTable.js.map +2 -2
  83. package/dist/modules/catalog/notifications.js +28 -0
  84. package/dist/modules/catalog/notifications.js.map +7 -0
  85. package/dist/modules/catalog/subscribers/low-stock-notification.js +38 -0
  86. package/dist/modules/catalog/subscribers/low-stock-notification.js.map +7 -0
  87. package/dist/modules/configs/cli.js +6 -0
  88. package/dist/modules/configs/cli.js.map +2 -2
  89. package/dist/modules/configs/components/CachePanel.js +4 -4
  90. package/dist/modules/configs/components/CachePanel.js.map +2 -2
  91. package/dist/modules/configs/lib/system-status.js +48 -1
  92. package/dist/modules/configs/lib/system-status.js.map +2 -2
  93. package/dist/modules/configs/lib/upgrade-actions.js +18 -0
  94. package/dist/modules/configs/lib/upgrade-actions.js.map +2 -2
  95. package/dist/modules/currencies/backend/currencies/page.js +3 -0
  96. package/dist/modules/currencies/backend/currencies/page.js.map +2 -2
  97. package/dist/modules/currencies/backend/exchange-rates/page.js +2 -0
  98. package/dist/modules/currencies/backend/exchange-rates/page.js.map +2 -2
  99. package/dist/modules/customers/backend/customers/companies/page.js +3 -0
  100. package/dist/modules/customers/backend/customers/companies/page.js.map +2 -2
  101. package/dist/modules/customers/backend/customers/deals/page.js +3 -0
  102. package/dist/modules/customers/backend/customers/deals/page.js.map +2 -2
  103. package/dist/modules/customers/backend/customers/people/page.js +3 -0
  104. package/dist/modules/customers/backend/customers/people/page.js.map +2 -2
  105. package/dist/modules/customers/commands/deals.js +31 -0
  106. package/dist/modules/customers/commands/deals.js.map +2 -2
  107. package/dist/modules/customers/components/CustomerTodosTable.js +1 -0
  108. package/dist/modules/customers/components/CustomerTodosTable.js.map +2 -2
  109. package/dist/modules/customers/notifications.js +48 -0
  110. package/dist/modules/customers/notifications.js.map +7 -0
  111. package/dist/modules/customers/widgets/dashboard/customer-todos/widget.js +2 -1
  112. package/dist/modules/customers/widgets/dashboard/customer-todos/widget.js.map +2 -2
  113. package/dist/modules/customers/widgets/dashboard/new-customers/widget.js +2 -1
  114. package/dist/modules/customers/widgets/dashboard/new-customers/widget.js.map +2 -2
  115. package/dist/modules/customers/widgets/dashboard/new-deals/widget.js +2 -1
  116. package/dist/modules/customers/widgets/dashboard/new-deals/widget.js.map +2 -2
  117. package/dist/modules/customers/widgets/dashboard/next-interactions/widget.js +2 -1
  118. package/dist/modules/customers/widgets/dashboard/next-interactions/widget.js.map +2 -2
  119. package/dist/modules/dashboards/cli.js +44 -5
  120. package/dist/modules/dashboards/cli.js.map +2 -2
  121. package/dist/modules/dashboards/components/WidgetVisibilityEditor.js +16 -11
  122. package/dist/modules/dashboards/components/WidgetVisibilityEditor.js.map +3 -3
  123. package/dist/modules/dashboards/lib/role-widgets.js +58 -0
  124. package/dist/modules/dashboards/lib/role-widgets.js.map +7 -0
  125. package/dist/modules/dashboards/services/widgetDataService.js +139 -3
  126. package/dist/modules/dashboards/services/widgetDataService.js.map +2 -2
  127. package/dist/modules/dashboards/widgets/dashboard/aov-kpi/widget.js +2 -1
  128. package/dist/modules/dashboards/widgets/dashboard/aov-kpi/widget.js.map +2 -2
  129. package/dist/modules/dashboards/widgets/dashboard/new-customers-kpi/widget.js +2 -1
  130. package/dist/modules/dashboards/widgets/dashboard/new-customers-kpi/widget.js.map +2 -2
  131. package/dist/modules/dashboards/widgets/dashboard/orders-by-status/widget.js +2 -1
  132. package/dist/modules/dashboards/widgets/dashboard/orders-by-status/widget.js.map +2 -2
  133. package/dist/modules/dashboards/widgets/dashboard/orders-kpi/widget.js +2 -1
  134. package/dist/modules/dashboards/widgets/dashboard/orders-kpi/widget.js.map +2 -2
  135. package/dist/modules/dashboards/widgets/dashboard/pipeline-summary/widget.js +2 -1
  136. package/dist/modules/dashboards/widgets/dashboard/pipeline-summary/widget.js.map +2 -2
  137. package/dist/modules/dashboards/widgets/dashboard/revenue-kpi/widget.js +2 -1
  138. package/dist/modules/dashboards/widgets/dashboard/revenue-kpi/widget.js.map +2 -2
  139. package/dist/modules/dashboards/widgets/dashboard/revenue-trend/widget.js +2 -1
  140. package/dist/modules/dashboards/widgets/dashboard/revenue-trend/widget.js.map +2 -2
  141. package/dist/modules/dashboards/widgets/dashboard/sales-by-region/widget.js +2 -1
  142. package/dist/modules/dashboards/widgets/dashboard/sales-by-region/widget.js.map +2 -2
  143. package/dist/modules/dashboards/widgets/dashboard/top-customers/widget.js +2 -1
  144. package/dist/modules/dashboards/widgets/dashboard/top-customers/widget.js.map +2 -2
  145. package/dist/modules/dashboards/widgets/dashboard/top-products/widget.js +2 -1
  146. package/dist/modules/dashboards/widgets/dashboard/top-products/widget.js.map +2 -2
  147. package/dist/modules/dictionaries/components/DictionaryTable.js +2 -0
  148. package/dist/modules/dictionaries/components/DictionaryTable.js.map +2 -2
  149. package/dist/modules/directory/api/get/tenants/lookup.js +70 -0
  150. package/dist/modules/directory/api/get/tenants/lookup.js.map +7 -0
  151. package/dist/modules/directory/backend/directory/organizations/page.js +2 -2
  152. package/dist/modules/directory/backend/directory/organizations/page.js.map +2 -2
  153. package/dist/modules/directory/backend/directory/tenants/page.js +2 -2
  154. package/dist/modules/directory/backend/directory/tenants/page.js.map +2 -2
  155. package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js +2 -2
  156. package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js.map +2 -2
  157. package/dist/modules/entities/components/SystemEntitiesTable.js +1 -1
  158. package/dist/modules/entities/components/SystemEntitiesTable.js.map +2 -2
  159. package/dist/modules/entities/components/UserEntitiesTable.js +2 -2
  160. package/dist/modules/entities/components/UserEntitiesTable.js.map +2 -2
  161. package/dist/modules/feature_toggles/components/FeatureTogglesTable.js +3 -3
  162. package/dist/modules/feature_toggles/components/FeatureTogglesTable.js.map +2 -2
  163. package/dist/modules/feature_toggles/components/OverridesTable.js +1 -1
  164. package/dist/modules/feature_toggles/components/OverridesTable.js.map +2 -2
  165. package/dist/modules/notifications/acl.js +11 -0
  166. package/dist/modules/notifications/acl.js.map +7 -0
  167. package/dist/modules/notifications/api/[id]/action/route.js +74 -0
  168. package/dist/modules/notifications/api/[id]/action/route.js.map +7 -0
  169. package/dist/modules/notifications/api/[id]/dismiss/route.js +15 -0
  170. package/dist/modules/notifications/api/[id]/dismiss/route.js.map +7 -0
  171. package/dist/modules/notifications/api/[id]/read/route.js +15 -0
  172. package/dist/modules/notifications/api/[id]/read/route.js.map +7 -0
  173. package/dist/modules/notifications/api/[id]/restore/route.js +53 -0
  174. package/dist/modules/notifications/api/[id]/restore/route.js.map +7 -0
  175. package/dist/modules/notifications/api/batch/route.js +17 -0
  176. package/dist/modules/notifications/api/batch/route.js.map +7 -0
  177. package/dist/modules/notifications/api/feature/route.js +17 -0
  178. package/dist/modules/notifications/api/feature/route.js.map +7 -0
  179. package/dist/modules/notifications/api/mark-all-read/route.js +35 -0
  180. package/dist/modules/notifications/api/mark-all-read/route.js.map +7 -0
  181. package/dist/modules/notifications/api/openapi.js +76 -0
  182. package/dist/modules/notifications/api/openapi.js.map +7 -0
  183. package/dist/modules/notifications/api/role/route.js +17 -0
  184. package/dist/modules/notifications/api/role/route.js.map +7 -0
  185. package/dist/modules/notifications/api/route.js +85 -0
  186. package/dist/modules/notifications/api/route.js.map +7 -0
  187. package/dist/modules/notifications/api/settings/route.js +155 -0
  188. package/dist/modules/notifications/api/settings/route.js.map +7 -0
  189. package/dist/modules/notifications/api/unread-count/route.js +38 -0
  190. package/dist/modules/notifications/api/unread-count/route.js.map +7 -0
  191. package/dist/modules/notifications/backend/config/notifications/page.js +10 -0
  192. package/dist/modules/notifications/backend/config/notifications/page.js.map +7 -0
  193. package/dist/modules/notifications/backend/config/notifications/page.meta.js +24 -0
  194. package/dist/modules/notifications/backend/config/notifications/page.meta.js.map +7 -0
  195. package/dist/modules/notifications/cli.js +16 -0
  196. package/dist/modules/notifications/cli.js.map +7 -0
  197. package/dist/modules/notifications/data/entities.js +112 -0
  198. package/dist/modules/notifications/data/entities.js.map +7 -0
  199. package/dist/modules/notifications/data/validators.js +98 -0
  200. package/dist/modules/notifications/data/validators.js.map +7 -0
  201. package/dist/modules/notifications/di.js +13 -0
  202. package/dist/modules/notifications/di.js.map +7 -0
  203. package/dist/modules/notifications/emails/NotificationEmail.js +58 -0
  204. package/dist/modules/notifications/emails/NotificationEmail.js.map +7 -0
  205. package/dist/modules/notifications/frontend/NotificationInboxPageClient.js +44 -0
  206. package/dist/modules/notifications/frontend/NotificationInboxPageClient.js.map +7 -0
  207. package/dist/modules/notifications/frontend/NotificationSettingsPageClient.js +220 -0
  208. package/dist/modules/notifications/frontend/NotificationSettingsPageClient.js.map +7 -0
  209. package/dist/modules/notifications/index.js +14 -0
  210. package/dist/modules/notifications/index.js.map +7 -0
  211. package/dist/modules/notifications/lib/deliveryConfig.js +107 -0
  212. package/dist/modules/notifications/lib/deliveryConfig.js.map +7 -0
  213. package/dist/modules/notifications/lib/deliveryStrategies.js +14 -0
  214. package/dist/modules/notifications/lib/deliveryStrategies.js.map +7 -0
  215. package/dist/modules/notifications/lib/events.js +12 -0
  216. package/dist/modules/notifications/lib/events.js.map +7 -0
  217. package/dist/modules/notifications/lib/notificationBuilder.js +66 -0
  218. package/dist/modules/notifications/lib/notificationBuilder.js.map +7 -0
  219. package/dist/modules/notifications/lib/notificationFactory.js +54 -0
  220. package/dist/modules/notifications/lib/notificationFactory.js.map +7 -0
  221. package/dist/modules/notifications/lib/notificationMapper.js +34 -0
  222. package/dist/modules/notifications/lib/notificationMapper.js.map +7 -0
  223. package/dist/modules/notifications/lib/notificationRecipients.js +35 -0
  224. package/dist/modules/notifications/lib/notificationRecipients.js.map +7 -0
  225. package/dist/modules/notifications/lib/notificationService.js +279 -0
  226. package/dist/modules/notifications/lib/notificationService.js.map +7 -0
  227. package/dist/modules/notifications/lib/routeHelpers.js +101 -0
  228. package/dist/modules/notifications/lib/routeHelpers.js.map +7 -0
  229. package/dist/modules/notifications/lib/safeHref.js +24 -0
  230. package/dist/modules/notifications/lib/safeHref.js.map +7 -0
  231. package/dist/modules/notifications/migrations/Migration20260123000001.js +70 -0
  232. package/dist/modules/notifications/migrations/Migration20260123000001.js.map +7 -0
  233. package/dist/modules/notifications/migrations/Migration20260126150000.js +37 -0
  234. package/dist/modules/notifications/migrations/Migration20260126150000.js.map +7 -0
  235. package/dist/modules/notifications/migrations/Migration20260129082610.js +13 -0
  236. package/dist/modules/notifications/migrations/Migration20260129082610.js.map +7 -0
  237. package/dist/modules/notifications/subscribers/deliver-notification.js +165 -0
  238. package/dist/modules/notifications/subscribers/deliver-notification.js.map +7 -0
  239. package/dist/modules/notifications/workers/create-notification.worker.js +70 -0
  240. package/dist/modules/notifications/workers/create-notification.worker.js.map +7 -0
  241. package/dist/modules/planner/backend/planner/availability-rulesets/page.js +2 -2
  242. package/dist/modules/planner/backend/planner/availability-rulesets/page.js.map +2 -2
  243. package/dist/modules/query_index/cli.js +63 -7
  244. package/dist/modules/query_index/cli.js.map +2 -2
  245. package/dist/modules/query_index/components/QueryIndexesTable.js +7 -1
  246. package/dist/modules/query_index/components/QueryIndexesTable.js.map +2 -2
  247. package/dist/modules/resources/backend/resources/resource-types/page.js +2 -2
  248. package/dist/modules/resources/backend/resources/resource-types/page.js.map +2 -2
  249. package/dist/modules/resources/backend/resources/resources/page.js +2 -2
  250. package/dist/modules/resources/backend/resources/resources/page.js.map +2 -2
  251. package/dist/modules/sales/acl.js +0 -1
  252. package/dist/modules/sales/acl.js.map +2 -2
  253. package/dist/modules/sales/backend/sales/channels/offers/page.js +2 -0
  254. package/dist/modules/sales/backend/sales/channels/offers/page.js.map +2 -2
  255. package/dist/modules/sales/backend/sales/channels/page.js +2 -0
  256. package/dist/modules/sales/backend/sales/channels/page.js.map +2 -2
  257. package/dist/modules/sales/backend/sales/documents/[id]/page.js +0 -12
  258. package/dist/modules/sales/backend/sales/documents/[id]/page.js.map +2 -2
  259. package/dist/modules/sales/commands/documents.js +53 -62
  260. package/dist/modules/sales/commands/documents.js.map +2 -2
  261. package/dist/modules/sales/commands/payments.js +26 -0
  262. package/dist/modules/sales/commands/payments.js.map +2 -2
  263. package/dist/modules/sales/components/AdjustmentKindSettings.js +2 -2
  264. package/dist/modules/sales/components/AdjustmentKindSettings.js.map +2 -2
  265. package/dist/modules/sales/components/PaymentMethodsSettings.js +2 -2
  266. package/dist/modules/sales/components/PaymentMethodsSettings.js.map +2 -2
  267. package/dist/modules/sales/components/ShippingMethodsSettings.js +2 -2
  268. package/dist/modules/sales/components/ShippingMethodsSettings.js.map +2 -2
  269. package/dist/modules/sales/components/TaxRatesSettings.js +2 -2
  270. package/dist/modules/sales/components/TaxRatesSettings.js.map +2 -2
  271. package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js +2 -0
  272. package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js.map +2 -2
  273. package/dist/modules/sales/components/documents/AdjustmentsSection.js +2 -0
  274. package/dist/modules/sales/components/documents/AdjustmentsSection.js.map +2 -2
  275. package/dist/modules/sales/components/documents/PaymentsSection.js +2 -1
  276. package/dist/modules/sales/components/documents/PaymentsSection.js.map +2 -2
  277. package/dist/modules/sales/components/documents/SalesDocumentsTable.js +2 -0
  278. package/dist/modules/sales/components/documents/SalesDocumentsTable.js.map +2 -2
  279. package/dist/modules/sales/lib/dictionaries.js +0 -3
  280. package/dist/modules/sales/lib/dictionaries.js.map +2 -2
  281. package/dist/modules/sales/notifications.client.js +51 -0
  282. package/dist/modules/sales/notifications.client.js.map +7 -0
  283. package/dist/modules/sales/notifications.js +88 -0
  284. package/dist/modules/sales/notifications.js.map +7 -0
  285. package/dist/modules/sales/subscribers/quote-expiring-notification.js +38 -0
  286. package/dist/modules/sales/subscribers/quote-expiring-notification.js.map +7 -0
  287. package/dist/modules/sales/widgets/notifications/SalesOrderCreatedRenderer.js +137 -0
  288. package/dist/modules/sales/widgets/notifications/SalesOrderCreatedRenderer.js.map +7 -0
  289. package/dist/modules/sales/widgets/notifications/SalesQuoteCreatedRenderer.js +137 -0
  290. package/dist/modules/sales/widgets/notifications/SalesQuoteCreatedRenderer.js.map +7 -0
  291. package/dist/modules/sales/widgets/notifications/index.js +7 -0
  292. package/dist/modules/sales/widgets/notifications/index.js.map +7 -0
  293. package/dist/modules/sales/widgets/notifications/useSalesDocumentTotals.js +60 -0
  294. package/dist/modules/sales/widgets/notifications/useSalesDocumentTotals.js.map +7 -0
  295. package/dist/modules/staff/backend/staff/team-members/page.js +1 -1
  296. package/dist/modules/staff/backend/staff/team-members/page.js.map +2 -2
  297. package/dist/modules/staff/backend/staff/team-roles/page.js +2 -2
  298. package/dist/modules/staff/backend/staff/team-roles/page.js.map +2 -2
  299. package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js +2 -2
  300. package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js.map +2 -2
  301. package/dist/modules/staff/backend/staff/teams/page.js +2 -2
  302. package/dist/modules/staff/backend/staff/teams/page.js.map +2 -2
  303. package/dist/modules/staff/commands/leave-requests.js +79 -0
  304. package/dist/modules/staff/commands/leave-requests.js.map +2 -2
  305. package/dist/modules/staff/notifications.js +75 -0
  306. package/dist/modules/staff/notifications.js.map +7 -0
  307. package/dist/modules/workflows/acl.js +0 -2
  308. package/dist/modules/workflows/acl.js.map +2 -2
  309. package/dist/modules/workflows/api/instances/route.js +6 -18
  310. package/dist/modules/workflows/api/instances/route.js.map +2 -2
  311. package/dist/modules/workflows/api/tasks/route.js +1 -6
  312. package/dist/modules/workflows/api/tasks/route.js.map +2 -2
  313. package/dist/modules/workflows/backend/definitions/[id]/page.js +1 -9
  314. package/dist/modules/workflows/backend/definitions/[id]/page.js.map +2 -2
  315. package/dist/modules/workflows/backend/definitions/[id]/page.meta.js +1 -1
  316. package/dist/modules/workflows/backend/definitions/[id]/page.meta.js.map +2 -2
  317. package/dist/modules/workflows/backend/definitions/create/page.js +15 -24
  318. package/dist/modules/workflows/backend/definitions/create/page.js.map +2 -2
  319. package/dist/modules/workflows/backend/definitions/create/page.meta.js +1 -1
  320. package/dist/modules/workflows/backend/definitions/create/page.meta.js.map +2 -2
  321. package/dist/modules/workflows/backend/definitions/page.js +5 -0
  322. package/dist/modules/workflows/backend/definitions/page.js.map +2 -2
  323. package/dist/modules/workflows/backend/definitions/visual-editor/page.js +132 -150
  324. package/dist/modules/workflows/backend/definitions/visual-editor/page.js.map +2 -2
  325. package/dist/modules/workflows/backend/definitions/visual-editor/page.meta.js +1 -1
  326. package/dist/modules/workflows/backend/definitions/visual-editor/page.meta.js.map +2 -2
  327. package/dist/modules/workflows/backend/events/[id]/page.js +1 -1
  328. package/dist/modules/workflows/backend/events/[id]/page.js.map +2 -2
  329. package/dist/modules/workflows/backend/events/[id]/page.meta.js +2 -2
  330. package/dist/modules/workflows/backend/events/[id]/page.meta.js.map +2 -2
  331. package/dist/modules/workflows/backend/instances/[id]/page.meta.js +2 -2
  332. package/dist/modules/workflows/backend/instances/[id]/page.meta.js.map +2 -2
  333. package/dist/modules/workflows/backend/instances/page.js +3 -0
  334. package/dist/modules/workflows/backend/instances/page.js.map +2 -2
  335. package/dist/modules/workflows/backend/tasks/[id]/page.js +1 -1
  336. package/dist/modules/workflows/backend/tasks/[id]/page.js.map +2 -2
  337. package/dist/modules/workflows/backend/tasks/[id]/page.meta.js +2 -2
  338. package/dist/modules/workflows/backend/tasks/[id]/page.meta.js.map +2 -2
  339. package/dist/modules/workflows/backend/tasks/page.js +9 -5
  340. package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
  341. package/dist/modules/workflows/cli.js +15 -93
  342. package/dist/modules/workflows/cli.js.map +3 -3
  343. package/dist/modules/workflows/data/entities.js +1 -64
  344. package/dist/modules/workflows/data/entities.js.map +2 -2
  345. package/dist/modules/workflows/data/validators.js +0 -115
  346. package/dist/modules/workflows/data/validators.js.map +2 -2
  347. package/dist/modules/workflows/examples/checkout-demo-definition.json +5 -1
  348. package/dist/modules/workflows/lib/activity-executor.js +13 -75
  349. package/dist/modules/workflows/lib/activity-executor.js.map +2 -2
  350. package/dist/modules/workflows/lib/graph-utils.js +2 -71
  351. package/dist/modules/workflows/lib/graph-utils.js.map +2 -2
  352. package/dist/modules/workflows/lib/seeds.js +5 -22
  353. package/dist/modules/workflows/lib/seeds.js.map +2 -2
  354. package/dist/modules/workflows/lib/start-validator.js +23 -33
  355. package/dist/modules/workflows/lib/start-validator.js.map +2 -2
  356. package/dist/modules/workflows/lib/transition-handler.js +57 -161
  357. package/dist/modules/workflows/lib/transition-handler.js.map +3 -3
  358. package/dist/modules/workflows/notifications.js +28 -0
  359. package/dist/modules/workflows/notifications.js.map +7 -0
  360. package/dist/modules/workflows/subscribers/task-assigned-notification.js +38 -0
  361. package/dist/modules/workflows/subscribers/task-assigned-notification.js.map +7 -0
  362. package/generated/entities/notification/index.ts +27 -0
  363. package/generated/entities.ids.generated.ts +5 -2
  364. package/generated/entity-fields-registry.ts +2 -2
  365. package/package.json +2 -2
  366. package/src/modules/api_docs/frontend/docs/api/page.tsx +3 -2
  367. package/src/modules/api_keys/backend/api-keys/page.tsx +1 -1
  368. package/src/modules/attachments/components/AttachmentLibrary.tsx +4 -0
  369. package/src/modules/attachments/components/AttachmentPartitionSettings.tsx +2 -0
  370. package/src/modules/auth/README.md +1 -1
  371. package/src/modules/auth/__tests__/cli-setup-acl.test.ts +1 -1
  372. package/src/modules/auth/api/__tests__/login.test.ts +2 -0
  373. package/src/modules/auth/api/admin/nav.ts +10 -6
  374. package/src/modules/auth/api/login.ts +26 -7
  375. package/src/modules/auth/api/profile/route.ts +163 -0
  376. package/src/modules/auth/api/reset/confirm.ts +25 -2
  377. package/src/modules/auth/api/reset.ts +23 -0
  378. package/src/modules/auth/api/sidebar/preferences/route.ts +21 -12
  379. package/src/modules/auth/api/users/route.ts +5 -2
  380. package/src/modules/auth/backend/auth/profile/page.meta.ts +9 -0
  381. package/src/modules/auth/backend/auth/profile/page.tsx +174 -0
  382. package/src/modules/auth/backend/roles/[id]/edit/page.tsx +4 -1
  383. package/src/modules/auth/backend/roles/page.tsx +3 -3
  384. package/src/modules/auth/backend/users/[id]/edit/page.tsx +22 -3
  385. package/src/modules/auth/backend/users/create/page.tsx +19 -2
  386. package/src/modules/auth/backend/users/page.tsx +3 -3
  387. package/src/modules/auth/cli.ts +38 -11
  388. package/src/modules/auth/commands/users.ts +73 -2
  389. package/src/modules/auth/data/validators.ts +6 -2
  390. package/src/modules/auth/frontend/login.tsx +134 -5
  391. package/src/modules/auth/frontend/reset/[token]/page.tsx +24 -11
  392. package/src/modules/auth/i18n/de.json +48 -1
  393. package/src/modules/auth/i18n/en.json +48 -1
  394. package/src/modules/auth/i18n/es.json +48 -1
  395. package/src/modules/auth/i18n/pl.json +48 -1
  396. package/src/modules/auth/lib/setup-app.ts +58 -9
  397. package/src/modules/auth/notifications.ts +109 -0
  398. package/src/modules/auth/services/authService.ts +27 -4
  399. package/src/modules/business_rules/api/execute/route.ts +8 -1
  400. package/src/modules/business_rules/backend/rules/page.tsx +4 -0
  401. package/src/modules/business_rules/backend/sets/page.tsx +3 -0
  402. package/src/modules/business_rules/cli.ts +2 -1
  403. package/src/modules/business_rules/data/validators.ts +0 -40
  404. package/src/modules/business_rules/i18n/en.json +3 -1
  405. package/src/modules/business_rules/index.ts +0 -25
  406. package/src/modules/business_rules/lib/__tests__/rule-engine.test.ts +51 -0
  407. package/src/modules/business_rules/lib/rule-engine.ts +51 -277
  408. package/src/modules/business_rules/notifications.ts +25 -0
  409. package/src/modules/business_rules/subscribers/rule-execution-failed-notification.ts +50 -0
  410. package/src/modules/catalog/components/PriceKindSettings.tsx +2 -0
  411. package/src/modules/catalog/components/categories/CategoriesDataTable.tsx +2 -2
  412. package/src/modules/catalog/components/products/ProductsDataTable.tsx +2 -0
  413. package/src/modules/catalog/i18n/en.json +3 -1
  414. package/src/modules/catalog/notifications.ts +25 -0
  415. package/src/modules/catalog/subscribers/low-stock-notification.ts +52 -0
  416. package/src/modules/configs/cli.ts +6 -0
  417. package/src/modules/configs/components/CachePanel.tsx +4 -4
  418. package/src/modules/configs/i18n/en.json +12 -2
  419. package/src/modules/configs/i18n/pl.json +12 -2
  420. package/src/modules/configs/lib/system-status.ts +48 -1
  421. package/src/modules/configs/lib/system-status.types.ts +1 -0
  422. package/src/modules/configs/lib/upgrade-actions.ts +18 -0
  423. package/src/modules/currencies/backend/currencies/page.tsx +3 -0
  424. package/src/modules/currencies/backend/exchange-rates/page.tsx +2 -0
  425. package/src/modules/customers/backend/customers/companies/page.tsx +3 -0
  426. package/src/modules/customers/backend/customers/deals/page.tsx +3 -0
  427. package/src/modules/customers/backend/customers/people/page.tsx +3 -0
  428. package/src/modules/customers/commands/deals.ts +39 -0
  429. package/src/modules/customers/components/CustomerTodosTable.tsx +1 -0
  430. package/src/modules/customers/i18n/en.json +5 -1
  431. package/src/modules/customers/notifications.ts +44 -0
  432. package/src/modules/customers/widgets/dashboard/customer-todos/widget.ts +2 -2
  433. package/src/modules/customers/widgets/dashboard/new-customers/widget.ts +2 -2
  434. package/src/modules/customers/widgets/dashboard/new-deals/widget.ts +2 -2
  435. package/src/modules/customers/widgets/dashboard/next-interactions/widget.ts +2 -2
  436. package/src/modules/dashboards/cli.ts +55 -5
  437. package/src/modules/dashboards/components/WidgetVisibilityEditor.tsx +22 -11
  438. package/src/modules/dashboards/lib/role-widgets.ts +80 -0
  439. package/src/modules/dashboards/services/widgetDataService.ts +164 -4
  440. package/src/modules/dashboards/widgets/dashboard/aov-kpi/widget.ts +2 -2
  441. package/src/modules/dashboards/widgets/dashboard/new-customers-kpi/widget.ts +2 -2
  442. package/src/modules/dashboards/widgets/dashboard/orders-by-status/widget.ts +2 -2
  443. package/src/modules/dashboards/widgets/dashboard/orders-kpi/widget.ts +2 -2
  444. package/src/modules/dashboards/widgets/dashboard/pipeline-summary/widget.ts +2 -2
  445. package/src/modules/dashboards/widgets/dashboard/revenue-kpi/widget.ts +2 -2
  446. package/src/modules/dashboards/widgets/dashboard/revenue-trend/widget.ts +2 -2
  447. package/src/modules/dashboards/widgets/dashboard/sales-by-region/widget.ts +2 -2
  448. package/src/modules/dashboards/widgets/dashboard/top-customers/widget.ts +2 -2
  449. package/src/modules/dashboards/widgets/dashboard/top-products/widget.ts +2 -2
  450. package/src/modules/dictionaries/components/DictionaryTable.tsx +2 -0
  451. package/src/modules/directory/api/get/tenants/lookup.ts +75 -0
  452. package/src/modules/directory/backend/directory/organizations/page.tsx +2 -2
  453. package/src/modules/directory/backend/directory/tenants/page.tsx +2 -2
  454. package/src/modules/entities/backend/entities/user/[entityId]/records/page.tsx +2 -2
  455. package/src/modules/entities/components/SystemEntitiesTable.tsx +1 -1
  456. package/src/modules/entities/components/UserEntitiesTable.tsx +2 -2
  457. package/src/modules/feature_toggles/components/FeatureTogglesTable.tsx +3 -4
  458. package/src/modules/feature_toggles/components/OverridesTable.tsx +1 -1
  459. package/src/modules/notifications/__tests__/deliver-notification.test.ts +195 -0
  460. package/src/modules/notifications/__tests__/deliveryStrategies.test.ts +19 -0
  461. package/src/modules/notifications/__tests__/notificationService.test.ts +208 -0
  462. package/src/modules/notifications/acl.ts +7 -0
  463. package/src/modules/notifications/api/[id]/action/route.ts +75 -0
  464. package/src/modules/notifications/api/[id]/dismiss/route.ts +12 -0
  465. package/src/modules/notifications/api/[id]/read/route.ts +12 -0
  466. package/src/modules/notifications/api/[id]/restore/route.ts +53 -0
  467. package/src/modules/notifications/api/batch/route.ts +14 -0
  468. package/src/modules/notifications/api/feature/route.ts +14 -0
  469. package/src/modules/notifications/api/mark-all-read/route.ts +34 -0
  470. package/src/modules/notifications/api/openapi.ts +76 -0
  471. package/src/modules/notifications/api/role/route.ts +14 -0
  472. package/src/modules/notifications/api/route.ts +92 -0
  473. package/src/modules/notifications/api/settings/route.ts +157 -0
  474. package/src/modules/notifications/api/unread-count/route.ts +38 -0
  475. package/src/modules/notifications/backend/config/notifications/page.meta.ts +22 -0
  476. package/src/modules/notifications/backend/config/notifications/page.tsx +12 -0
  477. package/src/modules/notifications/cli.ts +18 -0
  478. package/src/modules/notifications/data/entities.ts +99 -0
  479. package/src/modules/notifications/data/validators.ts +115 -0
  480. package/src/modules/notifications/di.ts +11 -0
  481. package/src/modules/notifications/emails/NotificationEmail.tsx +98 -0
  482. package/src/modules/notifications/frontend/NotificationInboxPageClient.tsx +42 -0
  483. package/src/modules/notifications/frontend/NotificationSettingsPageClient.tsx +233 -0
  484. package/src/modules/notifications/i18n/de.json +50 -0
  485. package/src/modules/notifications/i18n/en.json +50 -0
  486. package/src/modules/notifications/i18n/es.json +50 -0
  487. package/src/modules/notifications/i18n/pl.json +50 -0
  488. package/src/modules/notifications/index.ts +12 -0
  489. package/src/modules/notifications/lib/deliveryConfig.ts +153 -0
  490. package/src/modules/notifications/lib/deliveryStrategies.ts +50 -0
  491. package/src/modules/notifications/lib/events.ts +48 -0
  492. package/src/modules/notifications/lib/notificationBuilder.ts +121 -0
  493. package/src/modules/notifications/lib/notificationFactory.ts +76 -0
  494. package/src/modules/notifications/lib/notificationMapper.ts +33 -0
  495. package/src/modules/notifications/lib/notificationRecipients.ts +83 -0
  496. package/src/modules/notifications/lib/notificationService.ts +414 -0
  497. package/src/modules/notifications/lib/routeHelpers.ts +151 -0
  498. package/src/modules/notifications/lib/safeHref.ts +29 -0
  499. package/src/modules/notifications/migrations/.snapshot-open-mercato.json +336 -0
  500. package/src/modules/notifications/migrations/Migration20260123000001.ts +73 -0
  501. package/src/modules/notifications/migrations/Migration20260126150000.ts +39 -0
  502. package/src/modules/notifications/migrations/Migration20260129082610.ts +13 -0
  503. package/src/modules/notifications/subscribers/deliver-notification.ts +204 -0
  504. package/src/modules/notifications/workers/create-notification.worker.ts +122 -0
  505. package/src/modules/planner/backend/planner/availability-rulesets/page.tsx +2 -2
  506. package/src/modules/query_index/cli.ts +82 -13
  507. package/src/modules/query_index/components/QueryIndexesTable.tsx +8 -2
  508. package/src/modules/resources/backend/resources/resource-types/page.tsx +2 -2
  509. package/src/modules/resources/backend/resources/resources/page.tsx +2 -2
  510. package/src/modules/sales/acl.ts +0 -1
  511. package/src/modules/sales/backend/sales/channels/offers/page.tsx +2 -0
  512. package/src/modules/sales/backend/sales/channels/page.tsx +2 -0
  513. package/src/modules/sales/backend/sales/documents/[id]/page.tsx +0 -16
  514. package/src/modules/sales/commands/documents.ts +62 -70
  515. package/src/modules/sales/commands/payments.ts +33 -0
  516. package/src/modules/sales/components/AdjustmentKindSettings.tsx +2 -2
  517. package/src/modules/sales/components/PaymentMethodsSettings.tsx +2 -2
  518. package/src/modules/sales/components/ShippingMethodsSettings.tsx +2 -2
  519. package/src/modules/sales/components/TaxRatesSettings.tsx +2 -2
  520. package/src/modules/sales/components/channels/SalesChannelOffersPanel.tsx +2 -0
  521. package/src/modules/sales/components/documents/AdjustmentsSection.tsx +2 -0
  522. package/src/modules/sales/components/documents/PaymentsSection.tsx +2 -1
  523. package/src/modules/sales/components/documents/SalesDocumentsTable.tsx +2 -0
  524. package/src/modules/sales/i18n/de.json +20 -0
  525. package/src/modules/sales/i18n/en.json +25 -1
  526. package/src/modules/sales/i18n/es.json +20 -0
  527. package/src/modules/sales/i18n/pl.json +20 -0
  528. package/src/modules/sales/lib/dictionaries.ts +0 -3
  529. package/src/modules/sales/notifications.client.ts +65 -0
  530. package/src/modules/sales/notifications.ts +82 -0
  531. package/src/modules/sales/subscribers/quote-expiring-notification.ts +53 -0
  532. package/src/modules/sales/widgets/notifications/SalesOrderCreatedRenderer.tsx +156 -0
  533. package/src/modules/sales/widgets/notifications/SalesQuoteCreatedRenderer.tsx +156 -0
  534. package/src/modules/sales/widgets/notifications/index.ts +2 -0
  535. package/src/modules/sales/widgets/notifications/useSalesDocumentTotals.ts +81 -0
  536. package/src/modules/staff/backend/staff/team-members/page.tsx +1 -1
  537. package/src/modules/staff/backend/staff/team-roles/page.tsx +2 -2
  538. package/src/modules/staff/backend/staff/teams/[id]/edit/page.tsx +2 -2
  539. package/src/modules/staff/backend/staff/teams/page.tsx +2 -2
  540. package/src/modules/staff/commands/leave-requests.ts +94 -0
  541. package/src/modules/staff/i18n/de.json +4 -0
  542. package/src/modules/staff/i18n/en.json +9 -1
  543. package/src/modules/staff/i18n/es.json +4 -0
  544. package/src/modules/staff/i18n/pl.json +4 -0
  545. package/src/modules/staff/notifications.ts +71 -0
  546. package/src/modules/workflows/acl.ts +0 -2
  547. package/src/modules/workflows/api/__tests__/instances.route.test.ts +2 -5
  548. package/src/modules/workflows/api/instances/route.ts +7 -21
  549. package/src/modules/workflows/api/tasks/route.ts +1 -7
  550. package/src/modules/workflows/backend/definitions/[id]/page.meta.ts +1 -1
  551. package/src/modules/workflows/backend/definitions/[id]/page.tsx +0 -9
  552. package/src/modules/workflows/backend/definitions/create/page.meta.ts +1 -1
  553. package/src/modules/workflows/backend/definitions/create/page.tsx +0 -9
  554. package/src/modules/workflows/backend/definitions/page.tsx +5 -0
  555. package/src/modules/workflows/backend/definitions/visual-editor/page.meta.ts +1 -1
  556. package/src/modules/workflows/backend/definitions/visual-editor/page.tsx +3 -21
  557. package/src/modules/workflows/backend/events/[id]/page.meta.ts +2 -2
  558. package/src/modules/workflows/backend/events/[id]/page.tsx +1 -1
  559. package/src/modules/workflows/backend/instances/[id]/page.meta.ts +2 -2
  560. package/src/modules/workflows/backend/instances/page.tsx +4 -1
  561. package/src/modules/workflows/backend/tasks/[id]/page.meta.ts +2 -2
  562. package/src/modules/workflows/backend/tasks/[id]/page.tsx +1 -1
  563. package/src/modules/workflows/backend/tasks/page.tsx +10 -6
  564. package/src/modules/workflows/cli.ts +12 -123
  565. package/src/modules/workflows/data/entities.ts +0 -124
  566. package/src/modules/workflows/data/validators.ts +0 -138
  567. package/src/modules/workflows/examples/checkout-demo-definition.json +5 -1
  568. package/src/modules/workflows/i18n/en.json +3 -72
  569. package/src/modules/workflows/lib/__tests__/activity-executor.test.ts +36 -43
  570. package/src/modules/workflows/lib/__tests__/transition-handler.test.ts +90 -170
  571. package/src/modules/workflows/lib/activity-executor.ts +16 -129
  572. package/src/modules/workflows/lib/graph-utils.ts +2 -117
  573. package/src/modules/workflows/lib/seeds.ts +8 -34
  574. package/src/modules/workflows/lib/start-validator.ts +28 -38
  575. package/src/modules/workflows/lib/transition-handler.ts +71 -212
  576. package/src/modules/workflows/notifications.ts +25 -0
  577. package/src/modules/workflows/subscribers/task-assigned-notification.ts +53 -0
  578. package/dist/generated/entities/workflow_event_trigger/index.js +0 -33
  579. package/dist/generated/entities/workflow_event_trigger/index.js.map +0 -7
  580. package/dist/modules/auth/events.js +0 -30
  581. package/dist/modules/auth/events.js.map +0 -7
  582. package/dist/modules/business_rules/api/execute/[ruleId]/route.js +0 -145
  583. package/dist/modules/business_rules/api/execute/[ruleId]/route.js.map +0 -7
  584. package/dist/modules/catalog/events.js +0 -34
  585. package/dist/modules/catalog/events.js.map +0 -7
  586. package/dist/modules/customers/events.js +0 -49
  587. package/dist/modules/customers/events.js.map +0 -7
  588. package/dist/modules/directory/events.js +0 -23
  589. package/dist/modules/directory/events.js.map +0 -7
  590. package/dist/modules/sales/events.js +0 -63
  591. package/dist/modules/sales/events.js.map +0 -7
  592. package/dist/modules/sales/lib/frontend/documentDataEvents.js +0 -25
  593. package/dist/modules/sales/lib/frontend/documentDataEvents.js.map +0 -7
  594. package/dist/modules/workflows/components/DefinitionTriggersEditor.js +0 -481
  595. package/dist/modules/workflows/components/DefinitionTriggersEditor.js.map +0 -7
  596. package/dist/modules/workflows/components/EventTriggersEditor.js +0 -553
  597. package/dist/modules/workflows/components/EventTriggersEditor.js.map +0 -7
  598. package/dist/modules/workflows/events.js +0 -38
  599. package/dist/modules/workflows/events.js.map +0 -7
  600. package/dist/modules/workflows/examples/order-approval-definition.json +0 -257
  601. package/dist/modules/workflows/examples/order-approval-guard-rules.json +0 -32
  602. package/dist/modules/workflows/lib/event-trigger-service.js +0 -308
  603. package/dist/modules/workflows/lib/event-trigger-service.js.map +0 -7
  604. package/dist/modules/workflows/migrations/Migration20260123143500.js +0 -36
  605. package/dist/modules/workflows/migrations/Migration20260123143500.js.map +0 -7
  606. package/dist/modules/workflows/subscribers/event-trigger.js +0 -78
  607. package/dist/modules/workflows/subscribers/event-trigger.js.map +0 -7
  608. package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js +0 -323
  609. package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js.map +0 -7
  610. package/dist/modules/workflows/widgets/injection/order-approval/widget.js +0 -17
  611. package/dist/modules/workflows/widgets/injection/order-approval/widget.js.map +0 -7
  612. package/dist/modules/workflows/widgets/injection-table.js +0 -19
  613. package/dist/modules/workflows/widgets/injection-table.js.map +0 -7
  614. package/generated/entities/workflow_event_trigger/index.ts +0 -15
  615. package/src/modules/auth/events.ts +0 -39
  616. package/src/modules/business_rules/api/execute/[ruleId]/route.ts +0 -163
  617. package/src/modules/catalog/events.ts +0 -45
  618. package/src/modules/customers/events.ts +0 -63
  619. package/src/modules/directory/events.ts +0 -31
  620. package/src/modules/sales/events.ts +0 -82
  621. package/src/modules/sales/lib/frontend/documentDataEvents.ts +0 -28
  622. package/src/modules/workflows/components/DefinitionTriggersEditor.tsx +0 -581
  623. package/src/modules/workflows/components/EventTriggersEditor.tsx +0 -664
  624. package/src/modules/workflows/events.ts +0 -49
  625. package/src/modules/workflows/examples/order-approval-definition.json +0 -257
  626. package/src/modules/workflows/examples/order-approval-guard-rules.json +0 -32
  627. package/src/modules/workflows/lib/event-trigger-service.ts +0 -557
  628. package/src/modules/workflows/migrations/Migration20260123143500.ts +0 -38
  629. package/src/modules/workflows/subscribers/event-trigger.ts +0 -109
  630. package/src/modules/workflows/widgets/injection/order-approval/widget.client.tsx +0 -446
  631. package/src/modules/workflows/widgets/injection/order-approval/widget.ts +0 -16
  632. package/src/modules/workflows/widgets/injection-table.ts +0 -21
@@ -20,7 +20,7 @@ export const metadata = {
20
20
  pageOrder: 100,
21
21
  icon: createIcon,
22
22
  breadcrumb: [
23
- { label: 'Workflows', labelKey: 'workflows.module.name', href: '/backend/definitions' },
23
+ { label: 'Workflows', labelKey: 'workflows.module.name', href: '/backend/workflows/definitions' },
24
24
  { label: 'Create', labelKey: 'workflows.common.create' },
25
25
  ],
26
26
  }
@@ -16,8 +16,6 @@ import {
16
16
  } from '../../../components/formConfig'
17
17
  import { StepsEditor } from '../../../components/StepsEditor'
18
18
  import { TransitionsEditor } from '../../../components/TransitionsEditor'
19
- import { Alert, AlertDescription, AlertTitle } from '@open-mercato/ui/primitives/alert'
20
- import { Zap } from 'lucide-react'
21
19
 
22
20
  export default function CreateWorkflowDefinitionPage() {
23
21
  const router = useRouter()
@@ -52,13 +50,6 @@ export default function CreateWorkflowDefinitionPage() {
52
50
  return (
53
51
  <Page>
54
52
  <PageBody>
55
- <Alert variant="info" className="mb-6">
56
- <Zap className="w-4 h-4" />
57
- <AlertTitle>Event Triggers</AlertTitle>
58
- <AlertDescription>
59
- After creating this workflow definition, you can configure event triggers to automatically start the workflow when specific events occur in the system.
60
- </AlertDescription>
61
- </Alert>
62
53
  <CrudForm
63
54
  title={t('workflows.create.title')}
64
55
  backHref="/backend/definitions"
@@ -274,22 +274,27 @@ export default function WorkflowDefinitionsListPage() {
274
274
  <RowActions
275
275
  items={[
276
276
  {
277
+ id: 'edit',
277
278
  label: t('common.edit'),
278
279
  href: `/backend/definitions/${row.original.id}`,
279
280
  },
280
281
  {
282
+ id: 'edit-visual',
281
283
  label: t('workflows.actions.editVisually'),
282
284
  href: `/backend/definitions/visual-editor?id=${row.original.id}`,
283
285
  },
284
286
  {
287
+ id: row.original.enabled ? 'disable' : 'enable',
285
288
  label: row.original.enabled ? t('common.disable') : t('common.enable'),
286
289
  onSelect: () => handleToggleEnabled(row.original.id, row.original.enabled),
287
290
  },
288
291
  {
292
+ id: 'duplicate',
289
293
  label: t('common.duplicate'),
290
294
  onSelect: () => handleDuplicate(row.original),
291
295
  },
292
296
  {
297
+ id: 'delete',
293
298
  label: t('common.delete'),
294
299
  onSelect: () => handleDelete(row.original.id, row.original.workflowName),
295
300
  destructive: true,
@@ -19,7 +19,7 @@ export const metadata = {
19
19
  pageOrder: 150,
20
20
  icon: visualEditorIcon,
21
21
  breadcrumb: [
22
- { label: 'Workflows', labelKey: 'workflows.module.name', href: '/backend/definitions' },
22
+ { label: 'Workflows', labelKey: 'workflows.module.name', href: '/backend/workflows/definitions' },
23
23
  { label: 'Visual Editor', labelKey: 'workflows.backend.definitions.visual_editor.title' },
24
24
  ],
25
25
  }
@@ -34,8 +34,6 @@ import { apiCall } from '@open-mercato/ui/backend/utils/apiCall'
34
34
  import { flash } from '@open-mercato/ui/backend/FlashMessages'
35
35
  import {CircleQuestionMark, Info, PanelTopClose, PanelTopOpen, Play, Save, Trash2} from 'lucide-react'
36
36
  import { NODE_TYPE_ICONS, NODE_TYPE_COLORS, NODE_TYPE_LABELS } from '../../../lib/node-type-icons'
37
- import { DefinitionTriggersEditor } from '../../../components/DefinitionTriggersEditor'
38
- import type { WorkflowDefinitionTrigger } from '../../../data/entities'
39
37
  import * as React from "react";
40
38
 
41
39
  /**
@@ -78,7 +76,6 @@ export default function VisualEditorPage() {
78
76
  const [icon, setIcon] = useState('')
79
77
  const [effectiveFrom, setEffectiveFrom] = useState('')
80
78
  const [effectiveTo, setEffectiveTo] = useState('')
81
- const [triggers, setTriggers] = useState<WorkflowDefinitionTrigger[]>([])
82
79
 
83
80
  // Load existing definition if ID is provided
84
81
  useEffect(() => {
@@ -116,9 +113,6 @@ export default function VisualEditorPage() {
116
113
  setNodes(graph.nodes)
117
114
  setEdges(graph.edges)
118
115
 
119
- // Load embedded triggers from definition
120
- setTriggers(definition.definition?.triggers || [])
121
-
122
116
  flash('Workflow loaded successfully', 'success')
123
117
  } catch (error) {
124
118
  console.error('Error loading workflow definition:', error)
@@ -290,12 +284,8 @@ export default function VisualEditorPage() {
290
284
  return
291
285
  }
292
286
 
293
- // Generate definition data and include triggers
294
- const graphDefinition = graphToDefinition(nodes, edges, { includePositions: true })
295
- const definitionData = {
296
- ...graphDefinition,
297
- triggers: triggers.length > 0 ? triggers : undefined,
298
- }
287
+ // Generate definition data
288
+ const definitionData = graphToDefinition(nodes, edges, { includePositions: true })
299
289
 
300
290
  // Run Zod schema validation before saving
301
291
  const schemaResult = workflowDefinitionDataSchema.safeParse(definitionData)
@@ -367,7 +357,7 @@ export default function VisualEditorPage() {
367
357
  } finally {
368
358
  setIsSaving(false)
369
359
  }
370
- }, [nodes, edges, workflowId, workflowName, description, version, enabled, category, tags, triggers, definitionId, router])
360
+ }, [nodes, edges, workflowId, workflowName, description, version, enabled, category, tags, definitionId, router])
371
361
 
372
362
  // Test workflow
373
363
  const handleTest = useCallback(() => {
@@ -485,7 +475,6 @@ export default function VisualEditorPage() {
485
475
  setIcon('')
486
476
  setEffectiveFrom('')
487
477
  setEffectiveTo('')
488
- setTriggers([])
489
478
  setShowClearConfirm(false)
490
479
  flash('Canvas cleared', 'success')
491
480
  }, [])
@@ -720,13 +709,6 @@ export default function VisualEditorPage() {
720
709
  </div>
721
710
  </div>
722
711
  </div>
723
-
724
- {/* Event Triggers - Always visible, managed as part of definition */}
725
- <DefinitionTriggersEditor
726
- value={triggers}
727
- onChange={setTriggers}
728
- className="mt-4"
729
- />
730
712
  </div>
731
713
  )}
732
714
 
@@ -4,8 +4,8 @@ export const metadata = {
4
4
  pageTitle: 'Event Details',
5
5
  pageTitleKey: 'workflows.events.detail.title',
6
6
  breadcrumb: [
7
- { label: 'Workflows', labelKey: 'workflows.module.name', href: '/backend/definitions' },
8
- { label: 'Events', labelKey: 'workflows.events.plural', href: '/backend/events' },
7
+ { label: 'Workflows', labelKey: 'workflows.module.name', href: '/backend/workflows/definitions' },
8
+ { label: 'Events', labelKey: 'workflows.events.plural', href: '/backend/workflows/events' },
9
9
  { label: 'Details', labelKey: 'common.details' },
10
10
  ],
11
11
  }
@@ -212,7 +212,7 @@ export default function WorkflowEventDetailPage() {
212
212
  </dt>
213
213
  <dd className="mt-1">
214
214
  <Link
215
- href={`/backend/instances/${event.workflowInstance.id}`}
215
+ href={`/backend/workflows/instances/${event.workflowInstance.id}`}
216
216
  className="text-sm text-primary hover:underline font-mono"
217
217
  >
218
218
  {event.workflowInstance.id}
@@ -4,8 +4,8 @@ export const metadata = {
4
4
  pageTitle: 'Workflow Instance Details',
5
5
  pageTitleKey: 'workflows.instances.singular',
6
6
  breadcrumb: [
7
- { label: 'Workflows', labelKey: 'workflows.module.name', href: '/backend/definitions' },
8
- { label: 'Instances', labelKey: 'workflows.instances.plural', href: '/backend/instances' },
7
+ { label: 'Workflows', labelKey: 'workflows.module.name', href: '/backend/workflows/definitions' },
8
+ { label: 'Instances', labelKey: 'workflows.instances.plural', href: '/backend/workflows/instances' },
9
9
  { label: 'Details', labelKey: 'common.details' },
10
10
  ],
11
11
  }
@@ -266,8 +266,9 @@ export default function WorkflowInstancesListPage() {
266
266
  id: 'actions',
267
267
  header: '',
268
268
  cell: ({ row }) => {
269
- const items: Array<{label: string; href?: string; onSelect?: () => void}> = [
269
+ const items: Array<{ id: string; label: string; href?: string; onSelect?: () => void }> = [
270
270
  {
271
+ id: 'view',
271
272
  label: t('workflows.instances.actions.viewDetails'),
272
273
  href: `/backend/instances/${row.original.id}`,
273
274
  },
@@ -275,6 +276,7 @@ export default function WorkflowInstancesListPage() {
275
276
 
276
277
  if (row.original.status === 'RUNNING' || row.original.status === 'PAUSED') {
277
278
  items.push({
279
+ id: 'cancel',
278
280
  label: t('workflows.instances.actions.cancel'),
279
281
  onSelect: () => handleCancel(row.original.id, row.original.workflowId),
280
282
  })
@@ -282,6 +284,7 @@ export default function WorkflowInstancesListPage() {
282
284
 
283
285
  if (row.original.status === 'FAILED') {
284
286
  items.push({
287
+ id: 'retry',
285
288
  label: t('workflows.instances.actions.retry'),
286
289
  onSelect: () => handleRetry(row.original.id, row.original.workflowId),
287
290
  })
@@ -4,8 +4,8 @@ export const metadata = {
4
4
  pageTitle: 'Task Details',
5
5
  pageTitleKey: 'workflows.tasks.singular',
6
6
  breadcrumb: [
7
- { label: 'Workflows', labelKey: 'workflows.module.name', href: '/backend/definitions' },
8
- { label: 'Tasks', labelKey: 'workflows.tasks.plural', href: '/backend/tasks' },
7
+ { label: 'Workflows', labelKey: 'workflows.module.name', href: '/backend/workflows/definitions' },
8
+ { label: 'Tasks', labelKey: 'workflows.tasks.plural', href: '/backend/workflows/tasks' },
9
9
  { label: 'Details', labelKey: 'common.details' },
10
10
  ],
11
11
  }
@@ -381,7 +381,7 @@ export default function UserTaskDetailPage({ params }: { params: { id: string }
381
381
  task.status
382
382
  )}`}
383
383
  >
384
- {t(`workflows.tasks.statuses.${task.status}`)}
384
+ {t(`workflows.tasks.status.${task.status}`)}
385
385
  </span>
386
386
  </div>
387
387
 
@@ -72,6 +72,7 @@ export default function UserTasksListPage() {
72
72
  params.set('offset', offset.toString())
73
73
 
74
74
  if (filterValues.status) params.set('status', filterValues.status as string)
75
+ if (filterValues.myTasks === 'true') params.set('myTasks', 'true')
75
76
  if (filterValues.overdue === 'true') params.set('overdue', 'true')
76
77
  if (filterValues.workflowInstanceId) params.set('workflowInstanceId', filterValues.workflowInstanceId as string)
77
78
 
@@ -154,10 +155,10 @@ export default function UserTasksListPage() {
154
155
  label: t('workflows.tasks.filters.status'),
155
156
  options: [
156
157
  { label: t('common.all'), value: '' },
157
- { label: t('workflows.tasks.statuses.PENDING'), value: 'PENDING' },
158
- { label: t('workflows.tasks.statuses.IN_PROGRESS'), value: 'IN_PROGRESS' },
159
- { label: t('workflows.tasks.statuses.COMPLETED'), value: 'COMPLETED' },
160
- { label: t('workflows.tasks.statuses.CANCELLED'), value: 'CANCELLED' },
158
+ { label: t('workflows.tasks.status.PENDING'), value: 'PENDING' },
159
+ { label: t('workflows.tasks.status.IN_PROGRESS'), value: 'IN_PROGRESS' },
160
+ { label: t('workflows.tasks.status.COMPLETED'), value: 'COMPLETED' },
161
+ { label: t('workflows.tasks.status.CANCELLED'), value: 'CANCELLED' },
161
162
  ],
162
163
  },
163
164
  {
@@ -213,7 +214,7 @@ export default function UserTasksListPage() {
213
214
  accessorKey: 'status',
214
215
  cell: ({ row }) => (
215
216
  <span className={`inline-flex items-center px-2 py-1 rounded text-xs font-medium ${getStatusBadgeClass(row.original.status)}`}>
216
- {t(`workflows.tasks.statuses.${row.original.status}`)}
217
+ {t(`workflows.tasks.status.${row.original.status}`)}
217
218
  </span>
218
219
  ),
219
220
  },
@@ -272,8 +273,9 @@ export default function UserTasksListPage() {
272
273
  id: 'actions',
273
274
  header: '',
274
275
  cell: ({ row }) => {
275
- const items: Array<{label: string; href?: string; onSelect?: () => void}> = [
276
+ const items: Array<{ id: string; label: string; href?: string; onSelect?: () => void }> = [
276
277
  {
278
+ id: 'view',
277
279
  label: t('workflows.tasks.actions.viewDetails'),
278
280
  href: `/backend/tasks/${row.original.id}`,
279
281
  },
@@ -287,6 +289,7 @@ export default function UserTasksListPage() {
287
289
  row.original.assignedToRoles.length > 0
288
290
  ) {
289
291
  items.push({
292
+ id: 'claim',
290
293
  label: t('workflows.tasks.actions.claim'),
291
294
  onSelect: () => handleClaim(row.original.id, row.original.taskName),
292
295
  })
@@ -295,6 +298,7 @@ export default function UserTasksListPage() {
295
298
  // Allow completing if task is in progress or pending
296
299
  if (row.original.status === 'PENDING' || row.original.status === 'IN_PROGRESS') {
297
300
  items.push({
301
+ id: 'complete',
298
302
  label: t('workflows.tasks.actions.complete'),
299
303
  href: `/backend/tasks/${row.original.id}`,
300
304
  })
@@ -2,7 +2,6 @@ import type { ModuleCli } from '@open-mercato/shared/modules/registry'
2
2
  import { createRequestContainer } from '@open-mercato/shared/lib/di/container'
3
3
  import type { EntityManager } from '@mikro-orm/postgresql'
4
4
  import { WorkflowDefinition } from './data/entities'
5
- import { BusinessRule, type RuleType } from '@open-mercato/core/modules/business_rules/data/entities'
6
5
  import * as fs from 'fs'
7
6
  import * as path from 'path'
8
7
  import { fileURLToPath } from 'url'
@@ -57,7 +56,7 @@ const seedDemo: ModuleCli = {
57
56
  })
58
57
 
59
58
  if (existing) {
60
- console.log(`✓ Demo workflow '${demoData.workflowId}' already exists (ID: ${existing.id})`)
59
+ console.log(`ℹ️ Demo workflow '${demoData.workflowId}' already exists (ID: ${existing.id})`)
61
60
  return
62
61
  }
63
62
 
@@ -70,7 +69,7 @@ const seedDemo: ModuleCli = {
70
69
 
71
70
  await em.persistAndFlush(workflow)
72
71
 
73
- console.log(`✓ Seeded demo workflow: ${workflow.workflowName}`)
72
+ console.log(`✅ Seeded demo workflow: ${workflow.workflowName}`)
74
73
  console.log(` - ID: ${workflow.id}`)
75
74
  console.log(` - Workflow ID: ${workflow.workflowId}`)
76
75
  console.log(` - Version: ${workflow.version}`)
@@ -108,15 +107,15 @@ const seedDemoWithRules: ModuleCli = {
108
107
  return
109
108
  }
110
109
 
111
- console.log('Seeding demo workflow with guard rules...\n')
110
+ console.log('🧩 Seeding demo workflow with guard rules...\n')
112
111
 
113
112
  try {
114
113
  // Seed the workflow definition
115
- console.log('1. Seeding demo workflow...')
114
+ console.log('1. 🧩 Seeding demo workflow...')
116
115
  await seedDemo.run(rest)
117
116
 
118
117
  // Seed the guard rules
119
- console.log('\n2. Seeding guard rules...')
118
+ console.log('\n2. 🧠 Seeding guard rules...')
120
119
  const { resolve } = await createRequestContainer()
121
120
  const em = resolve<EntityManager>('em')
122
121
 
@@ -154,7 +153,7 @@ const seedDemoWithRules: ModuleCli = {
154
153
  seededCount++
155
154
  }
156
155
 
157
- console.log(`\n Demo workflow with guard rules seeded successfully!`)
156
+ console.log(`\n Demo workflow with guard rules seeded successfully!`)
158
157
  console.log(` - Workflow: checkout_simple_v1`)
159
158
  console.log(` - Guard rules seeded: ${seededCount}`)
160
159
  console.log(` - Guard rules skipped: ${skippedCount}`)
@@ -196,7 +195,7 @@ const seedSalesPipeline: ModuleCli = {
196
195
  })
197
196
 
198
197
  if (existing) {
199
- console.log(`✓ Sales pipeline workflow '${pipelineData.workflowId}' already exists (ID: ${existing.id})`)
198
+ console.log(`ℹ️ Sales pipeline workflow '${pipelineData.workflowId}' already exists (ID: ${existing.id})`)
200
199
  return
201
200
  }
202
201
 
@@ -209,7 +208,7 @@ const seedSalesPipeline: ModuleCli = {
209
208
 
210
209
  await em.persistAndFlush(workflow)
211
210
 
212
- console.log(`✓ Seeded sales pipeline workflow: ${workflow.workflowName}`)
211
+ console.log(`✅ Seeded sales pipeline workflow: ${workflow.workflowName}`)
213
212
  console.log(` - ID: ${workflow.id}`)
214
213
  console.log(` - Workflow ID: ${workflow.workflowId}`)
215
214
  console.log(` - Version: ${workflow.version}`)
@@ -256,7 +255,7 @@ const seedSimpleApproval: ModuleCli = {
256
255
  })
257
256
 
258
257
  if (existing) {
259
- console.log(`✓ Simple approval workflow '${approvalData.workflowId}' already exists (ID: ${existing.id})`)
258
+ console.log(`ℹ️ Simple approval workflow '${approvalData.workflowId}' already exists (ID: ${existing.id})`)
260
259
  return
261
260
  }
262
261
 
@@ -269,7 +268,7 @@ const seedSimpleApproval: ModuleCli = {
269
268
 
270
269
  await em.persistAndFlush(workflow)
271
270
 
272
- console.log(`✓ Seeded simple approval workflow: ${workflow.workflowName}`)
271
+ console.log(`✅ Seeded simple approval workflow: ${workflow.workflowName}`)
273
272
  console.log(` - ID: ${workflow.id}`)
274
273
  console.log(` - Workflow ID: ${workflow.workflowId}`)
275
274
  console.log(` - Version: ${workflow.version}`)
@@ -284,111 +283,6 @@ const seedSimpleApproval: ModuleCli = {
284
283
  },
285
284
  }
286
285
 
287
- /**
288
- * Seed order approval example
289
- */
290
- const seedOrderApproval: ModuleCli = {
291
- command: 'seed-order-approval',
292
- async run(rest: string[]) {
293
- const args = parseArgs(rest)
294
- const tenantId = String(args.tenantId ?? args.tenant ?? args.t ?? '')
295
- const organizationId = String(args.organizationId ?? args.orgId ?? args.org ?? args.o ?? '')
296
-
297
- if (!tenantId || !organizationId) {
298
- console.error('Usage: mercato workflows seed-order-approval --tenant <tenantId> --org <organizationId>')
299
- return
300
- }
301
-
302
- try {
303
- const { resolve } = await createRequestContainer()
304
- const em = resolve<EntityManager>('em')
305
-
306
- // 1. Seed order approval guard rules first
307
- const guardRulesPath = path.join(__dirname, 'examples', 'order-approval-guard-rules.json')
308
- const guardRulesData = JSON.parse(fs.readFileSync(guardRulesPath, 'utf8')) as Array<{
309
- ruleId: string
310
- ruleName: string
311
- ruleType: RuleType
312
- entityType: string
313
- description?: string
314
- eventType?: string
315
- conditionExpression?: Record<string, unknown>
316
- enabled?: boolean
317
- priority?: number
318
- }>
319
-
320
- let rulesSeeded = 0
321
- let rulesSkipped = 0
322
- for (const rule of guardRulesData) {
323
- const existingRule = await em.findOne(BusinessRule, {
324
- ruleId: rule.ruleId,
325
- tenantId,
326
- organizationId,
327
- })
328
-
329
- if (existingRule) {
330
- rulesSkipped++
331
- continue
332
- }
333
-
334
- const newRule = em.create(BusinessRule, {
335
- ...rule,
336
- tenantId,
337
- organizationId,
338
- })
339
- em.persist(newRule)
340
- console.log(` ✓ Seeded guard rule: ${rule.ruleName}`)
341
- rulesSeeded++
342
- }
343
-
344
- if (rulesSeeded > 0) {
345
- await em.flush()
346
- }
347
-
348
- // 2. Read the order approval workflow definition
349
- const approvalPath = path.join(__dirname, 'examples', 'order-approval-definition.json')
350
- const approvalData = JSON.parse(fs.readFileSync(approvalPath, 'utf8'))
351
-
352
- // Check if it already exists
353
- const existing = await em.findOne(WorkflowDefinition, {
354
- workflowId: approvalData.workflowId,
355
- tenantId,
356
- organizationId,
357
- })
358
-
359
- if (existing) {
360
- console.log(`✓ Order approval workflow '${approvalData.workflowId}' already exists (ID: ${existing.id})`)
361
- console.log(` - Guard rules seeded: ${rulesSeeded}`)
362
- console.log(` - Guard rules skipped: ${rulesSkipped}`)
363
- return
364
- }
365
-
366
- // Create the workflow definition
367
- const workflow = em.create(WorkflowDefinition, {
368
- ...approvalData,
369
- tenantId,
370
- organizationId,
371
- })
372
-
373
- await em.persistAndFlush(workflow)
374
-
375
- console.log(`✓ Seeded order approval workflow: ${workflow.workflowName}`)
376
- console.log(` - ID: ${workflow.id}`)
377
- console.log(` - Workflow ID: ${workflow.workflowId}`)
378
- console.log(` - Version: ${workflow.version}`)
379
- console.log(` - Steps: ${workflow.definition.steps.length}`)
380
- console.log(` - Transitions: ${workflow.definition.transitions.length}`)
381
- console.log(` - Guard rules seeded: ${rulesSeeded}`)
382
- console.log(` - Guard rules skipped: ${rulesSkipped}`)
383
- console.log('')
384
- console.log('Order approval workflow is ready!')
385
- } catch (error) {
386
- console.error('Error seeding order approval workflow:', error)
387
- throw error
388
- }
389
- },
390
- }
391
-
392
286
  /**
393
287
  * Start workflow activity worker
394
288
  */
@@ -457,7 +351,7 @@ const seedAll: ModuleCli = {
457
351
  return
458
352
  }
459
353
 
460
- console.log('Seeding all example workflows...\n')
354
+ console.log('🧩 Seeding all example workflows...\n')
461
355
 
462
356
  try {
463
357
  // Seed demo checkout with rules
@@ -472,11 +366,7 @@ const seedAll: ModuleCli = {
472
366
  await seedSimpleApproval.run(rest)
473
367
  console.log('')
474
368
 
475
- // Seed order approval
476
- await seedOrderApproval.run(rest)
477
- console.log('')
478
-
479
- console.log('✓ All example workflows seeded successfully!')
369
+ console.log('✅ All example workflows seeded successfully!')
480
370
  } catch (error) {
481
371
  console.error('Error seeding workflows:', error)
482
372
  throw error
@@ -554,7 +444,6 @@ const workflowsCliCommands = [
554
444
  seedDemoWithRules,
555
445
  seedSalesPipeline,
556
446
  seedSimpleApproval,
557
- seedOrderApproval,
558
447
  seedAll,
559
448
  ]
560
449
 
@@ -46,63 +46,6 @@ export type UserTaskStatus =
46
46
  | 'CANCELLED'
47
47
  | 'ESCALATED'
48
48
 
49
- // ============================================================================
50
- // Event Trigger Types
51
- // ============================================================================
52
-
53
- export type TriggerFilterOperator =
54
- | 'eq'
55
- | 'neq'
56
- | 'gt'
57
- | 'gte'
58
- | 'lt'
59
- | 'lte'
60
- | 'contains'
61
- | 'startsWith'
62
- | 'endsWith'
63
- | 'in'
64
- | 'notIn'
65
- | 'exists'
66
- | 'notExists'
67
- | 'regex'
68
-
69
- export interface TriggerFilterCondition {
70
- field: string // JSON path (e.g., "status", "metadata.type")
71
- operator: TriggerFilterOperator
72
- value: unknown
73
- }
74
-
75
- export interface TriggerContextMapping {
76
- targetKey: string // Key in workflow initial context
77
- sourceExpression: string // Path from event payload (supports dot notation)
78
- defaultValue?: unknown
79
- }
80
-
81
- export interface WorkflowEventTriggerConfig {
82
- filterConditions?: TriggerFilterCondition[]
83
- contextMapping?: TriggerContextMapping[]
84
- debounceMs?: number // Debounce rapid events
85
- maxConcurrentInstances?: number // Limit concurrent instances
86
- entityType?: string // Entity type for workflow instance metadata (e.g., "SalesOrder")
87
- }
88
-
89
- /**
90
- * WorkflowDefinitionTrigger - Embedded trigger configuration
91
- *
92
- * Triggers are now embedded directly in the workflow definition,
93
- * allowing users to configure event-based workflow starts during
94
- * workflow creation in the visual editor.
95
- */
96
- export interface WorkflowDefinitionTrigger {
97
- triggerId: string
98
- name: string
99
- description?: string | null
100
- eventPattern: string // e.g., "sales.orders.created", "customers.*"
101
- config?: WorkflowEventTriggerConfig | null
102
- enabled: boolean
103
- priority: number
104
- }
105
-
106
49
  // ============================================================================
107
50
  // JSONB Structure Interfaces
108
51
  // ============================================================================
@@ -110,7 +53,6 @@ export interface WorkflowDefinitionTrigger {
110
53
  export interface WorkflowDefinitionData {
111
54
  steps: any[] // WorkflowStep[] - will define schema in validators.ts
112
55
  transitions: any[] // WorkflowTransition[] - will define schema in validators.ts
113
- triggers?: WorkflowDefinitionTrigger[] // Event triggers for automatic workflow start
114
56
  activities?: any[] // ActivityDefinition[] - will define schema in validators.ts
115
57
  queries?: any[]
116
58
  signals?: any[]
@@ -487,71 +429,6 @@ export class WorkflowEvent {
487
429
  organizationId!: string
488
430
  }
489
431
 
490
- // ============================================================================
491
- // Entity: WorkflowEventTrigger
492
- // ============================================================================
493
-
494
- /**
495
- * WorkflowEventTrigger entity
496
- *
497
- * Maps event patterns to workflow definitions for automatic triggering.
498
- * When a matching event is emitted, the corresponding workflow is started
499
- * with context mapped from the event payload.
500
- */
501
- @Entity({ tableName: 'workflow_event_triggers' })
502
- @Index({ name: 'workflow_event_triggers_event_pattern_idx', properties: ['eventPattern', 'enabled'] })
503
- @Index({ name: 'workflow_event_triggers_definition_idx', properties: ['workflowDefinitionId'] })
504
- @Index({ name: 'workflow_event_triggers_tenant_org_idx', properties: ['tenantId', 'organizationId'] })
505
- @Index({ name: 'workflow_event_triggers_enabled_priority_idx', properties: ['enabled', 'priority'] })
506
- export class WorkflowEventTrigger {
507
- [OptionalProps]?: 'enabled' | 'priority' | 'createdAt' | 'updatedAt' | 'deletedAt'
508
-
509
- @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })
510
- id!: string
511
-
512
- @Property({ name: 'name', type: 'varchar', length: 255 })
513
- name!: string
514
-
515
- @Property({ name: 'description', type: 'text', nullable: true })
516
- description?: string | null
517
-
518
- @Property({ name: 'workflow_definition_id', type: 'uuid' })
519
- workflowDefinitionId!: string
520
-
521
- @Property({ name: 'event_pattern', type: 'varchar', length: 255 })
522
- eventPattern!: string
523
-
524
- @Property({ name: 'config', type: 'jsonb', nullable: true })
525
- config?: WorkflowEventTriggerConfig | null
526
-
527
- @Property({ name: 'enabled', type: 'boolean', default: true })
528
- enabled: boolean = true
529
-
530
- @Property({ name: 'priority', type: 'integer', default: 0 })
531
- priority: number = 0
532
-
533
- @Property({ name: 'tenant_id', type: 'uuid' })
534
- tenantId!: string
535
-
536
- @Property({ name: 'organization_id', type: 'uuid' })
537
- organizationId!: string
538
-
539
- @Property({ name: 'created_by', type: 'varchar', length: 255, nullable: true })
540
- createdBy?: string | null
541
-
542
- @Property({ name: 'updated_by', type: 'varchar', length: 255, nullable: true })
543
- updatedBy?: string | null
544
-
545
- @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })
546
- createdAt: Date = new Date()
547
-
548
- @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })
549
- updatedAt: Date = new Date()
550
-
551
- @Property({ name: 'deleted_at', type: Date, nullable: true })
552
- deletedAt?: Date | null
553
- }
554
-
555
432
  // Export all entities as default for MikroORM discovery
556
433
  export default [
557
434
  WorkflowDefinition,
@@ -559,5 +436,4 @@ export default [
559
436
  StepInstance,
560
437
  UserTask,
561
438
  WorkflowEvent,
562
- WorkflowEventTrigger,
563
439
  ]