@open-mercato/cli 0.6.7-develop.6795.1.8a3f27921c → 0.6.7-develop.6824.1.21fff90682

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 (102) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/build.mjs +1 -1
  3. package/dist/agentic/guides/module-facts.json +90266 -20749
  4. package/dist/agentic/guides/modules/ai_assistant.md +170 -60
  5. package/dist/agentic/guides/modules/api_docs.md +26 -1
  6. package/dist/agentic/guides/modules/api_keys.md +57 -17
  7. package/dist/agentic/guides/modules/attachments.md +72 -19
  8. package/dist/agentic/guides/modules/audit_logs.md +95 -29
  9. package/dist/agentic/guides/modules/auth.md +218 -83
  10. package/dist/agentic/guides/modules/business_rules.md +108 -34
  11. package/dist/agentic/guides/modules/catalog.md +386 -157
  12. package/dist/agentic/guides/modules/channel_gmail.md +55 -6
  13. package/dist/agentic/guides/modules/channel_imap.md +55 -6
  14. package/dist/agentic/guides/modules/checkout.md +254 -129
  15. package/dist/agentic/guides/modules/communication_channels.md +280 -109
  16. package/dist/agentic/guides/modules/configs.md +68 -11
  17. package/dist/agentic/guides/modules/content.md +26 -1
  18. package/dist/agentic/guides/modules/currencies.md +109 -44
  19. package/dist/agentic/guides/modules/customer_accounts.md +350 -156
  20. package/dist/agentic/guides/modules/customers.md +642 -294
  21. package/dist/agentic/guides/modules/dashboards.md +122 -28
  22. package/dist/agentic/guides/modules/data_sync.md +117 -37
  23. package/dist/agentic/guides/modules/design_system.md +36 -2
  24. package/dist/agentic/guides/modules/dictionaries.md +78 -20
  25. package/dist/agentic/guides/modules/directory.md +110 -45
  26. package/dist/agentic/guides/modules/entities.md +95 -38
  27. package/dist/agentic/guides/modules/events.md +31 -1
  28. package/dist/agentic/guides/modules/feature_toggles.md +79 -12
  29. package/dist/agentic/guides/modules/gateway_stripe.md +61 -6
  30. package/dist/agentic/guides/modules/generators.md +17 -1
  31. package/dist/agentic/guides/modules/inbox_ops.md +171 -60
  32. package/dist/agentic/guides/modules/integrations.md +116 -30
  33. package/dist/agentic/guides/modules/messages.md +187 -66
  34. package/dist/agentic/guides/modules/notifications.md +64 -9
  35. package/dist/agentic/guides/modules/onboarding.md +47 -8
  36. package/dist/agentic/guides/modules/payment_gateways.md +133 -48
  37. package/dist/agentic/guides/modules/perspectives.md +50 -12
  38. package/dist/agentic/guides/modules/planner.md +102 -32
  39. package/dist/agentic/guides/modules/portal.md +58 -15
  40. package/dist/agentic/guides/modules/progress.md +78 -30
  41. package/dist/agentic/guides/modules/query_index.md +115 -53
  42. package/dist/agentic/guides/modules/record_locks.md +178 -59
  43. package/dist/agentic/guides/modules/resources.md +155 -78
  44. package/dist/agentic/guides/modules/sales.md +620 -257
  45. package/dist/agentic/guides/modules/scheduler.md +95 -19
  46. package/dist/agentic/guides/modules/search.md +124 -20
  47. package/dist/agentic/guides/modules/security.md +251 -105
  48. package/dist/agentic/guides/modules/shipping_carriers.md +106 -37
  49. package/dist/agentic/guides/modules/sso.md +121 -49
  50. package/dist/agentic/guides/modules/staff.md +314 -126
  51. package/dist/agentic/guides/modules/storage_s3.md +55 -6
  52. package/dist/agentic/guides/modules/sync_akeneo.md +54 -4
  53. package/dist/agentic/guides/modules/sync_excel.md +49 -11
  54. package/dist/agentic/guides/modules/system_status_overlays.md +33 -5
  55. package/dist/agentic/guides/modules/translations.md +76 -21
  56. package/dist/agentic/guides/modules/webhooks.md +166 -82
  57. package/dist/agentic/guides/modules/wms.md +383 -223
  58. package/dist/agentic/guides/modules/workflows.md +248 -112
  59. package/dist/agentic/guides/upstream/AGENTS.md +1 -1
  60. package/dist/agentic/guides/upstream/BACKWARD_COMPATIBILITY.md +2 -0
  61. package/dist/agentic/guides/upstream/manifest.json +3 -3
  62. package/dist/agentic/shared/AGENTS.md.template +6 -5
  63. package/dist/agentic/shared/ai/harness/README.md +2 -2
  64. package/dist/agentic/shared/ai/harness/RELEASE.md +4 -4
  65. package/dist/agentic/shared/ai/harness/cases.json +94 -1
  66. package/dist/agentic/shared/ai/harness/cases.schema.json +3 -3
  67. package/dist/agentic/shared/ai/harness/validators.json +1 -1
  68. package/dist/agentic/shared/ai/lessons/_template.md +16 -0
  69. package/dist/agentic/shared/ai/lessons.md +26 -3
  70. package/dist/agentic/shared/ai/skills/om-evolve-harness/SKILL.md +7 -6
  71. package/dist/agentic/shared/ai/skills/om-system-extension/SKILL.md +1 -1
  72. package/dist/agentic/shared/ai/skills/om-system-extension/references/unified-overrides.md +4 -2
  73. package/dist/agentic/shared/scripts/check-lessons.mjs +178 -0
  74. package/dist/agentic/shared/scripts/evaluate-agent-harness.mjs +37 -12
  75. package/dist/lib/agentic-setup.js +2 -2
  76. package/dist/lib/agentic-setup.js.map +2 -2
  77. package/dist/lib/generators/module-extension-facts.js +652 -24
  78. package/dist/lib/generators/module-extension-facts.js.map +3 -3
  79. package/dist/lib/generators/module-fact-sources.js +70 -0
  80. package/dist/lib/generators/module-fact-sources.js.map +7 -0
  81. package/dist/lib/generators/module-facts.js +1001 -26
  82. package/dist/lib/generators/module-facts.js.map +3 -3
  83. package/dist/lib/generators/module-override-targets.js +688 -0
  84. package/dist/lib/generators/module-override-targets.js.map +7 -0
  85. package/dist/lib/testing/integration.js +5 -0
  86. package/dist/lib/testing/integration.js.map +2 -2
  87. package/package.json +5 -5
  88. package/src/lib/__tests__/agentic-setup.ownership.test.ts +6 -0
  89. package/src/lib/agentic-setup.ts +6 -2
  90. package/src/lib/generators/__tests__/activation-adapter-coverage.test.ts +92 -0
  91. package/src/lib/generators/__tests__/module-extension-activations.test.ts +762 -0
  92. package/src/lib/generators/__tests__/module-extension-facts.test.ts +4 -2
  93. package/src/lib/generators/__tests__/module-facts.bc-guard.test.ts +37 -3
  94. package/src/lib/generators/__tests__/module-facts.owned-contracts.test.ts +561 -0
  95. package/src/lib/generators/__tests__/module-override-targets.roundtrip.test.ts +149 -0
  96. package/src/lib/generators/__tests__/module-override-targets.test.ts +304 -0
  97. package/src/lib/generators/module-extension-facts.ts +923 -27
  98. package/src/lib/generators/module-fact-sources.ts +108 -0
  99. package/src/lib/generators/module-facts.ts +1360 -25
  100. package/src/lib/generators/module-override-targets.ts +863 -0
  101. package/src/lib/testing/__tests__/integration.test.ts +4 -0
  102. package/src/lib/testing/integration.ts +5 -0
@@ -1,55 +1,61 @@
1
1
  # customer_accounts — module facts (generated, do not edit)
2
- <!-- generated from @open-mercato/core 0.6.7-develop.6795.1.8a3f27921c; core 0.6.7-develop.6795.1.8a3f27921c — R1 staleness stamp -->
2
+ <!-- generated from @open-mercato/core 0.6.7-develop.6824.1.21fff90682; core 0.6.7-develop.6824.1.21fff90682 — R1 staleness stamp -->
3
3
  Source root: [node_modules/@open-mercato/core/src/modules/customer_accounts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts)
4
4
 
5
5
  ## Entities
6
6
 
