@open-mercato/core 0.4.2-canary-ec4978dbb3 → 0.4.2-canary-9074fd41ce

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 (155) hide show
  1. package/dist/generated/entities.ids.generated.js +0 -1
  2. package/dist/generated/entities.ids.generated.js.map +2 -2
  3. package/dist/generated/entity-fields-registry.js +0 -2
  4. package/dist/generated/entity-fields-registry.js.map +2 -2
  5. package/dist/modules/business_rules/data/validators.js +0 -34
  6. package/dist/modules/business_rules/data/validators.js.map +2 -2
  7. package/dist/modules/business_rules/index.js +1 -21
  8. package/dist/modules/business_rules/index.js.map +2 -2
  9. package/dist/modules/business_rules/lib/rule-engine.js +1 -182
  10. package/dist/modules/business_rules/lib/rule-engine.js.map +2 -2
  11. package/dist/modules/sales/acl.js +0 -1
  12. package/dist/modules/sales/acl.js.map +2 -2
  13. package/dist/modules/sales/backend/sales/documents/[id]/page.js +0 -12
  14. package/dist/modules/sales/backend/sales/documents/[id]/page.js.map +2 -2
  15. package/dist/modules/sales/commands/documents.js +0 -62
  16. package/dist/modules/sales/commands/documents.js.map +2 -2
  17. package/dist/modules/sales/lib/dictionaries.js +0 -3
  18. package/dist/modules/sales/lib/dictionaries.js.map +2 -2
  19. package/dist/modules/workflows/acl.js +0 -2
  20. package/dist/modules/workflows/acl.js.map +2 -2
  21. package/dist/modules/workflows/api/instances/route.js +6 -18
  22. package/dist/modules/workflows/api/instances/route.js.map +2 -2
  23. package/dist/modules/workflows/api/tasks/route.js +1 -6
  24. package/dist/modules/workflows/api/tasks/route.js.map +2 -2
  25. package/dist/modules/workflows/backend/definitions/[id]/page.js +1 -9
  26. package/dist/modules/workflows/backend/definitions/[id]/page.js.map +2 -2
  27. package/dist/modules/workflows/backend/definitions/[id]/page.meta.js +1 -1
  28. package/dist/modules/workflows/backend/definitions/[id]/page.meta.js.map +2 -2
  29. package/dist/modules/workflows/backend/definitions/create/page.js +15 -24
  30. package/dist/modules/workflows/backend/definitions/create/page.js.map +2 -2
  31. package/dist/modules/workflows/backend/definitions/create/page.meta.js +1 -1
  32. package/dist/modules/workflows/backend/definitions/create/page.meta.js.map +2 -2
  33. package/dist/modules/workflows/backend/definitions/visual-editor/page.js +132 -150
  34. package/dist/modules/workflows/backend/definitions/visual-editor/page.js.map +2 -2
  35. package/dist/modules/workflows/backend/definitions/visual-editor/page.meta.js +1 -1
  36. package/dist/modules/workflows/backend/definitions/visual-editor/page.meta.js.map +2 -2
  37. package/dist/modules/workflows/backend/events/[id]/page.js +1 -1
  38. package/dist/modules/workflows/backend/events/[id]/page.js.map +2 -2
  39. package/dist/modules/workflows/backend/events/[id]/page.meta.js +2 -2
  40. package/dist/modules/workflows/backend/events/[id]/page.meta.js.map +2 -2
  41. package/dist/modules/workflows/backend/instances/[id]/page.meta.js +2 -2
  42. package/dist/modules/workflows/backend/instances/[id]/page.meta.js.map +2 -2
  43. package/dist/modules/workflows/backend/tasks/[id]/page.js +1 -1
  44. package/dist/modules/workflows/backend/tasks/[id]/page.js.map +2 -2
  45. package/dist/modules/workflows/backend/tasks/[id]/page.meta.js +2 -2
  46. package/dist/modules/workflows/backend/tasks/[id]/page.meta.js.map +2 -2
  47. package/dist/modules/workflows/backend/tasks/page.js +6 -5
  48. package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
  49. package/dist/modules/workflows/cli.js +3 -81
  50. package/dist/modules/workflows/cli.js.map +3 -3
  51. package/dist/modules/workflows/data/entities.js +1 -64
  52. package/dist/modules/workflows/data/entities.js.map +2 -2
  53. package/dist/modules/workflows/data/validators.js +0 -115
  54. package/dist/modules/workflows/data/validators.js.map +2 -2
  55. package/dist/modules/workflows/examples/checkout-demo-definition.json +5 -1
  56. package/dist/modules/workflows/lib/activity-executor.js +13 -75
  57. package/dist/modules/workflows/lib/activity-executor.js.map +2 -2
  58. package/dist/modules/workflows/lib/graph-utils.js +2 -71
  59. package/dist/modules/workflows/lib/graph-utils.js.map +2 -2
  60. package/dist/modules/workflows/lib/seeds.js +5 -22
  61. package/dist/modules/workflows/lib/seeds.js.map +2 -2
  62. package/dist/modules/workflows/lib/start-validator.js +23 -33
  63. package/dist/modules/workflows/lib/start-validator.js.map +2 -2
  64. package/dist/modules/workflows/lib/transition-handler.js +45 -157
  65. package/dist/modules/workflows/lib/transition-handler.js.map +3 -3
  66. package/generated/entities.ids.generated.ts +0 -1
  67. package/generated/entity-fields-registry.ts +0 -2
  68. package/package.json +2 -2
  69. package/src/modules/business_rules/data/validators.ts +0 -40
  70. package/src/modules/business_rules/index.ts +0 -25
  71. package/src/modules/business_rules/lib/rule-engine.ts +1 -281
  72. package/src/modules/sales/acl.ts +0 -1
  73. package/src/modules/sales/backend/sales/documents/[id]/page.tsx +0 -16
  74. package/src/modules/sales/commands/documents.ts +1 -74
  75. package/src/modules/sales/lib/dictionaries.ts +0 -3
  76. package/src/modules/workflows/acl.ts +0 -2
  77. package/src/modules/workflows/api/instances/route.ts +7 -21
  78. package/src/modules/workflows/api/tasks/route.ts +1 -7
  79. package/src/modules/workflows/backend/definitions/[id]/page.meta.ts +1 -1
  80. package/src/modules/workflows/backend/definitions/[id]/page.tsx +0 -9
  81. package/src/modules/workflows/backend/definitions/create/page.meta.ts +1 -1
  82. package/src/modules/workflows/backend/definitions/create/page.tsx +0 -9
  83. package/src/modules/workflows/backend/definitions/visual-editor/page.meta.ts +1 -1
  84. package/src/modules/workflows/backend/definitions/visual-editor/page.tsx +3 -21
  85. package/src/modules/workflows/backend/events/[id]/page.meta.ts +2 -2
  86. package/src/modules/workflows/backend/events/[id]/page.tsx +1 -1
  87. package/src/modules/workflows/backend/instances/[id]/page.meta.ts +2 -2
  88. package/src/modules/workflows/backend/tasks/[id]/page.meta.ts +2 -2
  89. package/src/modules/workflows/backend/tasks/[id]/page.tsx +1 -1
  90. package/src/modules/workflows/backend/tasks/page.tsx +6 -5
  91. package/src/modules/workflows/cli.ts +0 -111
  92. package/src/modules/workflows/data/entities.ts +0 -124
  93. package/src/modules/workflows/data/validators.ts +0 -138
  94. package/src/modules/workflows/examples/checkout-demo-definition.json +5 -1
  95. package/src/modules/workflows/i18n/en.json +0 -71
  96. package/src/modules/workflows/lib/activity-executor.ts +16 -129
  97. package/src/modules/workflows/lib/graph-utils.ts +2 -117
  98. package/src/modules/workflows/lib/seeds.ts +8 -34
  99. package/src/modules/workflows/lib/start-validator.ts +28 -38
  100. package/src/modules/workflows/lib/transition-handler.ts +55 -208
  101. package/dist/generated/entities/workflow_event_trigger/index.js +0 -33
  102. package/dist/generated/entities/workflow_event_trigger/index.js.map +0 -7
  103. package/dist/modules/auth/events.js +0 -30
  104. package/dist/modules/auth/events.js.map +0 -7
  105. package/dist/modules/business_rules/api/execute/[ruleId]/route.js +0 -145
  106. package/dist/modules/business_rules/api/execute/[ruleId]/route.js.map +0 -7
  107. package/dist/modules/catalog/events.js +0 -34
  108. package/dist/modules/catalog/events.js.map +0 -7
  109. package/dist/modules/customers/events.js +0 -49
  110. package/dist/modules/customers/events.js.map +0 -7
  111. package/dist/modules/directory/events.js +0 -23
  112. package/dist/modules/directory/events.js.map +0 -7
  113. package/dist/modules/sales/events.js +0 -63
  114. package/dist/modules/sales/events.js.map +0 -7
  115. package/dist/modules/sales/lib/frontend/documentDataEvents.js +0 -25
  116. package/dist/modules/sales/lib/frontend/documentDataEvents.js.map +0 -7
  117. package/dist/modules/workflows/components/DefinitionTriggersEditor.js +0 -481
  118. package/dist/modules/workflows/components/DefinitionTriggersEditor.js.map +0 -7
  119. package/dist/modules/workflows/components/EventTriggersEditor.js +0 -553
  120. package/dist/modules/workflows/components/EventTriggersEditor.js.map +0 -7
  121. package/dist/modules/workflows/events.js +0 -38
  122. package/dist/modules/workflows/events.js.map +0 -7
  123. package/dist/modules/workflows/examples/order-approval-definition.json +0 -257
  124. package/dist/modules/workflows/examples/order-approval-guard-rules.json +0 -32
  125. package/dist/modules/workflows/lib/event-trigger-service.js +0 -308
  126. package/dist/modules/workflows/lib/event-trigger-service.js.map +0 -7
  127. package/dist/modules/workflows/migrations/Migration20260123143500.js +0 -36
  128. package/dist/modules/workflows/migrations/Migration20260123143500.js.map +0 -7
  129. package/dist/modules/workflows/subscribers/event-trigger.js +0 -78
  130. package/dist/modules/workflows/subscribers/event-trigger.js.map +0 -7
  131. package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js +0 -323
  132. package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js.map +0 -7
  133. package/dist/modules/workflows/widgets/injection/order-approval/widget.js +0 -17
  134. package/dist/modules/workflows/widgets/injection/order-approval/widget.js.map +0 -7
  135. package/dist/modules/workflows/widgets/injection-table.js +0 -19
  136. package/dist/modules/workflows/widgets/injection-table.js.map +0 -7
  137. package/generated/entities/workflow_event_trigger/index.ts +0 -15
  138. package/src/modules/auth/events.ts +0 -39
  139. package/src/modules/business_rules/api/execute/[ruleId]/route.ts +0 -163
  140. package/src/modules/catalog/events.ts +0 -45
  141. package/src/modules/customers/events.ts +0 -63
  142. package/src/modules/directory/events.ts +0 -31
  143. package/src/modules/sales/events.ts +0 -82
  144. package/src/modules/sales/lib/frontend/documentDataEvents.ts +0 -28
  145. package/src/modules/workflows/components/DefinitionTriggersEditor.tsx +0 -581
  146. package/src/modules/workflows/components/EventTriggersEditor.tsx +0 -664
  147. package/src/modules/workflows/events.ts +0 -49
  148. package/src/modules/workflows/examples/order-approval-definition.json +0 -257
  149. package/src/modules/workflows/examples/order-approval-guard-rules.json +0 -32
  150. package/src/modules/workflows/lib/event-trigger-service.ts +0 -557
  151. package/src/modules/workflows/migrations/Migration20260123143500.ts +0 -38
  152. package/src/modules/workflows/subscribers/event-trigger.ts +0 -109
  153. package/src/modules/workflows/widgets/injection/order-approval/widget.client.tsx +0 -446
  154. package/src/modules/workflows/widgets/injection/order-approval/widget.ts +0 -16
  155. package/src/modules/workflows/widgets/injection-table.ts +0 -21
