@open-mercato/cli 0.6.7-develop.6756.1.5300c41145 → 0.6.7-develop.6766.1.40c9011995

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 (79) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/build.mjs +2 -1
  3. package/dist/agentic/guides/extensions.md +20 -3
  4. package/dist/agentic/guides/framework-extension-points.md +36 -0
  5. package/dist/agentic/guides/module-facts.json +39708 -230
  6. package/dist/agentic/guides/modules/ai_assistant.md +49 -9
  7. package/dist/agentic/guides/modules/api_docs.md +11 -1
  8. package/dist/agentic/guides/modules/api_keys.md +24 -1
  9. package/dist/agentic/guides/modules/attachments.md +22 -6
  10. package/dist/agentic/guides/modules/audit_logs.md +35 -1
  11. package/dist/agentic/guides/modules/auth.md +79 -15
  12. package/dist/agentic/guides/modules/business_rules.md +36 -3
  13. package/dist/agentic/guides/modules/catalog.md +160 -22
  14. package/dist/agentic/guides/modules/channel_gmail.md +14 -1
  15. package/dist/agentic/guides/modules/channel_imap.md +14 -1
  16. package/dist/agentic/guides/modules/checkout.md +134 -19
  17. package/dist/agentic/guides/modules/communication_channels.md +110 -20
  18. package/dist/agentic/guides/modules/configs.md +15 -1
  19. package/dist/agentic/guides/modules/content.md +11 -1
  20. package/dist/agentic/guides/modules/currencies.md +50 -9
  21. package/dist/agentic/guides/modules/customer_accounts.md +151 -28
  22. package/dist/agentic/guides/modules/customers.md +299 -52
  23. package/dist/agentic/guides/modules/dashboards.md +30 -1
  24. package/dist/agentic/guides/modules/data_sync.md +40 -7
  25. package/dist/agentic/guides/modules/dictionaries.md +24 -6
  26. package/dist/agentic/guides/modules/directory.md +52 -9
  27. package/dist/agentic/guides/modules/entities.md +41 -1
  28. package/dist/agentic/guides/modules/events.md +11 -1
  29. package/dist/agentic/guides/modules/feature_toggles.md +15 -1
  30. package/dist/agentic/guides/modules/gateway_stripe.md +14 -1
  31. package/dist/agentic/guides/modules/generators.md +11 -1
  32. package/dist/agentic/guides/modules/inbox_ops.md +58 -16
  33. package/dist/agentic/guides/modules/integrations.md +30 -7
  34. package/dist/agentic/guides/modules/messages.md +68 -13
  35. package/dist/agentic/guides/modules/notifications.md +13 -1
  36. package/dist/agentic/guides/modules/onboarding.md +13 -1
  37. package/dist/agentic/guides/modules/payment_gateways.md +51 -12
  38. package/dist/agentic/guides/modules/perspectives.md +16 -1
  39. package/dist/agentic/guides/modules/planner.md +33 -9
  40. package/dist/agentic/guides/modules/portal.md +24 -1
  41. package/dist/agentic/guides/modules/progress.md +34 -9
  42. package/dist/agentic/guides/modules/query_index.md +56 -3
  43. package/dist/agentic/guides/modules/record_locks.md +60 -13
  44. package/dist/agentic/guides/modules/resources.md +79 -18
  45. package/dist/agentic/guides/modules/sales.md +238 -48
  46. package/dist/agentic/guides/modules/scheduler.md +23 -7
  47. package/dist/agentic/guides/modules/search.md +28 -3
  48. package/dist/agentic/guides/modules/security.md +106 -23
  49. package/dist/agentic/guides/modules/shipping_carriers.md +38 -10
  50. package/dist/agentic/guides/modules/sso.md +47 -15
  51. package/dist/agentic/guides/modules/staff.md +117 -38
  52. package/dist/agentic/guides/modules/storage_s3.md +13 -1
  53. package/dist/agentic/guides/modules/sync_akeneo.md +13 -1
  54. package/dist/agentic/guides/modules/sync_excel.md +15 -1
  55. package/dist/agentic/guides/modules/system_status_overlays.md +14 -1
  56. package/dist/agentic/guides/modules/translations.md +25 -5
  57. package/dist/agentic/guides/modules/webhooks.md +85 -15
  58. package/dist/agentic/guides/modules/wms.md +234 -31
  59. package/dist/agentic/guides/modules/workflows.md +114 -30
  60. package/dist/agentic/guides/upstream/BACKWARD_COMPATIBILITY.md +7 -0
  61. package/dist/agentic/guides/upstream/manifest.json +2 -2
  62. package/dist/agentic/shared/AGENTS.md.template +2 -2
  63. package/dist/agentic/shared/ai/harness/README.md +2 -0
  64. package/dist/agentic/shared/ai/harness/cases.json +80 -39
  65. package/dist/agentic/shared/ai/skills/om-system-extension/references/mechanism-selector.md +3 -1
  66. package/dist/agentic/shared/ai/skills/om-system-extension/references/unified-overrides.md +2 -1
  67. package/dist/agentic/shared/scripts/framework-context.mjs +3 -9
  68. package/dist/lib/generators/module-extension-facts.js +1185 -0
  69. package/dist/lib/generators/module-extension-facts.js.map +7 -0
  70. package/dist/lib/generators/module-facts.js +134 -7
  71. package/dist/lib/generators/module-facts.js.map +2 -2
  72. package/dist/lib/generators/module-registry.js +1 -0
  73. package/dist/lib/generators/module-registry.js.map +2 -2
  74. package/package.json +5 -5
  75. package/src/lib/generators/__tests__/module-extension-facts.test.ts +402 -0
  76. package/src/lib/generators/__tests__/module-facts.bc-guard.test.ts +39 -2
  77. package/src/lib/generators/module-extension-facts.ts +1428 -0
  78. package/src/lib/generators/module-facts.ts +143 -6
  79. package/src/lib/generators/module-registry.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  # webhooks — module facts (generated, do not edit)
2
- <!-- generated from @open-mercato/webhooks 0.6.7-develop.6756.1.5300c41145; core 0.6.7-develop.6756.1.5300c41145 — R1 staleness stamp -->
2
+ <!-- generated from @open-mercato/webhooks 0.6.7-develop.6766.1.40c9011995; core 0.6.7-develop.6766.1.40c9011995 — R1 staleness stamp -->
3
3
  Source root: [node_modules/@open-mercato/webhooks/src/modules/webhooks](../../../node_modules/@open-mercato/webhooks/src/modules/webhooks)
4
4
 
5
5
  ## Entities