7
- | Entity ID | Class | Table | Editable | CustomFields |
8
- |---|---|---|---|---|
9
- | customer_accounts:customer_user | CustomerUser | customer_users | yes | yes |
10
- | customer_accounts:customer_role | CustomerRole | customer_roles | yes | yes |
11
- | customer_accounts:customer_role_acl | CustomerRoleAcl | customer_role_acls | yes | no |
12
- | customer_accounts:customer_user_role | CustomerUserRole | customer_user_roles | no | no |
13
- | customer_accounts:customer_user_acl | CustomerUserAcl | customer_user_acls | yes | no |
14
- | customer_accounts:customer_user_session | CustomerUserSession | customer_user_sessions | no | no |
15
- | customer_accounts:customer_user_email_verification | CustomerUserEmailVerification | customer_user_email_verifications | no | no |
16
- | customer_accounts:customer_user_password_reset | CustomerUserPasswordReset | customer_user_password_resets | no | no |
17
- | customer_accounts:customer_user_invitation | CustomerUserInvitation | customer_user_invitations | no | no |
18
- | customer_accounts:domain_mapping | DomainMapping | domain_mappings | yes | no |
7
+ | Entity ID | Class | Table | Editable | CustomFields | Source |
8
+ |---|---|---|---|---|---|
9
+ | customer_accounts:customer_user | CustomerUser | customer_users | yes | yes | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts) |
10
+ | customer_accounts:customer_role | CustomerRole | customer_roles | yes | yes | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts) |
11
+ | customer_accounts:customer_role_acl | CustomerRoleAcl | customer_role_acls | yes | no | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts) |
12
+ | customer_accounts:customer_user_role | CustomerUserRole | customer_user_roles | no | no | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts) |
13
+ | customer_accounts:customer_user_acl | CustomerUserAcl | customer_user_acls | yes | no | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts) |
14
+ | customer_accounts:customer_user_session | CustomerUserSession | customer_user_sessions | no | no | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts) |
15
+ | customer_accounts:customer_user_email_verification | CustomerUserEmailVerification | customer_user_email_verifications | no | no | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts) |
16
+ | customer_accounts:customer_user_password_reset | CustomerUserPasswordReset | customer_user_password_resets | no | no | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts) |
17
+ | customer_accounts:customer_user_invitation | CustomerUserInvitation | customer_user_invitations | no | no | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts) |
18
+ | customer_accounts:domain_mapping | DomainMapping | domain_mappings | yes | no | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/entities.ts) |
19
19
 
20
20
  ## Events (25)
21
21
 
22
- | ID | Category | Entity | Browser transport |
23
- |---|---|---|---|
24
- | customer_accounts.user.created | crud | user | client |
25
- | customer_accounts.user.updated | crud | user | portal |
26
- | customer_accounts.user.deleted | crud | user | — |
27
- | customer_accounts.user.locked | lifecycle | user | portal |
28
- | customer_accounts.user.unlocked | lifecycle | user | portal |
29
- | customer_accounts.login.success | lifecycle | — | — |
30
- | customer_accounts.login.failed | lifecycle | — | — |
31
- | customer_accounts.magic_link.requested | lifecycle | — | — |
32
- | customer_accounts.email.verified | lifecycle | — | portal |
33
- | customer_accounts.password.reset_requested | lifecycle | — | — |
34
- | customer_accounts.password.reset | lifecycle | — | portal |
35
- | customer_accounts.password.changed | lifecycle | — | — |
36
- | customer_accounts.role.created | crud | role | — |
37
- | customer_accounts.role.updated | crud | role | portal |
38
- | customer_accounts.role.deleted | crud | role | — |
39
- | customer_accounts.user.invited | lifecycle | user | client |
40
- | customer_accounts.invitation.accepted | lifecycle | — | client |
41
- | customer_accounts.password_reset.requested | lifecycle | — | — |
42
- | customer_accounts.domain_mapping.created | crud | domain_mapping | client |
43
- | customer_accounts.domain_mapping.verified | lifecycle | domain_mapping | client |
44
- | customer_accounts.domain_mapping.activated | lifecycle | domain_mapping | client |
45
- | customer_accounts.domain_mapping.dns_failed | lifecycle | domain_mapping | client |
46
- | customer_accounts.domain_mapping.tls_failed | lifecycle | domain_mapping | client |
47
- | customer_accounts.domain_mapping.deleted | crud | domain_mapping | client |
48
- | customer_accounts.domain_mapping.replaced | lifecycle | domain_mapping | client |
22
+ | ID | Category | Entity | Browser transport | Source |
23
+ |---|---|---|---|---|
24
+ | customer_accounts.user.created | crud | user | client | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
25
+ | customer_accounts.user.updated | crud | user | portal | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
26
+ | customer_accounts.user.deleted | crud | user | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
27
+ | customer_accounts.user.locked | lifecycle | user | portal | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
28
+ | customer_accounts.user.unlocked | lifecycle | user | portal | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
29
+ | customer_accounts.login.success | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
30
+ | customer_accounts.login.failed | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
31
+ | customer_accounts.magic_link.requested | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
32
+ | customer_accounts.email.verified | lifecycle | — | portal | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
33
+ | customer_accounts.password.reset_requested | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
34
+ | customer_accounts.password.reset | lifecycle | — | portal | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
35
+ | customer_accounts.password.changed | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
36
+ | customer_accounts.role.created | crud | role | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
37
+ | customer_accounts.role.updated | crud | role | portal | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
38
+ | customer_accounts.role.deleted | crud | role | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
39
+ | customer_accounts.user.invited | lifecycle | user | client | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
40
+ | customer_accounts.invitation.accepted | lifecycle | — | client | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
41
+ | customer_accounts.password_reset.requested | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
42
+ | customer_accounts.domain_mapping.created | crud | domain_mapping | client | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
43
+ | customer_accounts.domain_mapping.verified | lifecycle | domain_mapping | client | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
44
+ | customer_accounts.domain_mapping.activated | lifecycle | domain_mapping | client | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
45
+ | customer_accounts.domain_mapping.dns_failed | lifecycle | domain_mapping | client | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
46
+ | customer_accounts.domain_mapping.tls_failed | lifecycle | domain_mapping | client | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
47
+ | customer_accounts.domain_mapping.deleted | crud | domain_mapping | client | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
48
+ | customer_accounts.domain_mapping.replaced | lifecycle | domain_mapping | client | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
49
49
 
50
50
  ## ACL features (5)
51
51
 
52
- customer_accounts.view · customer_accounts.manage · customer_accounts.roles.manage · customer_accounts.invite · customer_accounts.domain.manage
52
+ | Feature | Source |
53
+ |---|---|
54
+ | customer_accounts.view | [node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts) |
55
+ | customer_accounts.manage | [node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts) |
56
+ | customer_accounts.roles.manage | [node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts) |
57
+ | customer_accounts.invite | [node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts) |
58
+ | customer_accounts.domain.manage | [node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts) |
53
59
 
54
60
  ## API routes
55
61
 
@@ -73,11 +79,21 @@ _none_
73
79
 
74
80
  ## DI service tokens
75
81
 
76
- customerUserService · customerSessionService · customerTokenService · customerRbacService · customerInvitationService · domainMappingService
82
+ | Token | Source |
83
+ |---|---|
84
+ | customerUserService | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:24](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L24) |
85
+ | customerSessionService | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:25](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L25) |
86
+ | customerTokenService | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:26](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L26) |
87
+ | customerRbacService | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:27](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L27) |
88
+ | customerInvitationService | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:28](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L28) |
89
+ | domainMappingService | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:30](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L30) |
77
90
 
78
91
  ## Search entities
79
92
 
80
- customer_accounts:customer_user · customer_accounts:customer_role
93
+ | Entity ID | Source |
94
+ |---|---|
95
+ | customer_accounts:customer_user | [node_modules/@open-mercato/core/src/modules/customer_accounts/search.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/search.ts) |
96
+ | customer_accounts:customer_role | [node_modules/@open-mercato/core/src/modules/customer_accounts/search.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/search.ts) |
81
97
 
82
98
  ## Host extension points
83
99
 
@@ -86,121 +102,186 @@ customer_accounts:customer_user · customer_accounts:customer_role
86
102
 
87
103
  ## UMES hosts
88
104
 