@@ -1,49 +0,0 @@
1
- import { createModuleEvents } from '@open-mercato/shared/modules/events'
2
-
3
- /**
4
- * Workflows Module Events
5
- *
6
- * Declares all events that can be emitted by the workflows module.
7
- */
8
- const events = [
9
- // Workflow Definitions
10
- { id: 'workflows.definitions.created', label: 'Workflow Definition Created', entity: 'definitions', category: 'crud' },
11
- { id: 'workflows.definitions.updated', label: 'Workflow Definition Updated', entity: 'definitions', category: 'crud' },
12
- { id: 'workflows.definitions.deleted', label: 'Workflow Definition Deleted', entity: 'definitions', category: 'crud' },
13
-
14
- // Workflow Instances
15
- { id: 'workflows.instances.created', label: 'Workflow Instance Created', entity: 'instances', category: 'crud' },
16
- { id: 'workflows.instances.updated', label: 'Workflow Instance Updated', entity: 'instances', category: 'crud' },
17
- { id: 'workflows.instances.deleted', label: 'Workflow Instance Deleted', entity: 'instances', category: 'crud' },
18
-
19
- // Workflow Lifecycle Events
20
- { id: 'workflows.instance.started', label: 'Workflow Started', category: 'lifecycle' },
21
- { id: 'workflows.instance.completed', label: 'Workflow Completed', category: 'lifecycle' },
22
- { id: 'workflows.instance.failed', label: 'Workflow Failed', category: 'lifecycle' },
23
- { id: 'workflows.instance.cancelled', label: 'Workflow Cancelled', category: 'lifecycle' },
24
- { id: 'workflows.instance.paused', label: 'Workflow Paused', category: 'lifecycle' },
25
- { id: 'workflows.instance.resumed', label: 'Workflow Resumed', category: 'lifecycle' },
26
-
27
- // Activity Events
28
- { id: 'workflows.activity.started', label: 'Activity Started', category: 'lifecycle' },
29
- { id: 'workflows.activity.completed', label: 'Activity Completed', category: 'lifecycle' },
30
- { id: 'workflows.activity.failed', label: 'Activity Failed', category: 'lifecycle' },
31
-
32
- // Event Triggers
33
- { id: 'workflows.triggers.created', label: 'Trigger Created', entity: 'triggers', category: 'crud' },
34
- { id: 'workflows.triggers.updated', label: 'Trigger Updated', entity: 'triggers', category: 'crud' },
35
- { id: 'workflows.triggers.deleted', label: 'Trigger Deleted', entity: 'triggers', category: 'crud' },
36
- ] as const
37
-
38
- export const eventsConfig = createModuleEvents({
39
- moduleId: 'workflows',
40
- events,
41
- })
42
-
43
- /** Type-safe event emitter for workflows module */
44
- export const emitWorkflowsEvent = eventsConfig.emit
45
-
46
- /** Event IDs that can be emitted by the workflows module */
47
- export type WorkflowsEventId = typeof events[number]['id']
48
-
49
- export default eventsConfig
@@ -1,257 +0,0 @@
1
- {
2
- "workflowId": "sales_order_approval_v1",
3
- "workflowName": "Sales Order Approval Workflow",
4
- "description": "Approval workflow for sales orders requiring authorization before processing",
5
- "version": 1,
6
- "enabled": true,
7
- "metadata": {
8
- "category": "Sales",
9
- "tags": [
10
- "sales",
11
- "approval",
12
- "order"
13
- ],
14
- "icon": "check-circle",
15
- "entityType": "SalesOrder"
16
- },
17
- "definition": {
18
- "steps": [
19
- {
20
- "stepId": "start",
21
- "stepName": "Start",
22
- "stepType": "START",
23
- "description": "Initialize order approval workflow"
24
- },
25
- {
26
- "stepId": "pending_approval",
27
- "stepName": "Pending Approval",
28
- "stepType": "USER_TASK",
29
- "description": "Order awaiting approval decision",
30
- "userTaskConfig": {
31
- "formSchema": {
32
- "type": "object",
33
- "required": [
34
- "decision"
35
- ],
36
- "properties": {
37
- "comments": {
38
- "type": "string",
39
- "title": "Comments",
40
- "description": "Optional comments for the decision"
41
- },
42
- "decision": {
43
- "enum": [
44
- "approve",
45
- "reject"
46
- ],
47
- "type": "string",
48
- "title": "Decision",
49
- "description": "Approve or reject the order"
50
- }
51
- }
52
- },
53
- "slaDuration": "PT24H"
54
- }
55
- },
56
- {
57
- "stepId": "approved",
58
- "stepName": "Approved",
59
- "stepType": "AUTOMATED",
60
- "description": "Order has been approved"
61
- },
62
- {
63
- "stepId": "rejected",
64
- "stepName": "Rejected",
65
- "stepType": "AUTOMATED",
66
- "description": "Order has been rejected"
67
- },
68
- {
69
- "stepId": "end",
70
- "stepName": "Complete",
71
- "stepType": "END",
72
- "description": "Workflow complete"
73
- }
74
- ],
75
- "triggers": [
76
- {
77
- "name": "Order Approval Trigger",
78
- "config": {
79
- "entityType": "SalesOrder"
80
- },
81
- "enabled": true,
82
- "priority": 0,
83
- "triggerId": "order_approval_trigger",
84
- "description": "Triggers when a new sales order is created",
85
- "eventPattern": "sales.orders.created"
86
- }
87
- ],
88
- "transitions": [
89
- {
90
- "transitionId": "start_to_pending",
91
- "transitionName": "Submit for Approval",
92
- "fromStepId": "start",
93
- "toStepId": "pending_approval",
94
- "trigger": "auto",
95
- "priority": 100,
96
- "continueOnActivityFailure": true,
97
- "activities": [
98
- {
99
- "activityId": "set_pending_status",
100
- "activityName": "Set Order to Pending Approval",
101
- "activityType": "UPDATE_ENTITY",
102
- "async": false,
103
- "config": {
104
- "commandId": "sales.orders.update",
105
- "statusDictionary": "sales.order_status",
106
- "input": {
107
- "id": "{{context.id}}",
108
- "statusValue": "pending_approval"
109
- }
110
- },
111
- "retryPolicy": {
112
- "maxAttempts": 3,
113
- "initialIntervalMs": 1000,
114
- "backoffCoefficient": 2,
115
- "maxIntervalMs": 10000
116
- }
117
- },
118
- {
119
- "activityId": "emit_approval_requested",
120
- "activityName": "Emit Approval Requested Event",
121
- "activityType": "EMIT_EVENT",
122
- "async": true,
123
- "config": {
124
- "eventName": "sales.order.approval.requested",
125
- "payload": {
126
- "orderId": "{{context.id}}",
127
- "workflowInstanceId": "{{workflow.instanceId}}"
128
- }
129
- }
130
- }
131
- ]
132
- },
133
- {
134
- "transitionId": "pending_approval_to_approved",
135
- "transitionName": "Approve Order",
136
- "fromStepId": "pending_approval",
137
- "toStepId": "approved",
138
- "trigger": "auto",
139
- "priority": 100,
140
- "preConditions": [
141
- {
142
- "ruleId": "workflow_order_approval_check_approved",
143
- "required": true
144
- }
145
- ],
146
- "continueOnActivityFailure": true,
147
- "activities": [
148
- {
149
- "activityId": "set_approved_status",
150
- "activityName": "Set Order to Approved",
151
- "activityType": "UPDATE_ENTITY",
152
- "async": false,
153
- "config": {
154
- "commandId": "sales.orders.update",
155
- "statusDictionary": "sales.order_status",
156
- "input": {
157
- "id": "{{context.id}}",
158
- "statusValue": "approved"
159
- }
160
- },
161
- "retryPolicy": {
162
- "maxAttempts": 3,
163
- "initialIntervalMs": 1000,
164
- "backoffCoefficient": 2,
165
- "maxIntervalMs": 10000
166
- }
167
- },
168
- {
169
- "activityId": "emit_order_approved",
170
- "activityName": "Emit Order Approved Event",
171
- "activityType": "EMIT_EVENT",
172
- "async": true,
173
- "config": {
174
- "eventName": "sales.order.approval.approved",
175
- "payload": {
176
- "orderId": "{{context.id}}",
177
- "workflowInstanceId": "{{workflow.instanceId}}",
178
- "approvedBy": "{{context.completedBy}}",
179
- "comments": "{{context.comments}}"
180
- }
181
- }
182
- }
183
- ]
184
- },
185
- {
186
- "transitionId": "pending_approval_to_rejected",
187
- "transitionName": "Reject Order",
188
- "fromStepId": "pending_approval",
189
- "toStepId": "rejected",
190
- "trigger": "auto",
191
- "priority": 90,
192
- "preConditions": [
193
- {
194
- "ruleId": "workflow_order_approval_check_rejected",
195
- "required": true
196
- }
197
- ],
198
- "continueOnActivityFailure": true,
199
- "activities": [
200
- {
201
- "activityId": "set_rejected_status",
202
- "activityName": "Set Order to Rejected",
203
- "activityType": "UPDATE_ENTITY",
204
- "async": false,
205
- "config": {
206
- "commandId": "sales.orders.update",
207
- "statusDictionary": "sales.order_status",
208
- "input": {
209
- "id": "{{context.id}}",
210
- "statusValue": "rejected"
211
- }
212
- },
213
- "retryPolicy": {
214
- "maxAttempts": 3,
215
- "initialIntervalMs": 1000,
216
- "backoffCoefficient": 2,
217
- "maxIntervalMs": 10000
218
- }
219
- },
220
- {
221
- "activityId": "emit_order_rejected",
222
- "activityName": "Emit Order Rejected Event",
223
- "activityType": "EMIT_EVENT",
224
- "async": true,
225
- "config": {
226
- "eventName": "sales.order.approval.rejected",
227
- "payload": {
228
- "orderId": "{{context.id}}",
229
- "workflowInstanceId": "{{workflow.instanceId}}",
230
- "rejectedBy": "{{context.completedBy}}",
231
- "comments": "{{context.comments}}"
232
- }
233
- }
234
- }
235
- ]
236
- },
237
- {
238
- "transitionId": "approved_to_end",
239
- "transitionName": "Complete After Approval",
240
- "fromStepId": "approved",
241
- "toStepId": "end",
242
- "trigger": "auto",
243
- "priority": 100,
244
- "continueOnActivityFailure": true
245
- },
246
- {
247
- "transitionId": "rejected_to_end",
248
- "transitionName": "Complete After Rejection",
249
- "fromStepId": "rejected",
250
- "toStepId": "end",
251
- "trigger": "auto",
252
- "priority": 100,
253
- "continueOnActivityFailure": true
254
- }
255
- ]
256
- }
257
- }
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "ruleId": "workflow_order_approval_check_approved",
4
- "ruleName": "Check Decision is Approve",
5
- "description": "Validates that the approval task decision is 'approve'",
6
- "ruleType": "GUARD",
7
- "entityType": "workflow:sales_order_approval_v1:transition",
8
- "eventType": "pre_transition",
9
- "conditionExpression": {
10
- "field": "workflowContext.decision",
11
- "operator": "=",
12
- "value": "approve"
13
- },
14
- "enabled": true,
15
- "priority": 100
16
- },
17
- {
18
- "ruleId": "workflow_order_approval_check_rejected",
19
- "ruleName": "Check Decision is Reject",
20
- "description": "Validates that the approval task decision is 'reject'",
21
- "ruleType": "GUARD",
22
- "entityType": "workflow:sales_order_approval_v1:transition",
23
- "eventType": "pre_transition",
24
- "conditionExpression": {
25
- "field": "workflowContext.decision",
26
- "operator": "=",
27
- "value": "reject"
28
- },
29
- "enabled": true,
30
- "priority": 100
31
- }
32
- ]