@@ -14,20 +14,20 @@ Source root: [node_modules/@open-mercato/webhooks/src/modules/webhooks](../../..
14
14
 
15
15
  ## Events (12)
16
16
 
17
- | ID | Category | Entity |
18
- |---|---|---|
19
- | webhooks.webhook.created | — | webhook |
20
- | webhooks.webhook.updated | — | webhook |
21
- | webhooks.webhook.deleted | — | webhook |
22
- | webhooks.delivery.enqueued | — | delivery |
23
- | webhooks.delivery.succeeded | — | delivery |
24
- | webhooks.delivery.failed | — | delivery |
25
- | webhooks.delivery.exhausted | — | delivery |
26
- | webhooks.webhook.disabled | — | webhook |
27
- | webhooks.inbound.received | — | inbound |
28
- | webhooks.inbound.processed | — | inbound |
29
- | webhooks.inbound.handler_failed | — | inbound |
30
- | webhooks.secret.rotated | — | webhook |
17
+ | ID | Category | Entity | Browser transport |
18
+ |---|---|---|---|
19
+ | webhooks.webhook.created | — | webhook | — |
20
+ | webhooks.webhook.updated | — | webhook | — |
21
+ | webhooks.webhook.deleted | — | webhook | — |
22
+ | webhooks.delivery.enqueued | — | delivery | — |
23
+ | webhooks.delivery.succeeded | — | delivery | client |
24
+ | webhooks.delivery.failed | — | delivery | client |
25
+ | webhooks.delivery.exhausted | — | delivery | client |
26
+ | webhooks.webhook.disabled | — | webhook | client |
27
+ | webhooks.inbound.received | — | inbound | — |
28
+ | webhooks.inbound.processed | — | inbound | — |
29
+ | webhooks.inbound.handler_failed | — | inbound | client |
30
+ | webhooks.secret.rotated | — | webhook | — |
31
31
 
32
32
  ## ACL features (4)
33
33
 
@@ -62,6 +62,76 @@ _none_
62
62
  - Entity IDs: webhooks:webhook_entity · webhooks:webhook_delivery_entity · webhooks:webhook_inbound_receipt_entity · webhooks:webhook_ingestion_entity · webhooks:inbound_endpoint_config_entity
63
63
  - Table IDs: webhooks.deliveries · webhooks.integration-deliveries · webhooks.list
64
64
 
65
+ ## UMES hosts
66
+
67
+ | ID / pattern | Family | Supports | Context | Stability |
68
+ |---|---|---|---|---|
69
+ | data-table:webhooks.deliveries | data-table | component-replacement | — | FROZEN |
70
+ | data-table:webhooks.deliveries:bulk-actions | data-table | bulk-action | — | FROZEN |
71
+ | data-table:webhooks.deliveries:columns | data-table | column-widget | — | FROZEN |
72
+ | data-table:webhooks.deliveries:filters | data-table | filter-widget | — | FROZEN |
73
+ | data-table:webhooks.deliveries:footer | data-table | render-widget | — | FROZEN |
74
+ | data-table:webhooks.deliveries:header | data-table | render-widget | — | FROZEN |
75
+ | data-table:webhooks.deliveries:row-actions | data-table | row-action | — | FROZEN |
76
+ | data-table:webhooks.deliveries:search-trailing | data-table | render-widget | — | FROZEN |
77
+ | data-table:webhooks.deliveries:toolbar | data-table | toolbar-widget | — | FROZEN |
78
+ | data-table:webhooks.integration-deliveries | data-table | component-replacement | — | FROZEN |
79
+ | data-table:webhooks.integration-deliveries:bulk-actions | data-table | bulk-action | — | FROZEN |
80
+ | data-table:webhooks.integration-deliveries:columns | data-table | column-widget | — | FROZEN |
81
+ | data-table:webhooks.integration-deliveries:filters | data-table | filter-widget | — | FROZEN |
82
+ | data-table:webhooks.integration-deliveries:footer | data-table | render-widget | — | FROZEN |
83
+ | data-table:webhooks.integration-deliveries:header | data-table | render-widget | — | FROZEN |
84
+ | data-table:webhooks.integration-deliveries:row-actions | data-table | row-action | — | FROZEN |
85
+ | data-table:webhooks.integration-deliveries:search-trailing | data-table | render-widget | — | FROZEN |
86
+ | data-table:webhooks.integration-deliveries:toolbar | data-table | toolbar-widget | — | FROZEN |
87
+ | data-table:webhooks.list | data-table | component-replacement | — | FROZEN |
88
+ | data-table:webhooks.list:bulk-actions | data-table | bulk-action | — | FROZEN |
89
+ | data-table:webhooks.list:columns | data-table | column-widget | — | FROZEN |
90
+ | data-table:webhooks.list:filters | data-table | filter-widget | — | FROZEN |
91
+ | data-table:webhooks.list:footer | data-table | render-widget | — | FROZEN |
92
+ | data-table:webhooks.list:header | data-table | render-widget | — | FROZEN |
93
+ | data-table:webhooks.list:row-actions | data-table | row-action | — | FROZEN |
94
+ | data-table:webhooks.list:search-trailing | data-table | render-widget | — | FROZEN |
95
+ | data-table:webhooks.list:toolbar | data-table | toolbar-widget | — | FROZEN |
96
+ | webhooks:inbound_endpoint_config_entity | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
97
+ | webhooks:webhook_delivery_entity | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
98
+ | webhooks:webhook_entity | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
99
+ | webhooks:webhook_inbound_receipt_entity | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
100
+ | webhooks:webhook_ingestion_entity | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
101
+ | webhooks.delivery.enqueued | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
102
+ | webhooks.delivery.exhausted | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
103
+ | webhooks.delivery.failed | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
104
+ | webhooks.delivery.succeeded | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
105
+ | webhooks.inbound.handler_failed | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
106
+ | webhooks.inbound.processed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
107
+ | webhooks.inbound.received | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
108
+ | webhooks.secret.rotated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
109
+ | webhooks.webhook.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
110
+ | webhooks.webhook.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
111
+ | webhooks.webhook.disabled | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
112
+ | webhooks.webhook.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
113
+
114
+ ## UMES contributions
115
+
116
+ | ID | Kind | Target | Phase / operations | Contract | Resolution |
117
+ |---|---|---|---|---|---|
118
+ | webhooks.delivery.exhausted.browser | browser-reaction | webhooks.delivery.exhausted | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
119
+ | webhooks.delivery.failed.browser | browser-reaction | webhooks.delivery.failed | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
120
+ | webhooks.delivery.succeeded.browser | browser-reaction | webhooks.delivery.succeeded | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
121
+ | webhooks.inbound.handler_failed.browser | browser-reaction | webhooks.inbound.handler_failed | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
122
+ | webhooks.webhook.disabled.browser | browser-reaction | webhooks.webhook.disabled | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
123
+ | integration:webhook_custom | specialized-registry | webhook_custom | — | registry=integration; registryId=webhook_custom; specialistRoute=integrations | fact-ref |
124
+ | notification:webhooks.delivery.failed | specialized-registry | webhooks.delivery.failed | — | registry=notification; registryId=webhooks.delivery.failed; specialistRoute=notifications | fact-ref |
125
+ | webhooks:failed-delivery-notification | subscriber | webhooks.delivery.exhausted | async-delivery | event=webhooks.delivery.exhausted; persistent=true; subscriberId=webhooks:failed-delivery-notification; sync=false | fact-ref |
126
+ | webhooks:inbound-process | subscriber | webhooks.inbound.received | async-delivery | event=webhooks.inbound.received; persistent=true; subscriberId=webhooks:inbound-process; sync=false | fact-ref |
127
+ | webhooks:outbound-dispatch | subscriber | * | async-delivery | event=*; persistent=true; subscriberId=webhooks:outbound-dispatch; sync=false | pattern |
128
+
129
+ ## UMES diagnostics
130
+
131
+ - unbound-helper: data-table:webhooks.deliveries:empty-state
132
+ - unbound-helper: data-table:webhooks.integration-deliveries:empty-state
133
+ - unbound-helper: data-table:webhooks.list:empty-state
134
+
65
135
  ## Notifications
66
136
 
67
137
  webhooks.delivery.failed
@@ -1,5 +1,5 @@
1
1
  # wms — module facts (generated, do not edit)
2
- <!-- generated from @open-mercato/core 0.6.7-develop.6756.1.5300c41145; core 0.6.7-develop.6756.1.5300c41145 — R1 staleness stamp -->
2
+ <!-- generated from @open-mercato/core 0.6.7-develop.6766.1.40c9011995; core 0.6.7-develop.6766.1.40c9011995 — R1 staleness stamp -->
3
3
  Source root: [node_modules/@open-mercato/core/src/modules/wms](../../../node_modules/@open-mercato/core/src/modules/wms)
4
4
 
5
5
  ## Entities
@@ -18,35 +18,35 @@ Source root: [node_modules/@open-mercato/core/src/modules/wms](../../../node_mod
18
18
 
19
19
  ## Events (27)
20
20
 
21
- | ID | Category | Entity |
22
- |---|---|---|
23
- | wms.warehouse.created | crud | warehouse |
24
- | wms.warehouse.updated | crud | warehouse |
25
- | wms.zone.created | crud | zone |
26
- | wms.zone.updated | crud | zone |
27
- | wms.location.created | crud | location |
28
- | wms.location.updated | crud | location |
29
- | wms.inventory_profile.created | crud | inventory_profile |
30
- | wms.inventory_profile.updated | crud | inventory_profile |
31
- | wms.inventory_balance.created | crud | inventory_balance |
32
- | wms.inventory_balance.updated | crud | inventory_balance |
33
- | wms.inventory_balance.deleted | crud | inventory_balance |
34
- | wms.inventory_reservation.created | crud | inventory_reservation |
35
- | wms.inventory_reservation.updated | crud | inventory_reservation |
36
- | wms.inventory_reservation.deleted | crud | inventory_reservation |
37
- | wms.inventory_movement.created | crud | inventory_movement |
38
- | wms.inventory_movement.updated | crud | inventory_movement |
39
- | wms.inventory_movement.deleted | crud | inventory_movement |
40
- | wms.inventory.received | custom | inventory |
41
- | wms.inventory.adjusted | custom | inventory |
42
- | wms.inventory.reserved | custom | inventory |
43
- | wms.inventory.released | custom | inventory |
44
- | wms.inventory.allocated | custom | inventory |
45
- | wms.inventory.moved | custom | inventory |
46
- | wms.inventory.reconciled | custom | inventory |
47
- | wms.inventory.low_stock | lifecycle | inventory |
48
- | wms.inventory.balance_drift | lifecycle | inventory |
49
- | wms.inventory.reservation_shortfall | lifecycle | inventory |
21
+ | ID | Category | Entity | Browser transport |
22
+ |---|---|---|---|
23
+ | wms.warehouse.created | crud | warehouse | — |
24
+ | wms.warehouse.updated | crud | warehouse | — |
25
+ | wms.zone.created | crud | zone | — |
26
+ | wms.zone.updated | crud | zone | — |
27
+ | wms.location.created | crud | location | — |
28
+ | wms.location.updated | crud | location | — |
29
+ | wms.inventory_profile.created | crud | inventory_profile | — |
30
+ | wms.inventory_profile.updated | crud | inventory_profile | — |
31
+ | wms.inventory_balance.created | crud | inventory_balance | — |
32
+ | wms.inventory_balance.updated | crud | inventory_balance | — |
33
+ | wms.inventory_balance.deleted | crud | inventory_balance | — |
34
+ | wms.inventory_reservation.created | crud | inventory_reservation | — |
35
+ | wms.inventory_reservation.updated | crud | inventory_reservation | — |
36
+ | wms.inventory_reservation.deleted | crud | inventory_reservation | — |
37
+ | wms.inventory_movement.created | crud | inventory_movement | — |
38
+ | wms.inventory_movement.updated | crud | inventory_movement | — |
39
+ | wms.inventory_movement.deleted | crud | inventory_movement | — |
40
+ | wms.inventory.received | custom | inventory | — |
41
+ | wms.inventory.adjusted | custom | inventory | — |
42
+ | wms.inventory.reserved | custom | inventory | — |
43
+ | wms.inventory.released | custom | inventory | — |
44
+ | wms.inventory.allocated | custom | inventory | — |
45
+ | wms.inventory.moved | custom | inventory | — |
46
+ | wms.inventory.reconciled | custom | inventory | — |
47
+ | wms.inventory.low_stock | lifecycle | inventory | — |
48
+ | wms.inventory.balance_drift | lifecycle | inventory | — |
49
+ | wms.inventory.reservation_shortfall | lifecycle | inventory | — |
50
50
 
51
51
  ## ACL features (10)
52
52
 
@@ -88,7 +88,210 @@ _none_
88
88
  ## Host extension points
89
89
 
90
90
  - Entity IDs: _none_
91
- - Table IDs: wms.config.inventoryProfiles · wms.config.locations · wms.config.warehouses · wms.config.zones · wms.location.activity · wms.location.items · wms.lot.activity · wms.lot.distribution · wms.lots.list · wms.sku.activity · wms.sku.distribution
91
+ - Table IDs: wms.config.inventoryProfiles · wms.config.locations · wms.config.warehouses · wms.config.zones · wms.inventory.balances · wms.inventory.movements · wms.inventory.reservations · wms.location.activity · wms.location.items · wms.lot.activity · wms.lot.distribution · wms.lots.list · wms.sku.activity · wms.sku.distribution
92
+
93
+ ## UMES hosts
94
+
95
+ | ID / pattern | Family | Supports | Context | Stability |
96
+ |---|---|---|---|---|
97
+ | data-table:wms.config.inventoryProfiles | data-table | component-replacement | — | FROZEN |
98
+ | data-table:wms.config.inventoryProfiles:bulk-actions | data-table | bulk-action | — | FROZEN |
99
+ | data-table:wms.config.inventoryProfiles:columns | data-table | column-widget | — | FROZEN |
100
+ | data-table:wms.config.inventoryProfiles:filters | data-table | filter-widget | — | FROZEN |
101
+ | data-table:wms.config.inventoryProfiles:footer | data-table | render-widget | — | FROZEN |
102
+ | data-table:wms.config.inventoryProfiles:header | data-table | render-widget | — | FROZEN |
103
+ | data-table:wms.config.inventoryProfiles:row-actions | data-table | row-action | — | FROZEN |
104
+ | data-table:wms.config.inventoryProfiles:search-trailing | data-table | render-widget | — | FROZEN |
105
+ | data-table:wms.config.inventoryProfiles:toolbar | data-table | toolbar-widget | — | FROZEN |
106
+ | data-table:wms.config.locations | data-table | component-replacement | — | FROZEN |
107
+ | data-table:wms.config.locations:bulk-actions | data-table | bulk-action | — | FROZEN |
108
+ | data-table:wms.config.locations:columns | data-table | column-widget | — | FROZEN |
109
+ | data-table:wms.config.locations:filters | data-table | filter-widget | — | FROZEN |
110
+ | data-table:wms.config.locations:footer | data-table | render-widget | — | FROZEN |
111
+ | data-table:wms.config.locations:header | data-table | render-widget | — | FROZEN |
112
+ | data-table:wms.config.locations:row-actions | data-table | row-action | — | FROZEN |
113
+ | data-table:wms.config.locations:search-trailing | data-table | render-widget | — | FROZEN |
114
+ | data-table:wms.config.locations:toolbar | data-table | toolbar-widget | — | FROZEN |
115
+ | data-table:wms.config.warehouses | data-table | component-replacement | — | FROZEN |
116
+ | data-table:wms.config.warehouses:bulk-actions | data-table | bulk-action | — | FROZEN |
117
+ | data-table:wms.config.warehouses:columns | data-table | column-widget | — | FROZEN |
118
+ | data-table:wms.config.warehouses:filters | data-table | filter-widget | — | FROZEN |
119
+ | data-table:wms.config.warehouses:footer | data-table | render-widget | — | FROZEN |
120
+ | data-table:wms.config.warehouses:header | data-table | render-widget | — | FROZEN |
121
+ | data-table:wms.config.warehouses:row-actions | data-table | row-action | — | FROZEN |
122
+ | data-table:wms.config.warehouses:search-trailing | data-table | render-widget | — | FROZEN |
123
+ | data-table:wms.config.warehouses:toolbar | data-table | toolbar-widget | — | FROZEN |
124
+ | data-table:wms.config.zones | data-table | component-replacement | — | FROZEN |
125
+ | data-table:wms.config.zones:bulk-actions | data-table | bulk-action | — | FROZEN |
126
+ | data-table:wms.config.zones:columns | data-table | column-widget | — | FROZEN |
127
+ | data-table:wms.config.zones:filters | data-table | filter-widget | — | FROZEN |
128
+ | data-table:wms.config.zones:footer | data-table | render-widget | — | FROZEN |
129
+ | data-table:wms.config.zones:header | data-table | render-widget | — | FROZEN |
130
+ | data-table:wms.config.zones:row-actions | data-table | row-action | — | FROZEN |
131
+ | data-table:wms.config.zones:search-trailing | data-table | render-widget | — | FROZEN |
132
+ | data-table:wms.config.zones:toolbar | data-table | toolbar-widget | — | FROZEN |
133
+ | data-table:wms.inventory.balances | data-table | component-replacement | — | FROZEN |
134
+ | data-table:wms.inventory.balances:bulk-actions | data-table | bulk-action | — | FROZEN |
135
+ | data-table:wms.inventory.balances:columns | data-table | column-widget | — | FROZEN |
136
+ | data-table:wms.inventory.balances:filters | data-table | filter-widget | — | FROZEN |
137
+ | data-table:wms.inventory.balances:footer | data-table | render-widget | — | FROZEN |
138
+ | data-table:wms.inventory.balances:header | data-table | render-widget | — | FROZEN |
139
+ | data-table:wms.inventory.balances:row-actions | data-table | row-action | — | FROZEN |
140
+ | data-table:wms.inventory.balances:search-trailing | data-table | render-widget | — | FROZEN |
141
+ | data-table:wms.inventory.balances:toolbar | data-table | toolbar-widget | — | FROZEN |
142
+ | data-table:wms.inventory.movements | data-table | component-replacement | — | FROZEN |
143
+ | data-table:wms.inventory.movements:bulk-actions | data-table | bulk-action | — | FROZEN |
144
+ | data-table:wms.inventory.movements:columns | data-table | column-widget | — | FROZEN |
145
+ | data-table:wms.inventory.movements:filters | data-table | filter-widget | — | FROZEN |
146
+ | data-table:wms.inventory.movements:footer | data-table | render-widget | — | FROZEN |
147
+ | data-table:wms.inventory.movements:header | data-table | render-widget | — | FROZEN |
148
+ | data-table:wms.inventory.movements:row-actions | data-table | row-action | — | FROZEN |
149
+ | data-table:wms.inventory.movements:search-trailing | data-table | render-widget | — | FROZEN |
150
+ | data-table:wms.inventory.movements:toolbar | data-table | toolbar-widget | — | FROZEN |
151
+ | data-table:wms.inventory.reservations | data-table | component-replacement | — | FROZEN |
152
+ | data-table:wms.inventory.reservations:bulk-actions | data-table | bulk-action | — | FROZEN |
153
+ | data-table:wms.inventory.reservations:columns | data-table | column-widget | — | FROZEN |
154
+ | data-table:wms.inventory.reservations:filters | data-table | filter-widget | — | FROZEN |
155
+ | data-table:wms.inventory.reservations:footer | data-table | render-widget | — | FROZEN |
156
+ | data-table:wms.inventory.reservations:header | data-table | render-widget | — | FROZEN |
157
+ | data-table:wms.inventory.reservations:row-actions | data-table | row-action | — | FROZEN |
158
+ | data-table:wms.inventory.reservations:search-trailing | data-table | render-widget | — | FROZEN |
159
+ | data-table:wms.inventory.reservations:toolbar | data-table | toolbar-widget | — | FROZEN |
160
+ | data-table:wms.location.activity | data-table | component-replacement | — | FROZEN |
161
+ | data-table:wms.location.activity:bulk-actions | data-table | bulk-action | — | FROZEN |
162
+ | data-table:wms.location.activity:columns | data-table | column-widget | — | FROZEN |
163
+ | data-table:wms.location.activity:filters | data-table | filter-widget | — | FROZEN |
164
+ | data-table:wms.location.activity:footer | data-table | render-widget | — | FROZEN |
165
+ | data-table:wms.location.activity:header | data-table | render-widget | — | FROZEN |
166
+ | data-table:wms.location.activity:row-actions | data-table | row-action | — | FROZEN |
167
+ | data-table:wms.location.activity:search-trailing | data-table | render-widget | — | FROZEN |
168
+ | data-table:wms.location.activity:toolbar | data-table | toolbar-widget | — | FROZEN |
169
+ | data-table:wms.location.items | data-table | component-replacement | — | FROZEN |
170
+ | data-table:wms.location.items:bulk-actions | data-table | bulk-action | — | FROZEN |
171
+ | data-table:wms.location.items:columns | data-table | column-widget | — | FROZEN |
172
+ | data-table:wms.location.items:filters | data-table | filter-widget | — | FROZEN |
173
+ | data-table:wms.location.items:footer | data-table | render-widget | — | FROZEN |
174
+ | data-table:wms.location.items:header | data-table | render-widget | — | FROZEN |
175
+ | data-table:wms.location.items:row-actions | data-table | row-action | — | FROZEN |
176
+ | data-table:wms.location.items:search-trailing | data-table | render-widget | — | FROZEN |
177
+ | data-table:wms.location.items:toolbar | data-table | toolbar-widget | — | FROZEN |
178
+ | data-table:wms.lot.activity | data-table | component-replacement | — | FROZEN |
179
+ | data-table:wms.lot.activity:bulk-actions | data-table | bulk-action | — | FROZEN |
180
+ | data-table:wms.lot.activity:columns | data-table | column-widget | — | FROZEN |
181
+ | data-table:wms.lot.activity:filters | data-table | filter-widget | — | FROZEN |
182
+ | data-table:wms.lot.activity:footer | data-table | render-widget | — | FROZEN |
183
+ | data-table:wms.lot.activity:header | data-table | render-widget | — | FROZEN |
184
+ | data-table:wms.lot.activity:row-actions | data-table | row-action | — | FROZEN |
185
+ | data-table:wms.lot.activity:search-trailing | data-table | render-widget | — | FROZEN |
186
+ | data-table:wms.lot.activity:toolbar | data-table | toolbar-widget | — | FROZEN |
187
+ | data-table:wms.lot.distribution | data-table | component-replacement | — | FROZEN |
188
+ | data-table:wms.lot.distribution:bulk-actions | data-table | bulk-action | — | FROZEN |
189
+ | data-table:wms.lot.distribution:columns | data-table | column-widget | — | FROZEN |
190
+ | data-table:wms.lot.distribution:filters | data-table | filter-widget | — | FROZEN |
191
+ | data-table:wms.lot.distribution:footer | data-table | render-widget | — | FROZEN |
192
+ | data-table:wms.lot.distribution:header | data-table | render-widget | — | FROZEN |
193
+ | data-table:wms.lot.distribution:row-actions | data-table | row-action | — | FROZEN |
194
+ | data-table:wms.lot.distribution:search-trailing | data-table | render-widget | — | FROZEN |
195
+ | data-table:wms.lot.distribution:toolbar | data-table | toolbar-widget | — | FROZEN |
196
+ | data-table:wms.lots.list | data-table | component-replacement | — | FROZEN |
197
+ | data-table:wms.lots.list:bulk-actions | data-table | bulk-action | — | FROZEN |
198
+ | data-table:wms.lots.list:columns | data-table | column-widget | — | FROZEN |
199
+ | data-table:wms.lots.list:filters | data-table | filter-widget | — | FROZEN |
200
+ | data-table:wms.lots.list:footer | data-table | render-widget | — | FROZEN |
201
+ | data-table:wms.lots.list:header | data-table | render-widget | — | FROZEN |
202
+ | data-table:wms.lots.list:row-actions | data-table | row-action | — | FROZEN |
203
+ | data-table:wms.lots.list:search-trailing | data-table | render-widget | — | FROZEN |
204
+ | data-table:wms.lots.list:toolbar | data-table | toolbar-widget | — | FROZEN |
205
+ | data-table:wms.sku.activity | data-table | component-replacement | — | FROZEN |
206
+ | data-table:wms.sku.activity:bulk-actions | data-table | bulk-action | — | FROZEN |
207
+ | data-table:wms.sku.activity:columns | data-table | column-widget | — | FROZEN |
208
+ | data-table:wms.sku.activity:filters | data-table | filter-widget | — | FROZEN |
209
+ | data-table:wms.sku.activity:footer | data-table | render-widget | — | FROZEN |
210
+ | data-table:wms.sku.activity:header | data-table | render-widget | — | FROZEN |
211
+ | data-table:wms.sku.activity:row-actions | data-table | row-action | — | FROZEN |
212
+ | data-table:wms.sku.activity:search-trailing | data-table | render-widget | — | FROZEN |
213
+ | data-table:wms.sku.activity:toolbar | data-table | toolbar-widget | — | FROZEN |
214
+ | data-table:wms.sku.distribution | data-table | component-replacement | — | FROZEN |
215
+ | data-table:wms.sku.distribution:bulk-actions | data-table | bulk-action | — | FROZEN |
216
+ | data-table:wms.sku.distribution:columns | data-table | column-widget | — | FROZEN |
217
+ | data-table:wms.sku.distribution:filters | data-table | filter-widget | — | FROZEN |
218
+ | data-table:wms.sku.distribution:footer | data-table | render-widget | — | FROZEN |
219
+ | data-table:wms.sku.distribution:header | data-table | render-widget | — | FROZEN |
220
+ | data-table:wms.sku.distribution:row-actions | data-table | row-action | — | FROZEN |
221
+ | data-table:wms.sku.distribution:search-trailing | data-table | render-widget | — | FROZEN |
222
+ | data-table:wms.sku.distribution:toolbar | data-table | toolbar-widget | — | FROZEN |
223
+ | wms:inventory_balance | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
224
+ | wms:inventory_lot | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
225
+ | wms:inventory_movement | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
226
+ | wms:inventory_reservation | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
227
+ | wms:product_inventory_profile | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
228
+ | wms:sales_order_warehouse_assignment | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
229
+ | wms:warehouse | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
230
+ | wms:warehouse_location | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
231
+ | wms:warehouse_zone | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
232
+ | wms.inventory | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE |
233
+ | wms.inventory_balance.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
234
+ | wms.inventory_balance.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
235
+ | wms.inventory_balance.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
236
+ | wms.inventory_movement.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
237
+ | wms.inventory_movement.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
238
+ | wms.inventory_movement.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
239
+ | wms.inventory_profile.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
240
+ | wms.inventory_profile.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
241
+ | wms.inventory_reservation.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
242
+ | wms.inventory_reservation.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
243
+ | wms.inventory_reservation.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
244
+ | wms.inventory.adjusted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
245
+ | wms.inventory.allocated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
246
+ | wms.inventory.balance_drift | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
247
+ | wms.inventory.low_stock | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
248
+ | wms.inventory.moved | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
249
+ | wms.inventory.received | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
250
+ | wms.inventory.reconciled | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
251
+ | wms.inventory.released | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
252
+ | wms.inventory.reservation_shortfall | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
253
+ | wms.inventory.reserved | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
254
+ | wms.location.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
255
+ | wms.location.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
256
+ | wms.warehouse.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
257
+ | wms.warehouse.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
258
+ | wms.zone.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
259
+ | wms.zone.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
260
+
261
+ ## UMES contributions
262
+
263
+ | ID | Kind | Target | Phase / operations | Contract | Resolution |
264
+ |---|---|---|---|---|---|
265
+ | wms.catalog-products.inventory-profile-sync | api-interceptor | catalog/products | before, after | activation=crud-pipeline; failurePosture=fallback; methods=POST,PUT; phases=before,after; route=catalog/products; timeoutMs=2000 | fact-ref |
266
+ | wms.catalog-variants.inventory-profile-sync | api-interceptor | catalog/variants | before, after | activation=crud-pipeline; failurePosture=fallback; methods=POST,PUT; phases=before,after; route=catalog/variants; timeoutMs=2000 | fact-ref |
267
+ | wms.injection.catalog-inventory-profile@crud-form:catalog.catalog_product_variant:fields | crud-form | crud-form:catalog.catalog_product_variant:fields | — | entityId=catalog.catalog_product_variant; payload=field; requestHeaderCapability=true | framework |
268
+ | wms.injection.catalog-inventory-profile@crud-form:catalog.product:fields | crud-form | crud-form:catalog.product:fields | — | entityId=catalog.product; payload=field; requestHeaderCapability=true | exact |
269
+ | wms.catalog-product-inventory | response-enricher | catalog:catalog_product | list, detail | cachePosture=rerun-on-list-cache-hit; critical=false; fallback=configured; surfaces=list,detail; targetEntity=catalog:catalog_product; timeoutMs=2000 | fact-ref |
270
+ | wms.catalog-variant-inventory | response-enricher | catalog:catalog_product_variant | list, detail | cachePosture=rerun-on-list-cache-hit; critical=false; fallback=configured; surfaces=list,detail; targetEntity=catalog:catalog_product_variant; timeoutMs=2000 | fact-ref |
271
+ | wms.sales-order-inventory | response-enricher | sales:sales_order | list, detail | cachePosture=rerun-on-list-cache-hit; critical=false; fallback=configured; surfaces=list,detail; targetEntity=sales:sales_order; timeoutMs=2000 | fact-ref |
272
+ | notification:wms.inventory.low_stock | specialized-registry | wms.inventory.low_stock | — | registry=notification; registryId=wms.inventory.low_stock; specialistRoute=notifications | fact-ref |
273
+ | notification:wms.inventory.reservation_shortfall | specialized-registry | wms.inventory.reservation_shortfall | — | registry=notification; registryId=wms.inventory.reservation_shortfall; specialistRoute=notifications | fact-ref |
274
+ | wms:low-stock-notification | subscriber | wms.inventory.low_stock | async-delivery | event=wms.inventory.low_stock; persistent=true; subscriberId=wms:low-stock-notification; sync=false | fact-ref |
275
+ | wms:reservation-shortfall-notification | subscriber | wms.inventory.reservation_shortfall | async-delivery | event=wms.inventory.reservation_shortfall; persistent=true; subscriberId=wms:reservation-shortfall-notification; sync=false | fact-ref |
276
+ | wms:sales-order-cancelled-release | subscriber | sales.order.cancelled | async-delivery | event=sales.order.cancelled; persistent=true; subscriberId=wms:sales-order-cancelled-release; sync=false | fact-ref |
277
+ | wms:sales-order-confirmed-reserve | subscriber | sales.order.confirmed | async-delivery | event=sales.order.confirmed; persistent=true; subscriberId=wms:sales-order-confirmed-reserve; sync=false | fact-ref |
278
+
279
+ ## UMES diagnostics
280
+
281
+ - unbound-helper: data-table:wms.config.inventoryProfiles:empty-state
282
+ - unbound-helper: data-table:wms.config.locations:empty-state
283
+ - unbound-helper: data-table:wms.config.warehouses:empty-state
284
+ - unbound-helper: data-table:wms.config.zones:empty-state
285
+ - unbound-helper: data-table:wms.inventory.balances:empty-state
286
+ - unbound-helper: data-table:wms.inventory.movements:empty-state
287
+ - unbound-helper: data-table:wms.inventory.reservations:empty-state
288
+ - unbound-helper: data-table:wms.location.activity:empty-state
289
+ - unbound-helper: data-table:wms.location.items:empty-state
290
+ - unbound-helper: data-table:wms.lot.activity:empty-state
291
+ - unbound-helper: data-table:wms.lot.distribution:empty-state
292
+ - unbound-helper: data-table:wms.lots.list:empty-state
293
+ - unbound-helper: data-table:wms.sku.activity:empty-state
294
+ - unbound-helper: data-table:wms.sku.distribution:empty-state
92
295
 
93
296
  ## Notifications
94
297
 
@@ -1,5 +1,5 @@
1
1
  # workflows — module facts (generated, do not edit)
2
- <!-- generated from @open-mercato/core 0.6.7-develop.6756.1.5300c41145; core 0.6.7-develop.6756.1.5300c41145 — R1 staleness stamp -->
2
+ <!-- generated from @open-mercato/core 0.6.7-develop.6766.1.40c9011995; core 0.6.7-develop.6766.1.40c9011995 — R1 staleness stamp -->
3
3
  Source root: [node_modules/@open-mercato/core/src/modules/workflows](../../../node_modules/@open-mercato/core/src/modules/workflows)
4
4
 
5
5
  ## Entities
@@ -14,35 +14,36 @@ Source root: [node_modules/@open-mercato/core/src/modules/workflows](../../../no
14
14
  | workflows:workflow_event | WorkflowEvent | workflow_events | no | no |
15
15
  | workflows:workflow_event_trigger | WorkflowEventTrigger | workflow_event_triggers | yes | no |
16
16
 
17
- ## Events (25)
18
-
19
- | ID | Category | Entity |
20
- |---|---|---|
21
- | workflows.definition.created | crud | definition |
22
- | workflows.definition.updated | crud | definition |
23
- | workflows.definition.deleted | crud | definition |
24
- | workflows.definition.customized | lifecycle | definition |
25
- | workflows.definition.reset_to_code | lifecycle | definition |
26
- | workflows.instance.created | crud | instance |
27
- | workflows.instance.updated | crud | instance |
28
- | workflows.instance.deleted | crud | instance |
29
- | workflows.instance.started | lifecycle | — |
30
- | workflows.instance.completed | lifecycle | — |
31
- | workflows.instance.failed | lifecycle | — |
32
- | workflows.instance.cancelled | lifecycle | — |
33
- | workflows.instance.paused | lifecycle | — |
34
- | workflows.instance.resumed | lifecycle | — |
35
- | workflows.activity.started | lifecycle | — |
36
- | workflows.activity.completed | lifecycle | — |
37
- | workflows.activity.failed | lifecycle | — |
38
- | workflows.trigger.created | crud | trigger |
39
- | workflows.trigger.updated | crud | trigger |
40
- | workflows.trigger.deleted | crud | trigger |
41
- | workflows.branch.opened | lifecycle | branch |
42
- | workflows.branch.completed | lifecycle | branch |
43
- | workflows.branch.cancelled | lifecycle | branch |
44
- | workflows.branch.failed | lifecycle | branch |
45
- | workflows.join.completed | lifecycle | branch |
17
+ ## Events (26)
18
+
19
+ | ID | Category | Entity | Browser transport |
20
+ |---|---|---|---|
21
+ | workflows.definition.created | crud | definition | — |
22
+ | workflows.definition.updated | crud | definition | — |
23
+ | workflows.definition.deleted | crud | definition | — |
24
+ | workflows.definition.customized | lifecycle | definition | — |
25
+ | workflows.definition.reset_to_code | lifecycle | definition | — |
26
+ | workflows.instance.created | crud | instance | — |
27
+ | workflows.instance.updated | crud | instance | — |
28
+ | workflows.instance.deleted | crud | instance | — |
29
+ | workflows.instance.started | lifecycle | — | — |
30
+ | workflows.instance.completed | lifecycle | — | — |
31
+ | workflows.instance.failed | lifecycle | — | — |
32
+ | workflows.instance.cancelled | lifecycle | — | — |
33
+ | workflows.instance.paused | lifecycle | — | — |
34
+ | workflows.instance.resumed | lifecycle | — | — |
35
+ | workflows.activity.started | lifecycle | — | — |
36
+ | workflows.activity.completed | lifecycle | — | — |
37
+ | workflows.activity.failed | lifecycle | — | — |
38
+ | workflows.task.assigned | lifecycle | task | — |
39
+ | workflows.trigger.created | crud | trigger | — |
40
+ | workflows.trigger.updated | crud | trigger | — |
41
+ | workflows.trigger.deleted | crud | trigger | — |
42
+ | workflows.branch.opened | lifecycle | branch | — |
43
+ | workflows.branch.completed | lifecycle | branch | — |
44
+ | workflows.branch.cancelled | lifecycle | branch | — |
45
+ | workflows.branch.failed | lifecycle | branch | — |
46
+ | workflows.join.completed | lifecycle | branch | — |
46
47
 
47
48
  ## ACL features (18)
48
49
 
@@ -86,6 +87,89 @@ _none_
86
87
  - Entity IDs: _none_
87
88
  - Table IDs: workflows.definitions.list · workflows.instances.list · workflows.tasks.list
88
89
 
90
+ ## UMES hosts
91
+
92
+ | ID / pattern | Family | Supports | Context | Stability |
93
+ |---|---|---|---|---|
94
+ | data-table:workflows.definitions.list | data-table | component-replacement | — | FROZEN |
95
+ | data-table:workflows.definitions.list:bulk-actions | data-table | bulk-action | — | FROZEN |
96
+ | data-table:workflows.definitions.list:columns | data-table | column-widget | — | FROZEN |
97
+ | data-table:workflows.definitions.list:filters | data-table | filter-widget | — | FROZEN |
98
+ | data-table:workflows.definitions.list:footer | data-table | render-widget | — | FROZEN |
99
+ | data-table:workflows.definitions.list:header | data-table | render-widget | — | FROZEN |
100
+ | data-table:workflows.definitions.list:row-actions | data-table | row-action | — | FROZEN |
101
+ | data-table:workflows.definitions.list:search-trailing | data-table | render-widget | — | FROZEN |
102
+ | data-table:workflows.definitions.list:toolbar | data-table | toolbar-widget | — | FROZEN |
103
+ | data-table:workflows.instances.list | data-table | component-replacement | — | FROZEN |
104
+ | data-table:workflows.instances.list:bulk-actions | data-table | bulk-action | — | FROZEN |
105
+ | data-table:workflows.instances.list:columns | data-table | column-widget | — | FROZEN |
106
+ | data-table:workflows.instances.list:filters | data-table | filter-widget | — | FROZEN |
107
+ | data-table:workflows.instances.list:footer | data-table | render-widget | — | FROZEN |
108
+ | data-table:workflows.instances.list:header | data-table | render-widget | — | FROZEN |
109
+ | data-table:workflows.instances.list:row-actions | data-table | row-action | — | FROZEN |
110
+ | data-table:workflows.instances.list:search-trailing | data-table | render-widget | — | FROZEN |
111
+ | data-table:workflows.instances.list:toolbar | data-table | toolbar-widget | — | FROZEN |
112
+ | data-table:workflows.tasks.list | data-table | component-replacement | — | FROZEN |
113
+ | data-table:workflows.tasks.list:bulk-actions | data-table | bulk-action | — | FROZEN |
114
+ | data-table:workflows.tasks.list:columns | data-table | column-widget | — | FROZEN |
115
+ | data-table:workflows.tasks.list:filters | data-table | filter-widget | — | FROZEN |
116
+ | data-table:workflows.tasks.list:footer | data-table | render-widget | — | FROZEN |
117
+ | data-table:workflows.tasks.list:header | data-table | render-widget | — | FROZEN |
118
+ | data-table:workflows.tasks.list:row-actions | data-table | row-action | — | FROZEN |
119
+ | data-table:workflows.tasks.list:search-trailing | data-table | render-widget | — | FROZEN |
120
+ | data-table:workflows.tasks.list:toolbar | data-table | toolbar-widget | — | FROZEN |
121
+ | workflows:step_instance | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
122
+ | workflows:user_task | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
123
+ | workflows:workflow_branch_instance | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
124
+ | workflows:workflow_definition | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
125
+ | workflows:workflow_event | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
126
+ | workflows:workflow_event_trigger | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
127
+ | workflows:workflow_instance | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
128
+ | workflows.definition | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE |
129
+ | workflows.activity.completed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
130
+ | workflows.activity.failed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
131
+ | workflows.activity.started | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
132
+ | workflows.branch.cancelled | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
133
+ | workflows.branch.completed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
134
+ | workflows.branch.failed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
135
+ | workflows.branch.opened | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
136
+ | workflows.definition.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
137
+ | workflows.definition.customized | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
138
+ | workflows.definition.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
139
+ | workflows.definition.reset_to_code | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
140
+ | workflows.definition.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
141
+ | workflows.instance.cancelled | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
142
+ | workflows.instance.completed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
143
+ | workflows.instance.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
144
+ | workflows.instance.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
145
+ | workflows.instance.failed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
146
+ | workflows.instance.paused | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
147
+ | workflows.instance.resumed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
148
+ | workflows.instance.started | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
149
+ | workflows.instance.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
150
+ | workflows.join.completed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
151
+ | workflows.task.assigned | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
152
+ | workflows.trigger.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
153
+ | workflows.trigger.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
154
+ | workflows.trigger.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
155
+
156
+ ## UMES contributions
157
+
158
+ | ID | Kind | Target | Phase / operations | Contract | Resolution |
159
+ |---|---|---|---|---|---|
160
+ | notification:workflows.task.assigned | specialized-registry | workflows.task.assigned | — | registry=notification; registryId=workflows.task.assigned; specialistRoute=notifications | fact-ref |
161
+ | workflow:workflows.checkout-demo | specialized-registry | workflows.checkout-demo | — | registry=workflow; registryId=workflows.checkout-demo; specialistRoute=workflows | fact-ref |
162
+ | workflow:workflows.simple-approval | specialized-registry | workflows.simple-approval | — | registry=workflow; registryId=workflows.simple-approval; specialistRoute=workflows | fact-ref |
163
+ | workflows:event-trigger | subscriber | * | async-delivery | event=*; persistent=true; subscriberId=workflows:event-trigger; sync=false | pattern |
164
+ | workflows:task-assigned-notification | subscriber | workflows.task.assigned | async-delivery | event=workflows.task.assigned; persistent=true; subscriberId=workflows:task-assigned-notification; sync=false | fact-ref |
165
+ | workflows.injection.order-approval@sales.document.detail.order:details | widget | sales.document.detail.order:details | — | executionGuard=host; payload=render; registryKey=workflows.injection.order-approval | pattern |
166
+
167
+ ## UMES diagnostics
168
+
169
+ - unbound-helper: data-table:workflows.definitions.list:empty-state
170
+ - unbound-helper: data-table:workflows.instances.list:empty-state
171
+ - unbound-helper: data-table:workflows.tasks.list:empty-state
172
+
89
173
  ## Notifications
90
174
 
91
175
  workflows.task.assigned
@@ -26,6 +26,7 @@ The following file names, their expected export names, and their role in module
26
26
  | `ce.ts` | `entities: CustomEntitySpec[]` | MUST NOT change `CustomEntitySpec` required fields; may add optional fields |
27
27
  | `search.ts` | `searchConfig: SearchModuleConfig` | MUST NOT change `SearchEntityConfig` required fields; may add optional fields |
28
28
  | `events.ts` | `eventsConfig` via `createModuleEvents()` | MUST NOT change `EventDefinition` required fields (`id`, `label`); may add optional fields |
29
+ | `extension-points.ts` | `extensionPoints: ModuleExtensionPoints` | New additive convention; declared exact/pattern host IDs, aliases, fallbacks, family/capability semantics, and bound call-site meaning MUST NOT change incompatibly |
29
30
  | `translations.ts` | `translatableFields` | MUST NOT change record shape |
30
31
  | `notifications.ts` | `notificationTypes: NotificationTypeDefinition[]` | MUST NOT change required fields; may add optional fields |
31
32
  | `notifications.client.ts` | — | MUST NOT change renderer props contract |
@@ -63,6 +64,8 @@ These exported types are consumed by module developers. Required fields MUST NOT
63
64
  - `EventDefinition`: `id`, `label` — MUST NOT remove; `category`, `module`, `entity`, `description` — MUST NOT remove
64
65
  - `EventPayload`: `id`, `tenantId`, `organizationId` — MUST NOT remove
65
66
  - `EntityExtension`: `base`, `extension`, `join` — MUST NOT remove
67
+ - `ModuleExtensionPoints`: `moduleId`, `hosts` — MUST NOT remove; host declaration discriminants and exact/pattern address semantics are STABLE, and new optional metadata/capabilities may be added
68
+ - `ModuleExtensionSurfaceFacts`: `hosts`, `contributions`, `unresolved` — MUST NOT remove; host IDs/patterns, contribution identities/targets, resolution classes, activation/phases/operations, scope contracts, round-trip IDs, override identities, and sanitized unresolved provenance MUST retain their meaning
66
69
  - `CustomFieldDefinition`: `key`, `kind` — MUST NOT remove; all other fields remain optional
67
70
  - `CustomEntitySpec`: `id` — MUST NOT remove
68
71
  - `InjectionWidgetMetadata`: `id`, `title` — MUST NOT remove
@@ -97,6 +100,8 @@ These functions are called directly by module code. Their signatures MUST NOT ch
97
100
  | `findAndCountWithDecryption(...)` | `@open-mercato/shared/lib/encryption/find` | Same as above |
98
101
  | `entityId(moduleId, entity)` | `@open-mercato/shared/modules/dsl` | MUST NOT change |
99
102
  | `defineLink(base, extension, opts)` | `@open-mercato/shared/modules/dsl` | MUST NOT change |
103
+ | `defineModuleExtensionPoints(declaration)` | `@open-mercato/shared/modules/widgets/extension-points` | MUST preserve immutable data-only declaration semantics and exact module/host values |
104
+ | `injectionExtensionHost`, `dataTableExtensionHost`, `crudFormExtensionHost`, `componentExtensionHost` | `@open-mercato/shared/modules/widgets/extension-points` | MUST preserve family discrimination, exact/pattern validation, and returned IDs |
100
105
  | `defineFields(entity, fields, source?)` | `@open-mercato/shared/modules/dsl` | MUST NOT change |
101
106
  | `cf.text`, `cf.multiline`, `cf.integer`, `cf.float`, `cf.boolean`, `cf.select`, `cf.currency`, `cf.dictionary` | `@open-mercato/shared/modules/dsl` | MUST NOT remove any helper or change required params |
102
107
  | `lazyDashboardWidget(loader)` | `@open-mercato/shared/modules/dashboard/widgets` | MUST NOT change |
@@ -244,6 +249,8 @@ Files in `apps/mercato/.mercato/generated/` are produced by the CLI generators.
244
249
  - MUST NOT change generated AI entry shapes: agent entries keep `{ moduleId, agents, overrides, extensions }`; tool entries keep `{ moduleId, tools, overrides }`
245
250
  - MAY add new generated files and new optional fields to `BootstrapData`
246
251
  - MAY add new generated AI registry exports additively
252
+ - Generated `.ai/guides/module-facts.json` keeps its existing top-level module record and legacy sections; optional per-module `extensionSurfaces` is ADDITIVE. Its `hosts`, `contributions`, and `unresolved` arrays, correlation-resolution values, and exact public IDs are STABLE once published.
253
+ - Generated `.ai/guides/framework-extension-points.md` is a sibling framework-owned catalog, not a synthetic module-facts key. Existing module Markdown headings, including `Host extension points`, MUST remain available; additive `UMES hosts`/`UMES contributions` sections may not redefine existing IDs.
247
254
 
248
255
  ---
249
256
 
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "version": 1,
3
- "generator": "@open-mercato/cli@0.6.7-develop.6756.1.5300c41145",
3
+ "generator": "@open-mercato/cli@0.6.7-develop.6766.1.40c9011995",
4
4
  "files": {
5
5
  "AGENTS.md": "7dd1e874d8abf251d891b0341d8e05fb5bb7724f2fbfb2b3aaa36d23b8188e28",
6
- "BACKWARD_COMPATIBILITY.md": "80ee9c270b6b763e14f9f16922396b6415409ec6a0416a45cf75514677a7c205"
6
+ "BACKWARD_COMPATIBILITY.md": "692d6402e8d0d85bd1885558e7f164a4621c0b899a0a802136da5a137b83747c"
7
7
  }
8
8
  }