89
- | ID / pattern | Family | Supports | Context | Stability |
90
- |---|---|---|---|---|
91
- | data-table:customer_accounts.admin.roles | data-table | component-replacement | — | FROZEN |
92
- | data-table:customer_accounts.admin.roles:bulk-actions | data-table | bulk-action | — | FROZEN |
93
- | data-table:customer_accounts.admin.roles:columns | data-table | column-widget | — | FROZEN |
94
- | data-table:customer_accounts.admin.roles:filters | data-table | filter-widget | — | FROZEN |
95
- | data-table:customer_accounts.admin.roles:footer | data-table | render-widget | — | FROZEN |
96
- | data-table:customer_accounts.admin.roles:header | data-table | render-widget | — | FROZEN |
97
- | data-table:customer_accounts.admin.roles:row-actions | data-table | row-action | — | FROZEN |
98
- | data-table:customer_accounts.admin.roles:search-trailing | data-table | render-widget | — | FROZEN |
99
- | data-table:customer_accounts.admin.roles:toolbar | data-table | toolbar-widget | — | FROZEN |
100
- | data-table:customer_accounts.admin.users | data-table | component-replacement | — | FROZEN |
101
- | data-table:customer_accounts.admin.users:bulk-actions | data-table | bulk-action | — | FROZEN |
102
- | data-table:customer_accounts.admin.users:columns | data-table | column-widget | — | FROZEN |
103
- | data-table:customer_accounts.admin.users:filters | data-table | filter-widget | — | FROZEN |
104
- | data-table:customer_accounts.admin.users:footer | data-table | render-widget | — | FROZEN |
105
- | data-table:customer_accounts.admin.users:header | data-table | render-widget | — | FROZEN |
106
- | data-table:customer_accounts.admin.users:row-actions | data-table | row-action | — | FROZEN |
107
- | data-table:customer_accounts.admin.users:search-trailing | data-table | render-widget | — | FROZEN |
108
- | data-table:customer_accounts.admin.users:toolbar | data-table | toolbar-widget | — | FROZEN |
109
- | customer_accounts:customer_role | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
110
- | customer_accounts:customer_role_acl | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
111
- | customer_accounts:customer_user | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
112
- | customer_accounts:customer_user_acl | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
113
- | customer_accounts:customer_user_email_verification | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
114
- | customer_accounts:customer_user_invitation | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
115
- | customer_accounts:customer_user_password_reset | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
116
- | customer_accounts:customer_user_role | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
117
- | customer_accounts:customer_user_session | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
118
- | customer_accounts:domain_mapping | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
119
- | customer_accounts.domain_mapping | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE |
120
- | customer_accounts.role | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE |
121
- | customer_accounts.domain_mapping.activated | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
122
- | customer_accounts.domain_mapping.created | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
123
- | customer_accounts.domain_mapping.deleted | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
124
- | customer_accounts.domain_mapping.dns_failed | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
125
- | customer_accounts.domain_mapping.replaced | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
126
- | customer_accounts.domain_mapping.tls_failed | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
127
- | customer_accounts.domain_mapping.verified | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
128
- | customer_accounts.email.verified | event | async-subscriber, sync-subscriber, browser-portal | tenant-organization-and-audience | STABLE |
129
- | customer_accounts.invitation.accepted | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
130
- | customer_accounts.login.failed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
131
- | customer_accounts.login.success | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
132
- | customer_accounts.magic_link.requested | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
133
- | customer_accounts.password_reset.requested | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
134
- | customer_accounts.password.changed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
135
- | customer_accounts.password.reset | event | async-subscriber, sync-subscriber, browser-portal | tenant-organization-and-audience | STABLE |
136
- | customer_accounts.password.reset_requested | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
137
- | customer_accounts.role.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
138
- | customer_accounts.role.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
139
- | customer_accounts.role.updated | event | async-subscriber, sync-subscriber, browser-portal | tenant-organization-and-audience | STABLE |
140
- | customer_accounts.user.created | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
141
- | customer_accounts.user.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
142
- | customer_accounts.user.invited | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
143
- | customer_accounts.user.locked | event | async-subscriber, sync-subscriber, browser-portal | tenant-organization-and-audience | STABLE |
144
- | customer_accounts.user.unlocked | event | async-subscriber, sync-subscriber, browser-portal | tenant-organization-and-audience | STABLE |
145
- | customer_accounts.user.updated | event | async-subscriber, sync-subscriber, browser-portal | tenant-organization-and-audience | STABLE |
146
- | customer_accounts.customer_role.queried | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE |
147
- | customer_accounts.customer_role.querying | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE |
148
- | customer_accounts.customer_user.queried | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE |
149
- | customer_accounts.customer_user.querying | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE |
105
+ | ID / pattern | Family | Supports | Context | Stability | Source |
106
+ |---|---|---|---|---|---|
107
+ | data-table:customer_accounts.admin.roles | data-table | component-replacement | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
108
+ | data-table:customer_accounts.admin.roles:bulk-actions | data-table | bulk-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
109
+ | data-table:customer_accounts.admin.roles:columns | data-table | column-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
110
+ | data-table:customer_accounts.admin.roles:filters | data-table | filter-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
111
+ | data-table:customer_accounts.admin.roles:footer | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
112
+ | data-table:customer_accounts.admin.roles:header | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
113
+ | data-table:customer_accounts.admin.roles:row-actions | data-table | row-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
114
+ | data-table:customer_accounts.admin.roles:search-trailing | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
115
+ | data-table:customer_accounts.admin.roles:toolbar | data-table | toolbar-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
116
+ | data-table:customer_accounts.admin.users | data-table | component-replacement | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
117
+ | data-table:customer_accounts.admin.users:bulk-actions | data-table | bulk-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
118
+ | data-table:customer_accounts.admin.users:columns | data-table | column-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
119
+ | data-table:customer_accounts.admin.users:filters | data-table | filter-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
120
+ | data-table:customer_accounts.admin.users:footer | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
121
+ | data-table:customer_accounts.admin.users:header | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
122
+ | data-table:customer_accounts.admin.users:row-actions | data-table | row-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
123
+ | data-table:customer_accounts.admin.users:search-trailing | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
124
+ | data-table:customer_accounts.admin.users:toolbar | data-table | toolbar-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/extension-points.ts) |
125
+ | customer_accounts:customer_role | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customer_accounts:customer_role |
126
+ | customer_accounts:customer_role_acl | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customer_accounts:customer_role_acl |
127
+ | customer_accounts:customer_user | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customer_accounts:customer_user |
128
+ | customer_accounts:customer_user_acl | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customer_accounts:customer_user_acl |
129
+ | customer_accounts:customer_user_email_verification | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customer_accounts:customer_user_email_verification |
130
+ | customer_accounts:customer_user_invitation | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customer_accounts:customer_user_invitation |
131
+ | customer_accounts:customer_user_password_reset | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customer_accounts:customer_user_password_reset |
132
+ | customer_accounts:customer_user_role | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customer_accounts:customer_user_role |
133
+ | customer_accounts:customer_user_session | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customer_accounts:customer_user_session |
134
+ | customer_accounts:domain_mapping | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customer_accounts:domain_mapping |
135
+ | customer_accounts.domain_mapping | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE | [node_modules/@open-mercato/core/src/modules/customer_accounts/api/admin/domain-mappings/[id]/health-check.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/api/admin/domain-mappings/[id]/health-check.ts) |
136
+ | customer_accounts.role | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE | [node_modules/@open-mercato/core/src/modules/customer_accounts/api/admin/roles/[id]/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/api/admin/roles/[id]/acl.ts) |
137
+ | customer_accounts.domain_mapping.activated | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE | events:customer_accounts.domain_mapping.activated |
138
+ | customer_accounts.domain_mapping.created | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE | events:customer_accounts.domain_mapping.created |
139
+ | customer_accounts.domain_mapping.deleted | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE | events:customer_accounts.domain_mapping.deleted |
140
+ | customer_accounts.domain_mapping.dns_failed | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE | events:customer_accounts.domain_mapping.dns_failed |
141
+ | customer_accounts.domain_mapping.replaced | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE | events:customer_accounts.domain_mapping.replaced |
142
+ | customer_accounts.domain_mapping.tls_failed | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE | events:customer_accounts.domain_mapping.tls_failed |
143
+ | customer_accounts.domain_mapping.verified | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE | events:customer_accounts.domain_mapping.verified |
144
+ | customer_accounts.email.verified | event | async-subscriber, sync-subscriber, browser-portal | tenant-organization-and-audience | STABLE | events:customer_accounts.email.verified |
145
+ | customer_accounts.invitation.accepted | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE | events:customer_accounts.invitation.accepted |
146
+ | customer_accounts.login.failed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customer_accounts.login.failed |
147
+ | customer_accounts.login.success | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customer_accounts.login.success |
148
+ | customer_accounts.magic_link.requested | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customer_accounts.magic_link.requested |
149
+ | customer_accounts.password_reset.requested | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customer_accounts.password_reset.requested |
150
+ | customer_accounts.password.changed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customer_accounts.password.changed |
151
+ | customer_accounts.password.reset | event | async-subscriber, sync-subscriber, browser-portal | tenant-organization-and-audience | STABLE | events:customer_accounts.password.reset |
152
+ | customer_accounts.password.reset_requested | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customer_accounts.password.reset_requested |
153
+ | customer_accounts.role.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customer_accounts.role.created |
154
+ | customer_accounts.role.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customer_accounts.role.deleted |
155
+ | customer_accounts.role.updated | event | async-subscriber, sync-subscriber, browser-portal | tenant-organization-and-audience | STABLE | events:customer_accounts.role.updated |
156
+ | customer_accounts.user.created | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE | events:customer_accounts.user.created |
157
+ | customer_accounts.user.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customer_accounts.user.deleted |
158
+ | customer_accounts.user.invited | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE | events:customer_accounts.user.invited |
159
+ | customer_accounts.user.locked | event | async-subscriber, sync-subscriber, browser-portal | tenant-organization-and-audience | STABLE | events:customer_accounts.user.locked |
160
+ | customer_accounts.user.unlocked | event | async-subscriber, sync-subscriber, browser-portal | tenant-organization-and-audience | STABLE | events:customer_accounts.user.unlocked |
161
+ | customer_accounts.user.updated | event | async-subscriber, sync-subscriber, browser-portal | tenant-organization-and-audience | STABLE | events:customer_accounts.user.updated |
162
+ | customer_accounts.customer_role.queried | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE | searchEntities:customer_accounts:customer_role |
163
+ | customer_accounts.customer_role.querying | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE | searchEntities:customer_accounts:customer_role |
164
+ | customer_accounts.customer_user.queried | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE | searchEntities:customer_accounts:customer_user |
165
+ | customer_accounts.customer_user.querying | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE | searchEntities:customer_accounts:customer_user |
150
166
 
151
167
  ## UMES contributions
152
168
 
153
- | ID | Kind | Target | Phase / operations | Contract | Resolution |
154
- |---|---|---|---|---|---|
155
- | customer_accounts.domain_mapping.activated.browser | browser-reaction | customer_accounts.domain_mapping.activated | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
156
- | customer_accounts.domain_mapping.created.browser | browser-reaction | customer_accounts.domain_mapping.created | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
157
- | customer_accounts.domain_mapping.deleted.browser | browser-reaction | customer_accounts.domain_mapping.deleted | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
158
- | customer_accounts.domain_mapping.dns_failed.browser | browser-reaction | customer_accounts.domain_mapping.dns_failed | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
159
- | customer_accounts.domain_mapping.replaced.browser | browser-reaction | customer_accounts.domain_mapping.replaced | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
160
- | customer_accounts.domain_mapping.tls_failed.browser | browser-reaction | customer_accounts.domain_mapping.tls_failed | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
161
- | customer_accounts.domain_mapping.verified.browser | browser-reaction | customer_accounts.domain_mapping.verified | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
162
- | customer_accounts.email.verified.browser | browser-reaction | customer_accounts.email.verified | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=usePortalAppEvent; transports=portal | fact-ref |
163
- | customer_accounts.invitation.accepted.browser | browser-reaction | customer_accounts.invitation.accepted | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
164
- | customer_accounts.password.reset.browser | browser-reaction | customer_accounts.password.reset | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=usePortalAppEvent; transports=portal | fact-ref |
165
- | customer_accounts.role.updated.browser | browser-reaction | customer_accounts.role.updated | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=usePortalAppEvent; transports=portal | fact-ref |
166
- | customer_accounts.user.created.browser | browser-reaction | customer_accounts.user.created | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
167
- | customer_accounts.user.invited.browser | browser-reaction | customer_accounts.user.invited | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
168
- | customer_accounts.user.locked.browser | browser-reaction | customer_accounts.user.locked | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=usePortalAppEvent; transports=portal | fact-ref |
169
- | customer_accounts.user.unlocked.browser | browser-reaction | customer_accounts.user.unlocked | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=usePortalAppEvent; transports=portal | fact-ref |
170
- | customer_accounts.user.updated.browser | browser-reaction | customer_accounts.user.updated | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=usePortalAppEvent; transports=portal | fact-ref |
171
- | customer_accounts.injection.account-status@crud-form:customers.person | crud-form | crud-form:customers.person | — | entityId=customers.person; payload=render; requestHeaderCapability=false | exact |
172
- | customer_accounts.injection.company-users@crud-form:customers.company | crud-form | crud-form:customers.company | — | entityId=customers.company; payload=render; requestHeaderCapability=false | exact |
173
- | customer_accounts.domain_mapping.hostname-format | mutation-guard | customer_accounts.domain_mapping | create | capabilities=block,rewrite; entityId=customer_accounts.domain_mapping; operations=create; optimisticLock=preserved | fact-ref |
174
- | customer_accounts.domain_mapping.hostname-unique | mutation-guard | customer_accounts.domain_mapping | create | capabilities=block,rewrite; entityId=customer_accounts.domain_mapping; operations=create; optimisticLock=preserved | fact-ref |
175
- | customer_accounts.domain_mapping.org-limit | mutation-guard | customer_accounts.domain_mapping | create | capabilities=block,rewrite; entityId=customer_accounts.domain_mapping; operations=create; optimisticLock=preserved | fact-ref |
176
- | customer_accounts.domain_mapping.record-scope | mutation-guard | customer_accounts.domain_mapping | update, delete | capabilities=block,rewrite; entityId=customer_accounts.domain_mapping; operations=update,delete; optimisticLock=preserved | fact-ref |
177
- | customer_accounts.company-user-count | response-enricher | customers.company | list, detail | cachePosture=rerun-on-list-cache-hit; critical=false; fallback=configured; surfaces=list,detail; targetEntity=customers.company; timeoutMs=2000 | optional-external |
178
- | customer_accounts.domain-status:directory:organization | response-enricher | directory:organization | list, detail | cachePosture=rerun-on-list-cache-hit; critical=false; fallback=configured; surfaces=list,detail; targetEntity=directory:organization; timeoutMs=1000 | fact-ref |
179
- | customer_accounts.person-account-status | response-enricher | customers.person | list, detail | cachePosture=rerun-on-list-cache-hit; critical=false; fallback=configured; surfaces=list,detail; targetEntity=customers.person; timeoutMs=2000 | fact-ref |
180
- | notification:customer_accounts.domain_mapping.activated | specialized-registry | customer_accounts.domain_mapping.activated | — | registry=notification; registryId=customer_accounts.domain_mapping.activated; specialistRoute=notifications | fact-ref |
181
- | notification:customer_accounts.domain_mapping.dns_failed | specialized-registry | customer_accounts.domain_mapping.dns_failed | — | registry=notification; registryId=customer_accounts.domain_mapping.dns_failed; specialistRoute=notifications | fact-ref |
182
- | notification:customer_accounts.domain_mapping.tls_failed | specialized-registry | customer_accounts.domain_mapping.tls_failed | — | registry=notification; registryId=customer_accounts.domain_mapping.tls_failed; specialistRoute=notifications | fact-ref |
183
- | notification:customer_accounts.domain_mapping.verified | specialized-registry | customer_accounts.domain_mapping.verified | — | registry=notification; registryId=customer_accounts.domain_mapping.verified; specialistRoute=notifications | fact-ref |
184
- | notification:customer_accounts.user.locked | specialized-registry | customer_accounts.user.locked | — | registry=notification; registryId=customer_accounts.user.locked; specialistRoute=notifications | fact-ref |
185
- | notification:customer_accounts.user.signup | specialized-registry | customer_accounts.user.signup | — | registry=notification; registryId=customer_accounts.user.signup; specialistRoute=notifications | fact-ref |
186
- | search:customer_accounts:customer_role | specialized-registry | customer_accounts:customer_role | — | registry=search; registryId=customer_accounts:customer_role; specialistRoute=search | fact-ref |
187
- | search:customer_accounts:customer_user | specialized-registry | customer_accounts:customer_user | — | registry=search; registryId=customer_accounts:customer_user; specialistRoute=search | fact-ref |
188
- | customer_accounts:auto-link-crm | subscriber | customer_accounts.user.created | async-delivery | event=customer_accounts.user.created; persistent=true; subscriberId=customer_accounts:auto-link-crm; sync=false | fact-ref |
189
- | customer_accounts:auto-link-crm-reverse | subscriber | customers.person.created | async-delivery | event=customers.person.created; persistent=true; subscriberId=customer_accounts:auto-link-crm-reverse; sync=false | fact-ref |
190
- | customer_accounts:invalidate-domain-cache | subscriber | customer_accounts.domain_mapping.* | before-or-after | event=customer_accounts.domain_mapping.*; persistent=false; subscriberId=customer_accounts:invalidate-domain-cache; sync=true | pattern |
191
- | customer_accounts:notify-domain-activated | subscriber | customer_accounts.domain_mapping.activated | async-delivery | event=customer_accounts.domain_mapping.activated; persistent=true; subscriberId=customer_accounts:notify-domain-activated; sync=false | fact-ref |
192
- | customer_accounts:notify-domain-dns-failed | subscriber | customer_accounts.domain_mapping.dns_failed | async-delivery | event=customer_accounts.domain_mapping.dns_failed; persistent=true; subscriberId=customer_accounts:notify-domain-dns-failed; sync=false | fact-ref |
193
- | customer_accounts:notify-domain-tls-failed | subscriber | customer_accounts.domain_mapping.tls_failed | async-delivery | event=customer_accounts.domain_mapping.tls_failed; persistent=true; subscriberId=customer_accounts:notify-domain-tls-failed; sync=false | fact-ref |
194
- | customer_accounts:notify-domain-verified | subscriber | customer_accounts.domain_mapping.verified | async-delivery | event=customer_accounts.domain_mapping.verified; persistent=true; subscriberId=customer_accounts:notify-domain-verified; sync=false | fact-ref |
195
- | customer_accounts:notify-staff-on-signup | subscriber | customer_accounts.user.created | async-delivery | event=customer_accounts.user.created; persistent=true; subscriberId=customer_accounts:notify-staff-on-signup; sync=false | fact-ref |
196
- | customer_accounts:query-index-reindex-created | subscriber | customer_accounts.user.created | before-or-after | event=customer_accounts.user.created; persistent=false; subscriberId=customer_accounts:query-index-reindex-created; sync=true | fact-ref |
197
- | customer_accounts:query-index-reindex-deleted | subscriber | customer_accounts.user.deleted | before-or-after | event=customer_accounts.user.deleted; persistent=false; subscriberId=customer_accounts:query-index-reindex-deleted; sync=true | fact-ref |
198
- | customer_accounts:query-index-reindex-updated | subscriber | customer_accounts.user.updated | before-or-after | event=customer_accounts.user.updated; persistent=false; subscriberId=customer_accounts:query-index-reindex-updated; sync=true | fact-ref |
199
- | customer_accounts:unlink-on-company-delete | subscriber | customers.company.deleted | async-delivery | event=customers.company.deleted; persistent=true; subscriberId=customer_accounts:unlink-on-company-delete; sync=false | fact-ref |
200
- | customer_accounts:unlink-on-person-delete | subscriber | customers.person.deleted | async-delivery | event=customers.person.deleted; persistent=true; subscriberId=customer_accounts:unlink-on-person-delete; sync=false | fact-ref |
201
- | customer_accounts.injection.account-status@customers.person | widget | customers.person | — | executionGuard=host; payload=render; registryKey=customer_accounts.injection.account-status | fact-ref |
202
- | customer_accounts.injection.company-users@customers.company | widget | customers.company | — | executionGuard=host; payload=render; registryKey=customer_accounts.injection.company-users | optional-external |
203
- | customer_accounts.injection.portal-ai-assistant-trigger@portal:profile:after | widget | portal:profile:after | — | executionGuard=host; payload=render; registryKey=customer_accounts.injection.portal-ai-assistant-trigger | exact |
169
+ | ID | Kind | Target | Phase / operations | Contract | Resolution | Source |
170
+ |---|---|---|---|---|---|---|
171
+ | customer_accounts.domain_mapping.activated.browser | browser-reaction | customer_accounts.domain_mapping.activated | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
172
+ | customer_accounts.domain_mapping.created.browser | browser-reaction | customer_accounts.domain_mapping.created | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
173
+ | customer_accounts.domain_mapping.deleted.browser | browser-reaction | customer_accounts.domain_mapping.deleted | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
174
+ | customer_accounts.domain_mapping.dns_failed.browser | browser-reaction | customer_accounts.domain_mapping.dns_failed | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
175
+ | customer_accounts.domain_mapping.replaced.browser | browser-reaction | customer_accounts.domain_mapping.replaced | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
176
+ | customer_accounts.domain_mapping.tls_failed.browser | browser-reaction | customer_accounts.domain_mapping.tls_failed | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
177
+ | customer_accounts.domain_mapping.verified.browser | browser-reaction | customer_accounts.domain_mapping.verified | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
178
+ | customer_accounts.email.verified.browser | browser-reaction | customer_accounts.email.verified | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=usePortalAppEvent; transports=portal | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
179
+ | customer_accounts.invitation.accepted.browser | browser-reaction | customer_accounts.invitation.accepted | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
180
+ | customer_accounts.password.reset.browser | browser-reaction | customer_accounts.password.reset | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=usePortalAppEvent; transports=portal | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
181
+ | customer_accounts.role.updated.browser | browser-reaction | customer_accounts.role.updated | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=usePortalAppEvent; transports=portal | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
182
+ | customer_accounts.user.created.browser | browser-reaction | customer_accounts.user.created | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
183
+ | customer_accounts.user.invited.browser | browser-reaction | customer_accounts.user.invited | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
184
+ | customer_accounts.user.locked.browser | browser-reaction | customer_accounts.user.locked | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=usePortalAppEvent; transports=portal | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
185
+ | customer_accounts.user.unlocked.browser | browser-reaction | customer_accounts.user.unlocked | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=usePortalAppEvent; transports=portal | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
186
+ | customer_accounts.user.updated.browser | browser-reaction | customer_accounts.user.updated | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=usePortalAppEvent; transports=portal | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
187
+ | customer_accounts.injection.account-status@crud-form:customers.person | crud-form | crud-form:customers.person | — | entityId=customers.person; payload=render; requestHeaderCapability=false | exact | [node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts) |
188
+ | customer_accounts.injection.company-users@crud-form:customers.company | crud-form | crud-form:customers.company | — | entityId=customers.company; payload=render; requestHeaderCapability=false | exact | [node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts) |
189
+ | customer_accounts.domain_mapping.hostname-format | mutation-guard | customer_accounts.domain_mapping | create | capabilities=block,rewrite; entityId=customer_accounts.domain_mapping; operations=create; optimisticLock=preserved | exact | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/guards.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/guards.ts) |
190
+ | customer_accounts.domain_mapping.hostname-unique | mutation-guard | customer_accounts.domain_mapping | create | capabilities=block,rewrite; entityId=customer_accounts.domain_mapping; operations=create; optimisticLock=preserved | exact | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/guards.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/guards.ts) |
191
+ | customer_accounts.domain_mapping.org-limit | mutation-guard | customer_accounts.domain_mapping | create | capabilities=block,rewrite; entityId=customer_accounts.domain_mapping; operations=create; optimisticLock=preserved | exact | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/guards.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/guards.ts) |
192
+ | customer_accounts.domain_mapping.record-scope | mutation-guard | customer_accounts.domain_mapping | update, delete | capabilities=block,rewrite; entityId=customer_accounts.domain_mapping; operations=update,delete; optimisticLock=preserved | exact | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/guards.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/guards.ts) |
193
+ | customer_accounts.company-user-count | response-enricher | customers.company | list, detail | cachePosture=rerun-on-list-cache-hit; critical=false; fallback=configured; surfaces=list,detail; targetEntity=customers.company; timeoutMs=2000 | optional-external | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts) |
194
+ | customer_accounts.domain-status:directory:organization | response-enricher | directory:organization | list, detail | cachePosture=rerun-on-list-cache-hit; critical=false; fallback=configured; surfaces=list,detail; targetEntity=directory:organization; timeoutMs=1000 | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts) |
195
+ | customer_accounts.person-account-status | response-enricher | customers.person | list, detail | cachePosture=rerun-on-list-cache-hit; critical=false; fallback=configured; surfaces=list,detail; targetEntity=customers.person; timeoutMs=2000 | exact | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts) |
196
+ | notification:customer_accounts.domain_mapping.activated | specialized-registry | customer_accounts.domain_mapping.activated | — | registry=notification; registryId=customer_accounts.domain_mapping.activated; specialistRoute=notifications | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
197
+ | notification:customer_accounts.domain_mapping.dns_failed | specialized-registry | customer_accounts.domain_mapping.dns_failed | — | registry=notification; registryId=customer_accounts.domain_mapping.dns_failed; specialistRoute=notifications | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
198
+ | notification:customer_accounts.domain_mapping.tls_failed | specialized-registry | customer_accounts.domain_mapping.tls_failed | — | registry=notification; registryId=customer_accounts.domain_mapping.tls_failed; specialistRoute=notifications | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
199
+ | notification:customer_accounts.domain_mapping.verified | specialized-registry | customer_accounts.domain_mapping.verified | — | registry=notification; registryId=customer_accounts.domain_mapping.verified; specialistRoute=notifications | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
200
+ | notification:customer_accounts.user.locked | specialized-registry | customer_accounts.user.locked | — | registry=notification; registryId=customer_accounts.user.locked; specialistRoute=notifications | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
201
+ | notification:customer_accounts.user.signup | specialized-registry | customer_accounts.user.signup | — | registry=notification; registryId=customer_accounts.user.signup; specialistRoute=notifications | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
202
+ | search:customer_accounts:customer_role | specialized-registry | customer_accounts:customer_role | — | registry=search; registryId=customer_accounts:customer_role; specialistRoute=search | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/search.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/search.ts) |
203
+ | search:customer_accounts:customer_user | specialized-registry | customer_accounts:customer_user | — | registry=search; registryId=customer_accounts:customer_user; specialistRoute=search | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/search.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/search.ts) |
204
+ | customer_accounts:auto-link-crm | subscriber | customer_accounts.user.created | async-delivery | event=customer_accounts.user.created; persistent=true; subscriberId=customer_accounts:auto-link-crm; sync=false | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/autoLinkCrm.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/autoLinkCrm.ts) |
205
+ | customer_accounts:auto-link-crm-reverse | subscriber | customers.person.created | async-delivery | event=customers.person.created; persistent=true; subscriberId=customer_accounts:auto-link-crm-reverse; sync=false | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/autoLinkCrmReverse.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/autoLinkCrmReverse.ts) |
206
+ | customer_accounts:invalidate-domain-cache | subscriber | customer_accounts.domain_mapping.* | before-or-after | event=customer_accounts.domain_mapping.*; persistent=false; subscriberId=customer_accounts:invalidate-domain-cache; sync=true | pattern | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/invalidateDomainCache.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/invalidateDomainCache.ts) |
207
+ | customer_accounts:notify-domain-activated | subscriber | customer_accounts.domain_mapping.activated | async-delivery | event=customer_accounts.domain_mapping.activated; persistent=true; subscriberId=customer_accounts:notify-domain-activated; sync=false | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainActivated.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainActivated.ts) |
208
+ | customer_accounts:notify-domain-dns-failed | subscriber | customer_accounts.domain_mapping.dns_failed | async-delivery | event=customer_accounts.domain_mapping.dns_failed; persistent=true; subscriberId=customer_accounts:notify-domain-dns-failed; sync=false | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainDnsFailed.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainDnsFailed.ts) |
209
+ | customer_accounts:notify-domain-tls-failed | subscriber | customer_accounts.domain_mapping.tls_failed | async-delivery | event=customer_accounts.domain_mapping.tls_failed; persistent=true; subscriberId=customer_accounts:notify-domain-tls-failed; sync=false | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainTlsFailed.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainTlsFailed.ts) |
210
+ | customer_accounts:notify-domain-verified | subscriber | customer_accounts.domain_mapping.verified | async-delivery | event=customer_accounts.domain_mapping.verified; persistent=true; subscriberId=customer_accounts:notify-domain-verified; sync=false | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainVerified.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainVerified.ts) |
211
+ | customer_accounts:notify-staff-on-signup | subscriber | customer_accounts.user.created | async-delivery | event=customer_accounts.user.created; persistent=true; subscriberId=customer_accounts:notify-staff-on-signup; sync=false | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyStaffOnSignup.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyStaffOnSignup.ts) |
212
+ | customer_accounts:query-index-reindex-created | subscriber | customer_accounts.user.created | before-or-after | event=customer_accounts.user.created; persistent=false; subscriberId=customer_accounts:query-index-reindex-created; sync=true | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-created.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-created.ts) |
213
+ | customer_accounts:query-index-reindex-deleted | subscriber | customer_accounts.user.deleted | before-or-after | event=customer_accounts.user.deleted; persistent=false; subscriberId=customer_accounts:query-index-reindex-deleted; sync=true | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-deleted.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-deleted.ts) |
214
+ | customer_accounts:query-index-reindex-updated | subscriber | customer_accounts.user.updated | before-or-after | event=customer_accounts.user.updated; persistent=false; subscriberId=customer_accounts:query-index-reindex-updated; sync=true | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-updated.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-updated.ts) |
215
+ | customer_accounts:unlink-on-company-delete | subscriber | customers.company.deleted | async-delivery | event=customers.company.deleted; persistent=true; subscriberId=customer_accounts:unlink-on-company-delete; sync=false | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/unlinkOnCompanyDelete.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/unlinkOnCompanyDelete.ts) |
216
+ | customer_accounts:unlink-on-person-delete | subscriber | customers.person.deleted | async-delivery | event=customers.person.deleted; persistent=true; subscriberId=customer_accounts:unlink-on-person-delete; sync=false | fact-ref | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/unlinkOnPersonDelete.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/unlinkOnPersonDelete.ts) |
217
+ | customer_accounts.injection.account-status@customers.person | widget | customers.person | — | executionGuard=host; payload=render; registryKey=customer_accounts.injection.account-status | exact | [node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts) |
218
+ | customer_accounts.injection.company-users@customers.company | widget | customers.company | — | executionGuard=host; payload=render; registryKey=customer_accounts.injection.company-users | optional-external | [node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts) |
219
+ | customer_accounts.injection.portal-ai-assistant-trigger@portal:profile:after | widget | portal:profile:after | — | executionGuard=host; payload=render; registryKey=customer_accounts.injection.portal-ai-assistant-trigger | exact | [node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts) |
220
+
221
+ ## Active extension bindings
222
+
223
+ | Activation | Kind | Host | Contribution kinds | Phases | Bridge | Source |
224
+ |---|---|---|---|---|---|---|
225
+ | entity:customer_accounts.domain_mapping:mutation-guard | mutation-guard | entity:customer_accounts.domain_mapping @customer_accounts | mutation-guard | — | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/api/admin/domain-mappings/[id]/health-check.ts:36](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/api/admin/domain-mappings/[id]/health-check.ts#L36) |
226
+ | entity:customer_accounts.role:mutation-guard | mutation-guard | entity:customer_accounts.role @customer_accounts | mutation-guard | — | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/api/admin/roles/[id]/acl.ts:76](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/api/admin/roles/[id]/acl.ts#L76) |
227
+
228
+ ## Incoming installed contributions
229
+
230
+ _none_
231
+
232
+ ## Contribution resolutions
233
+
234
+ | Contribution | Target | Resolution | Activations | Source |
235
+ |---|---|---|---|---|
236
+ | customer_accounts:auto-link-crm-reverse | event:customers.person.created @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/autoLinkCrmReverse.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/autoLinkCrmReverse.ts) |
237
+ | customer_accounts:auto-link-crm | event:customer_accounts.user.created @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/autoLinkCrm.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/autoLinkCrm.ts) |
238
+ | customer_accounts:invalidate-domain-cache | wildcard:customer_accounts.domain_mapping.* | wildcard | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/invalidateDomainCache.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/invalidateDomainCache.ts) |
239
+ | customer_accounts:notify-domain-activated | event:customer_accounts.domain_mapping.activated @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainActivated.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainActivated.ts) |
240
+ | customer_accounts:notify-domain-dns-failed | event:customer_accounts.domain_mapping.dns_failed @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainDnsFailed.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainDnsFailed.ts) |
241
+ | customer_accounts:notify-domain-tls-failed | event:customer_accounts.domain_mapping.tls_failed @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainTlsFailed.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainTlsFailed.ts) |
242
+ | customer_accounts:notify-domain-verified | event:customer_accounts.domain_mapping.verified @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainVerified.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainVerified.ts) |
243
+ | customer_accounts:notify-staff-on-signup | event:customer_accounts.user.created @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyStaffOnSignup.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyStaffOnSignup.ts) |
244
+ | customer_accounts:query-index-reindex-created | event:customer_accounts.user.created @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-created.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-created.ts) |
245
+ | customer_accounts:query-index-reindex-deleted | event:customer_accounts.user.deleted @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-deleted.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-deleted.ts) |
246
+ | customer_accounts:query-index-reindex-updated | event:customer_accounts.user.updated @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-updated.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-updated.ts) |
247
+ | customer_accounts:unlink-on-company-delete | event:customers.company.deleted @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/unlinkOnCompanyDelete.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/unlinkOnCompanyDelete.ts) |
248
+ | customer_accounts:unlink-on-person-delete | event:customers.person.deleted @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/unlinkOnPersonDelete.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/unlinkOnPersonDelete.ts) |
249
+ | customer_accounts.company-user-count | entity:customers.company | optional-target-missing | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts) |
250
+ | customer_accounts.domain_mapping.activated.browser | event:customer_accounts.domain_mapping.activated @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
251
+ | customer_accounts.domain_mapping.created.browser | event:customer_accounts.domain_mapping.created @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
252
+ | customer_accounts.domain_mapping.deleted.browser | event:customer_accounts.domain_mapping.deleted @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
253
+ | customer_accounts.domain_mapping.dns_failed.browser | event:customer_accounts.domain_mapping.dns_failed @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
254
+ | customer_accounts.domain_mapping.hostname-format | entity:customer_accounts.domain_mapping @customer_accounts | bound | entity:customer_accounts.domain_mapping:mutation-guard | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/guards.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/guards.ts) |
255
+ | customer_accounts.domain_mapping.hostname-unique | entity:customer_accounts.domain_mapping @customer_accounts | bound | entity:customer_accounts.domain_mapping:mutation-guard | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/guards.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/guards.ts) |
256
+ | customer_accounts.domain_mapping.org-limit | entity:customer_accounts.domain_mapping @customer_accounts | bound | entity:customer_accounts.domain_mapping:mutation-guard | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/guards.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/guards.ts) |
257
+ | customer_accounts.domain_mapping.record-scope | entity:customer_accounts.domain_mapping @customer_accounts | bound | entity:customer_accounts.domain_mapping:mutation-guard | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/guards.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/guards.ts) |
258
+ | customer_accounts.domain_mapping.replaced.browser | event:customer_accounts.domain_mapping.replaced @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
259
+ | customer_accounts.domain_mapping.tls_failed.browser | event:customer_accounts.domain_mapping.tls_failed @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
260
+ | customer_accounts.domain_mapping.verified.browser | event:customer_accounts.domain_mapping.verified @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
261
+ | customer_accounts.domain-status:directory:organization | entity:directory:organization @directory | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts) |
262
+ | customer_accounts.email.verified.browser | event:customer_accounts.email.verified @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
263
+ | customer_accounts.injection.account-status@crud-form:customers.person | widget-spot:crud-form:customers.person @customers | bound | widget-spot:crud-form:customers.person:widget-injection-consumer | [node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts) |
264
+ | customer_accounts.injection.account-status@customers.person | widget-spot:customers.person @customers | bound | widget-spot:customers.person:widget-injection-consumer | [node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts) |
265
+ | customer_accounts.injection.company-users@crud-form:customers.company | widget-spot:crud-form:customers.company @customers | bound | widget-spot:crud-form:customers.company:widget-injection-consumer | [node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts) |
266
+ | customer_accounts.injection.company-users@customers.company | widget-spot:customers.company | optional-target-missing | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts) |
267
+ | customer_accounts.injection.portal-ai-assistant-trigger@portal:profile:after | widget-spot:portal:profile:after @portal | bound | widget-spot:portal:profile:after:widget-injection-consumer | [node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts) |
268
+ | customer_accounts.invitation.accepted.browser | event:customer_accounts.invitation.accepted @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
269
+ | customer_accounts.password.reset.browser | event:customer_accounts.password.reset @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
270
+ | customer_accounts.person-account-status | entity:customers.person @customers | bound | entity:customers.person:crud-response-enricher | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts) |
271
+ | customer_accounts.role.updated.browser | event:customer_accounts.role.updated @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
272
+ | customer_accounts.user.created.browser | event:customer_accounts.user.created @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
273
+ | customer_accounts.user.invited.browser | event:customer_accounts.user.invited @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
274
+ | customer_accounts.user.locked.browser | event:customer_accounts.user.locked @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
275
+ | customer_accounts.user.unlocked.browser | event:customer_accounts.user.unlocked @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
276
+ | customer_accounts.user.updated.browser | event:customer_accounts.user.updated @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/events.ts) |
277
+ | notification:customer_accounts.domain_mapping.activated | module:customer_accounts.domain_mapping.activated @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
278
+ | notification:customer_accounts.domain_mapping.dns_failed | module:customer_accounts.domain_mapping.dns_failed @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
279
+ | notification:customer_accounts.domain_mapping.tls_failed | module:customer_accounts.domain_mapping.tls_failed @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
280
+ | notification:customer_accounts.domain_mapping.verified | module:customer_accounts.domain_mapping.verified @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
281
+ | notification:customer_accounts.user.locked | module:customer_accounts.user.locked @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
282
+ | notification:customer_accounts.user.signup | module:customer_accounts.user.signup | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
283
+ | search:customer_accounts:customer_role | module:customer_accounts:customer_role @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/search.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/search.ts) |
284
+ | search:customer_accounts:customer_user | module:customer_accounts:customer_user @customer_accounts | capability-only | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/search.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/search.ts) |
204
285
 
205
286
  ## UMES diagnostics
206
287
 
@@ -209,7 +290,14 @@ customer_accounts:customer_user · customer_accounts:customer_role
209
290
 
210
291
  ## Notifications
211
292
 
212
- customer_accounts.user.signup · customer_accounts.user.locked · customer_accounts.domain_mapping.verified · customer_accounts.domain_mapping.activated · customer_accounts.domain_mapping.dns_failed · customer_accounts.domain_mapping.tls_failed
293
+ | Notification ID | Source |
294
+ |---|---|
295
+ | customer_accounts.user.signup | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
296
+ | customer_accounts.user.locked | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
297
+ | customer_accounts.domain_mapping.verified | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
298
+ | customer_accounts.domain_mapping.activated | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
299
+ | customer_accounts.domain_mapping.dns_failed | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
300
+ | customer_accounts.domain_mapping.tls_failed | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
213
301
 
214
302
  ## CLI commands
215
303
 
@@ -222,3 +310,109 @@ _none_
222
310
  ## AI agents
223
311
 
224
312
  _none_
313
+
314
+ ## Exact override targets
315
+
316
+ | Domain | Path / key | Supported modes | Referenced fact | Source |
317
+ |---|---|---|---|---|
318
+ | acl | `overrides.acl.features["customer_accounts.domain.manage"]` | disable-replace | aclFeatures:customer_accounts.domain.manage | [node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts) |
319
+ | acl | `overrides.acl.features["customer_accounts.invite"]` | disable-replace | aclFeatures:customer_accounts.invite | [node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts) |
320
+ | acl | `overrides.acl.features["customer_accounts.manage"]` | disable-replace | aclFeatures:customer_accounts.manage | [node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts) |
321
+ | acl | `overrides.acl.features["customer_accounts.roles.manage"]` | disable-replace | aclFeatures:customer_accounts.roles.manage | [node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts) |
322
+ | acl | `overrides.acl.features["customer_accounts.view"]` | disable-replace | aclFeatures:customer_accounts.view | [node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/acl.ts) |
323
+ | di | `overrides.di["customerInvitationService"]` | disable-replace | ownedContracts.di-registration:customerInvitationService | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:28](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L28) |
324
+ | di | `overrides.di["customerRbacService"]` | disable-replace | ownedContracts.di-registration:customerRbacService | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:27](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L27) |
325
+ | di | `overrides.di["customerSessionService"]` | disable-replace | ownedContracts.di-registration:customerSessionService | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:25](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L25) |
326
+ | di | `overrides.di["customerTokenService"]` | disable-replace | ownedContracts.di-registration:customerTokenService | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:26](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L26) |
327
+ | di | `overrides.di["customerUserService"]` | disable-replace | ownedContracts.di-registration:customerUserService | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:24](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L24) |
328
+ | di | `overrides.di["domainMappingService"]` | disable-replace | ownedContracts.di-registration:domainMappingService | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:30](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L30) |
329
+ | encryption | `overrides.encryption.maps["customer_accounts:customer_user"]` | disable-replace | ownedContracts.encryption:customer_accounts:customer_user | [node_modules/@open-mercato/core/src/modules/customer_accounts/encryption.ts:4](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/encryption.ts#L4) |
330
+ | encryption | `overrides.encryption.maps["customer_accounts:customer_user_invitation"]` | disable-replace | ownedContracts.encryption:customer_accounts:customer_user_invitation | [node_modules/@open-mercato/core/src/modules/customer_accounts/encryption.ts:18](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/encryption.ts#L18) |
331
+ | encryption | `overrides.encryption.maps["customer_accounts:customer_user_session"]` | disable-replace | ownedContracts.encryption:customer_accounts:customer_user_session | [node_modules/@open-mercato/core/src/modules/customer_accounts/encryption.ts:11](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/encryption.ts#L11) |
332
+ | enrichers | `overrides.enrichers["customer_accounts.company-user-count"]` | disable-replace | extensionSurfaces.contributions:customer_accounts.company-user-count | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts) |
333
+ | enrichers | `overrides.enrichers["customer_accounts.domain-status:directory:organization"]` | disable-replace | extensionSurfaces.contributions:customer_accounts.domain-status:directory:organization | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts) |
334
+ | enrichers | `overrides.enrichers["customer_accounts.person-account-status"]` | disable-replace | extensionSurfaces.contributions:customer_accounts.person-account-status | [node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/data/enrichers.ts) |
335
+ | events | `overrides.events.subscribers["customer_accounts:auto-link-crm"]` | disable-replace | extensionSurfaces.contributions:customer_accounts:auto-link-crm | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/autoLinkCrm.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/autoLinkCrm.ts) |
336
+ | events | `overrides.events.subscribers["customer_accounts:auto-link-crm-reverse"]` | disable-replace | extensionSurfaces.contributions:customer_accounts:auto-link-crm-reverse | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/autoLinkCrmReverse.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/autoLinkCrmReverse.ts) |
337
+ | events | `overrides.events.subscribers["customer_accounts:invalidate-domain-cache"]` | disable-replace | extensionSurfaces.contributions:customer_accounts:invalidate-domain-cache | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/invalidateDomainCache.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/invalidateDomainCache.ts) |
338
+ | events | `overrides.events.subscribers["customer_accounts:notify-domain-activated"]` | disable-replace | extensionSurfaces.contributions:customer_accounts:notify-domain-activated | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainActivated.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainActivated.ts) |
339
+ | events | `overrides.events.subscribers["customer_accounts:notify-domain-dns-failed"]` | disable-replace | extensionSurfaces.contributions:customer_accounts:notify-domain-dns-failed | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainDnsFailed.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainDnsFailed.ts) |
340
+ | events | `overrides.events.subscribers["customer_accounts:notify-domain-tls-failed"]` | disable-replace | extensionSurfaces.contributions:customer_accounts:notify-domain-tls-failed | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainTlsFailed.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainTlsFailed.ts) |
341
+ | events | `overrides.events.subscribers["customer_accounts:notify-domain-verified"]` | disable-replace | extensionSurfaces.contributions:customer_accounts:notify-domain-verified | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainVerified.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyDomainVerified.ts) |
342
+ | events | `overrides.events.subscribers["customer_accounts:notify-staff-on-signup"]` | disable-replace | extensionSurfaces.contributions:customer_accounts:notify-staff-on-signup | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyStaffOnSignup.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/notifyStaffOnSignup.ts) |
343
+ | events | `overrides.events.subscribers["customer_accounts:query-index-reindex-created"]` | disable-replace | extensionSurfaces.contributions:customer_accounts:query-index-reindex-created | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-created.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-created.ts) |
344
+ | events | `overrides.events.subscribers["customer_accounts:query-index-reindex-deleted"]` | disable-replace | extensionSurfaces.contributions:customer_accounts:query-index-reindex-deleted | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-deleted.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-deleted.ts) |
345
+ | events | `overrides.events.subscribers["customer_accounts:query-index-reindex-updated"]` | disable-replace | extensionSurfaces.contributions:customer_accounts:query-index-reindex-updated | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-updated.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/search-reindex-updated.ts) |
346
+ | events | `overrides.events.subscribers["customer_accounts:unlink-on-company-delete"]` | disable-replace | extensionSurfaces.contributions:customer_accounts:unlink-on-company-delete | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/unlinkOnCompanyDelete.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/unlinkOnCompanyDelete.ts) |
347
+ | events | `overrides.events.subscribers["customer_accounts:unlink-on-person-delete"]` | disable-replace | extensionSurfaces.contributions:customer_accounts:unlink-on-person-delete | [node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/unlinkOnPersonDelete.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/subscribers/unlinkOnPersonDelete.ts) |
348
+ | notifications | `overrides.notifications.types["customer_accounts.domain_mapping.activated"]` | disable-replace | notifications:customer_accounts.domain_mapping.activated | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
349
+ | notifications | `overrides.notifications.types["customer_accounts.domain_mapping.dns_failed"]` | disable-replace | notifications:customer_accounts.domain_mapping.dns_failed | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
350
+ | notifications | `overrides.notifications.types["customer_accounts.domain_mapping.tls_failed"]` | disable-replace | notifications:customer_accounts.domain_mapping.tls_failed | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
351
+ | notifications | `overrides.notifications.types["customer_accounts.domain_mapping.verified"]` | disable-replace | notifications:customer_accounts.domain_mapping.verified | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
352
+ | notifications | `overrides.notifications.types["customer_accounts.user.locked"]` | disable-replace | notifications:customer_accounts.user.locked | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
353
+ | notifications | `overrides.notifications.types["customer_accounts.user.signup"]` | disable-replace | notifications:customer_accounts.user.signup | [node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/notifications.ts) |
354
+ | routes | `overrides.routes.pages["backend:/backend/customer_accounts/roles"]` | disable-replace | backendPages:/backend/customer_accounts/roles | [node_modules/@open-mercato/core/src/modules/customer_accounts/backend/customer_accounts/roles/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/backend/customer_accounts/roles/page.tsx) |
355
+ | routes | `overrides.routes.pages["backend:/backend/customer_accounts/roles/[id]"]` | disable-replace | backendPages:/backend/customer_accounts/roles/[id] | [node_modules/@open-mercato/core/src/modules/customer_accounts/backend/customer_accounts/roles/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/backend/customer_accounts/roles/[id]/page.tsx) |
356
+ | routes | `overrides.routes.pages["backend:/backend/customer_accounts/roles/create"]` | disable-replace | backendPages:/backend/customer_accounts/roles/create | [node_modules/@open-mercato/core/src/modules/customer_accounts/backend/customer_accounts/roles/create/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/backend/customer_accounts/roles/create/page.tsx) |
357
+ | routes | `overrides.routes.pages["backend:/backend/customer_accounts/settings"]` | disable-replace | backendPages:/backend/customer_accounts/settings | [node_modules/@open-mercato/core/src/modules/customer_accounts/backend/customer_accounts/settings/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/backend/customer_accounts/settings/page.tsx) |
358
+ | routes | `overrides.routes.pages["backend:/backend/customer_accounts/settings/domain"]` | disable-replace | backendPages:/backend/customer_accounts/settings/domain | [node_modules/@open-mercato/core/src/modules/customer_accounts/backend/customer_accounts/settings/domain/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/backend/customer_accounts/settings/domain/page.tsx) |
359
+ | routes | `overrides.routes.pages["backend:/backend/customer_accounts/users"]` | disable-replace | backendPages:/backend/customer_accounts/users | [node_modules/@open-mercato/core/src/modules/customer_accounts/backend/customer_accounts/users/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/backend/customer_accounts/users/page.tsx) |
360
+ | routes | `overrides.routes.pages["backend:/backend/customer_accounts/users/[id]"]` | disable-replace | backendPages:/backend/customer_accounts/users/[id] | [node_modules/@open-mercato/core/src/modules/customer_accounts/backend/customer_accounts/users/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/backend/customer_accounts/users/[id]/page.tsx) |
361
+ | setup | `overrides.setup.defaultRoleFeatures` | replace | ownedContracts.setup:customer_accounts:setup | [node_modules/@open-mercato/core/src/modules/customer_accounts/setup.ts:222](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/setup.ts#L222) |
362
+ | setup | `overrides.setup.onTenantCreated` | replace | ownedContracts.setup:customer_accounts:setup | [node_modules/@open-mercato/core/src/modules/customer_accounts/setup.ts:222](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/setup.ts#L222) |
363
+ | setup | `overrides.setup.seedDefaults` | replace | ownedContracts.setup:customer_accounts:setup | [node_modules/@open-mercato/core/src/modules/customer_accounts/setup.ts:222](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/setup.ts#L222) |
364
+ | setup | `overrides.setup.seedExamples` | replace | ownedContracts.setup:customer_accounts:setup | [node_modules/@open-mercato/core/src/modules/customer_accounts/setup.ts:222](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/setup.ts#L222) |
365
+ | widgets | `overrides.widgets.injection["customer_accounts.injection.account-status"]` | disable-replace | extensionSurfaces.contributions:customer_accounts.injection.account-status@customers.person | [node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts) |
366
+ | widgets | `overrides.widgets.injection["customer_accounts.injection.company-users"]` | disable-replace | extensionSurfaces.contributions:customer_accounts.injection.company-users@customers.company | [node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts) |
367
+ | widgets | `overrides.widgets.injection["customer_accounts.injection.portal-ai-assistant-trigger"]` | disable-replace | extensionSurfaces.contributions:customer_accounts.injection.portal-ai-assistant-trigger@portal:profile:after | [node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/widgets/injection-table.ts) |
368
+ | workers | `overrides.workers["customer_accounts:cleanup-expired-sessions"]` | disable-replace | ownedContracts.worker:customer_accounts:cleanup-expired-sessions | [node_modules/@open-mercato/core/src/modules/customer_accounts/workers/cleanupExpiredSessions.ts:5](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/workers/cleanupExpiredSessions.ts#L5) |
369
+ | workers | `overrides.workers["customer_accounts:cleanup-expired-tokens"]` | disable-replace | ownedContracts.worker:customer_accounts:cleanup-expired-tokens | [node_modules/@open-mercato/core/src/modules/customer_accounts/workers/cleanupExpiredTokens.ts:9](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/workers/cleanupExpiredTokens.ts#L9) |
370
+ | workers | `overrides.workers["customer_accounts:domain-tls-retry"]` | disable-replace | ownedContracts.worker:customer_accounts:domain-tls-retry | [node_modules/@open-mercato/core/src/modules/customer_accounts/workers/domainTlsRetryWorker.ts:4](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/workers/domainTlsRetryWorker.ts#L4) |
371
+ | workers | `overrides.workers["customer_accounts:domain-verification"]` | disable-replace | ownedContracts.worker:customer_accounts:domain-verification | [node_modules/@open-mercato/core/src/modules/customer_accounts/workers/domainVerificationWorker.ts:4](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/workers/domainVerificationWorker.ts#L4) |
372
+
373
+ ## Owned contract — module metadata
374
+
375
+ | ID | Metadata | Source |
376
+ |---|---|---|
377
+ | customer_accounts | ejectable=true; name=customer_accounts; version=0.1.0 | [node_modules/@open-mercato/core/src/modules/customer_accounts/index.ts:3](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/index.ts#L3) |
378
+
379
+ ## Workers
380
+
381
+ | ID | Metadata | Source |
382
+ |---|---|---|
383
+ | customer_accounts:cleanup-expired-sessions | concurrency=1; queue=customer-accounts-cleanup-sessions | [node_modules/@open-mercato/core/src/modules/customer_accounts/workers/cleanupExpiredSessions.ts:5](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/workers/cleanupExpiredSessions.ts#L5) |
384
+ | customer_accounts:cleanup-expired-tokens | concurrency=1; queue=customer-accounts-cleanup-tokens | [node_modules/@open-mercato/core/src/modules/customer_accounts/workers/cleanupExpiredTokens.ts:9](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/workers/cleanupExpiredTokens.ts#L9) |
385
+ | customer_accounts:domain-tls-retry | concurrency=1; queue=domain-tls-retry | [node_modules/@open-mercato/core/src/modules/customer_accounts/workers/domainTlsRetryWorker.ts:4](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/workers/domainTlsRetryWorker.ts#L4) |
386
+ | customer_accounts:domain-verification | concurrency=1; queue=domain-verification | [node_modules/@open-mercato/core/src/modules/customer_accounts/workers/domainVerificationWorker.ts:4](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/workers/domainVerificationWorker.ts#L4) |
387
+
388
+ ## Setup
389
+
390
+ | ID | Metadata | Source |
391
+ |---|---|---|
392
+ | customer_accounts:setup | hooks=onTenantCreated, seedDefaults, seedExamples; roles=admin, superadmin | [node_modules/@open-mercato/core/src/modules/customer_accounts/setup.ts:222](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/setup.ts#L222) |
393
+
394
+ ## Encryption
395
+
396
+ | ID | Metadata | Source |
397
+ |---|---|---|
398
+ | customer_accounts:customer_user | fields=display_name, email | [node_modules/@open-mercato/core/src/modules/customer_accounts/encryption.ts:4](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/encryption.ts#L4) |
399
+ | customer_accounts:customer_user_invitation | fields=display_name, email | [node_modules/@open-mercato/core/src/modules/customer_accounts/encryption.ts:18](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/encryption.ts#L18) |
400
+ | customer_accounts:customer_user_session | fields=ip_address, user_agent | [node_modules/@open-mercato/core/src/modules/customer_accounts/encryption.ts:11](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/encryption.ts#L11) |
401
+
402
+ ## DI registrations (rich)
403
+
404
+ | Token | Kind | Lifetime | Injection | Provider | Source |
405
+ |---|---|---|---|---|---|
406
+ | customerInvitationService | class | scoped | — | CustomerInvitationService | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:28](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L28) |
407
+ | customerRbacService | class | scoped | — | CustomerRbacService | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:27](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L27) |
408
+ | customerSessionService | class | scoped | — | CustomerSessionService | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:25](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L25) |
409
+ | customerTokenService | class | scoped | — | CustomerTokenService | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:26](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L26) |
410
+ | customerUserService | class | scoped | — | CustomerUserService | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:24](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L24) |
411
+ | domainMappingService | function | scoped | — | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts:30](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/di.ts#L30) |
412
+
413
+ ## Custom entities
414
+
415
+ | ID | Metadata | Source |
416
+ |---|---|---|
417
+ | customer_accounts:customer_role | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/ce.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/ce.ts) |
418
+ | customer_accounts:customer_user | — | [node_modules/@open-mercato/core/src/modules/customer_accounts/ce.ts](../../../node_modules/@open-mercato/core/src/modules/customer_accounts/ce.ts) |