@open-mercato/cli 0.6.7-develop.6795.1.8a3f27921c → 0.6.7-develop.6814.1.0627c7e9f1

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 (95) 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/manifest.json +2 -2
  61. package/dist/agentic/shared/AGENTS.md.template +6 -5
  62. package/dist/agentic/shared/ai/harness/cases.json +3 -0
  63. package/dist/agentic/shared/ai/lessons/_template.md +16 -0
  64. package/dist/agentic/shared/ai/lessons.md +26 -3
  65. package/dist/agentic/shared/ai/skills/om-evolve-harness/SKILL.md +7 -6
  66. package/dist/agentic/shared/ai/skills/om-system-extension/references/unified-overrides.md +4 -2
  67. package/dist/agentic/shared/scripts/check-lessons.mjs +178 -0
  68. package/dist/lib/agentic-setup.js +2 -2
  69. package/dist/lib/agentic-setup.js.map +2 -2
  70. package/dist/lib/generators/module-extension-facts.js +652 -24
  71. package/dist/lib/generators/module-extension-facts.js.map +3 -3
  72. package/dist/lib/generators/module-fact-sources.js +70 -0
  73. package/dist/lib/generators/module-fact-sources.js.map +7 -0
  74. package/dist/lib/generators/module-facts.js +1001 -26
  75. package/dist/lib/generators/module-facts.js.map +3 -3
  76. package/dist/lib/generators/module-override-targets.js +688 -0
  77. package/dist/lib/generators/module-override-targets.js.map +7 -0
  78. package/dist/lib/testing/integration.js +5 -0
  79. package/dist/lib/testing/integration.js.map +2 -2
  80. package/package.json +5 -5
  81. package/src/lib/__tests__/agentic-setup.ownership.test.ts +6 -0
  82. package/src/lib/agentic-setup.ts +6 -2
  83. package/src/lib/generators/__tests__/activation-adapter-coverage.test.ts +92 -0
  84. package/src/lib/generators/__tests__/module-extension-activations.test.ts +762 -0
  85. package/src/lib/generators/__tests__/module-extension-facts.test.ts +4 -2
  86. package/src/lib/generators/__tests__/module-facts.bc-guard.test.ts +37 -3
  87. package/src/lib/generators/__tests__/module-facts.owned-contracts.test.ts +561 -0
  88. package/src/lib/generators/__tests__/module-override-targets.roundtrip.test.ts +149 -0
  89. package/src/lib/generators/__tests__/module-override-targets.test.ts +304 -0
  90. package/src/lib/generators/module-extension-facts.ts +923 -27
  91. package/src/lib/generators/module-fact-sources.ts +108 -0
  92. package/src/lib/generators/module-facts.ts +1360 -25
  93. package/src/lib/generators/module-override-targets.ts +863 -0
  94. package/src/lib/testing/__tests__/integration.test.ts +4 -0
  95. package/src/lib/testing/integration.ts +5 -0
@@ -1,94 +1,116 @@
1
1
  # customers — 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.6814.1.0627c7e9f1; core 0.6.7-develop.6814.1.0627c7e9f1 — R1 staleness stamp -->
3
3
  Source root: [node_modules/@open-mercato/core/src/modules/customers](../../../node_modules/@open-mercato/core/src/modules/customers)
4
4
 
5
5
  ## Entities
6
6
 
7
- | Entity ID | Class | Table | Editable | CustomFields |
8
- |---|---|---|---|---|
9
- | customers:customer_entity | CustomerEntity | customer_entities | yes | no |
10
- | customers:customer_person_profile | CustomerPersonProfile | customer_people | yes | yes |
11
- | customers:customer_person_company_link | CustomerPersonCompanyLink | customer_person_company_links | yes | no |
12
- | customers:customer_company_profile | CustomerCompanyProfile | customer_companies | yes | yes |
13
- | customers:customer_deal | CustomerDeal | customer_deals | yes | yes |
14
- | customers:customer_deal_stage_transition | CustomerDealStageTransition | customer_deal_stage_transitions | yes | no |
15
- | customers:customer_deal_person_link | CustomerDealPersonLink | customer_deal_people | no | no |
16
- | customers:customer_deal_company_link | CustomerDealCompanyLink | customer_deal_companies | no | no |
17
- | customers:customer_activity | CustomerActivity | customer_activities | yes | yes |
18
- | customers:customer_interaction | CustomerInteraction | customer_interactions | yes | yes |
19
- | customers:customer_comment | CustomerComment | customer_comments | yes | no |
20
- | customers:customer_address | CustomerAddress | customer_addresses | yes | no |
21
- | customers:customer_settings | CustomerSettings | customer_settings | yes | no |
22
- | customers:customer_tag | CustomerTag | customer_tags | yes | no |
23
- | customers:customer_tag_assignment | CustomerTagAssignment | customer_tag_assignments | no | no |
24
- | customers:customer_dictionary_entry | CustomerDictionaryEntry | customer_dictionary_entries | yes | no |
25
- | customers:customer_pipeline | CustomerPipeline | customer_pipelines | yes | no |
26
- | customers:customer_pipeline_stage | CustomerPipelineStage | customer_pipeline_stages | yes | no |
27
- | customers:customer_todo_link | CustomerTodoLink | customer_todo_links | no | no |
28
- | customers:customer_entity_role | CustomerEntityRole | customer_entity_roles | yes | no |
29
- | customers:customer_dictionary_kind_setting | CustomerDictionaryKindSetting | customer_dictionary_kind_settings | yes | no |
30
- | customers:customer_label | CustomerLabel | customer_labels | yes | no |
31
- | customers:customer_label_assignment | CustomerLabelAssignment | customer_label_assignments | no | no |
32
- | customers:customer_company_billing | CustomerCompanyBilling | customer_company_billing | yes | no |
33
- | customers:customer_person_company_role | CustomerPersonCompanyRole | customer_person_company_roles | no | no |
7
+ | Entity ID | Class | Table | Editable | CustomFields | Source |
8
+ |---|---|---|---|---|---|
9
+ | customers:customer_entity | CustomerEntity | customer_entities | yes | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
10
+ | customers:customer_person_profile | CustomerPersonProfile | customer_people | yes | yes | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
11
+ | customers:customer_person_company_link | CustomerPersonCompanyLink | customer_person_company_links | yes | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
12
+ | customers:customer_company_profile | CustomerCompanyProfile | customer_companies | yes | yes | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
13
+ | customers:customer_deal | CustomerDeal | customer_deals | yes | yes | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
14
+ | customers:customer_deal_stage_transition | CustomerDealStageTransition | customer_deal_stage_transitions | yes | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
15
+ | customers:customer_deal_person_link | CustomerDealPersonLink | customer_deal_people | no | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
16
+ | customers:customer_deal_company_link | CustomerDealCompanyLink | customer_deal_companies | no | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
17
+ | customers:customer_activity | CustomerActivity | customer_activities | yes | yes | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
18
+ | customers:customer_interaction | CustomerInteraction | customer_interactions | yes | yes | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
19
+ | customers:customer_comment | CustomerComment | customer_comments | yes | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
20
+ | customers:customer_address | CustomerAddress | customer_addresses | yes | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
21
+ | customers:customer_settings | CustomerSettings | customer_settings | yes | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
22
+ | customers:customer_tag | CustomerTag | customer_tags | yes | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
23
+ | customers:customer_tag_assignment | CustomerTagAssignment | customer_tag_assignments | no | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
24
+ | customers:customer_dictionary_entry | CustomerDictionaryEntry | customer_dictionary_entries | yes | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
25
+ | customers:customer_pipeline | CustomerPipeline | customer_pipelines | yes | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
26
+ | customers:customer_pipeline_stage | CustomerPipelineStage | customer_pipeline_stages | yes | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
27
+ | customers:customer_todo_link | CustomerTodoLink | customer_todo_links | no | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
28
+ | customers:customer_entity_role | CustomerEntityRole | customer_entity_roles | yes | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
29
+ | customers:customer_dictionary_kind_setting | CustomerDictionaryKindSetting | customer_dictionary_kind_settings | yes | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
30
+ | customers:customer_label | CustomerLabel | customer_labels | yes | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
31
+ | customers:customer_label_assignment | CustomerLabelAssignment | customer_label_assignments | no | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
32
+ | customers:customer_company_billing | CustomerCompanyBilling | customer_company_billing | yes | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
33
+ | customers:customer_person_company_role | CustomerPersonCompanyRole | customer_person_company_roles | no | no | [node_modules/@open-mercato/core/src/modules/customers/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/entities.ts) |
34
34
 
35
35
  ## Events (49)
36
36
 
37
- | ID | Category | Entity | Browser transport |
38
- |---|---|---|---|
39
- | customers.person.created | crud | person | — |
40
- | customers.person.updated | crud | person | — |
41
- | customers.person.deleted | crud | person | — |
42
- | customers.company.created | crud | company | — |
43
- | customers.company.updated | crud | company | — |
44
- | customers.company.deleted | crud | company | — |
45
- | customers.deal.created | crud | deal | — |
46
- | customers.deal.updated | crud | deal | — |
47
- | customers.deal.deleted | crud | deal | — |
48
- | customers.deal.won | lifecycle | deal | — |
49
- | customers.deal.lost | lifecycle | deal | — |
50
- | customers.comment.created | crud | comment | — |
51
- | customers.comment.updated | crud | comment | — |
52
- | customers.comment.deleted | crud | comment | — |
53
- | customers.address.created | crud | address | — |
54
- | customers.address.updated | crud | address | — |
55
- | customers.address.deleted | crud | address | — |
56
- | customers.activity.created | crud | activity | — |
57
- | customers.activity.updated | crud | activity | — |
58
- | customers.activity.deleted | crud | activity | — |
59
- | customers.tag.created | crud | tag | — |
60
- | customers.tag.updated | crud | tag | — |
61
- | customers.tag.deleted | crud | tag | — |
62
- | customers.tag.assigned | crud | tag | — |
63
- | customers.tag.removed | crud | tag | — |
64
- | customers.todo.created | crud | todo | — |
65
- | customers.todo.updated | crud | todo | — |
66
- | customers.todo.deleted | crud | todo | — |
67
- | customers.interaction.created | crud | interaction | — |
68
- | customers.interaction.updated | crud | interaction | — |
69
- | customers.interaction.completed | lifecycle | interaction | — |
70
- | customers.interaction.canceled | lifecycle | interaction | — |
71
- | customers.interaction.reverted | lifecycle | interaction | — |
72
- | customers.interaction.deleted | crud | interaction | — |
73
- | customers.next_interaction.updated | lifecycle | interaction | — |
74
- | customers.entity_role.created | crud | entity_role | — |
75
- | customers.entity_role.updated | crud | entity_role | — |
76
- | customers.entity_role.deleted | crud | entity_role | — |
77
- | customers.label.created | crud | label | — |
78
- | customers.label.updated | crud | label | — |
79
- | customers.label.deleted | crud | label | — |
80
- | customers.label_assignment.created | crud | label_assignment | — |
81
- | customers.label_assignment.updated | crud | label_assignment | — |
82
- | customers.label_assignment.deleted | crud | label_assignment | — |
83
- | customers.person_company_link.created | crud | person_company_link | client |
84
- | customers.person_company_link.updated | crud | person_company_link | client |
85
- | customers.person_company_link.deleted | crud | person_company_link | client |
86
- | customers.email.linked | lifecycle | email_link | client |
87
- | customers.email.visibility_changed | lifecycle | email_link | client |
37
+ | ID | Category | Entity | Browser transport | Source |
38
+ |---|---|---|---|---|
39
+ | customers.person.created | crud | person | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
40
+ | customers.person.updated | crud | person | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
41
+ | customers.person.deleted | crud | person | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
42
+ | customers.company.created | crud | company | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
43
+ | customers.company.updated | crud | company | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
44
+ | customers.company.deleted | crud | company | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
45
+ | customers.deal.created | crud | deal | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
46
+ | customers.deal.updated | crud | deal | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
47
+ | customers.deal.deleted | crud | deal | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
48
+ | customers.deal.won | lifecycle | deal | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
49
+ | customers.deal.lost | lifecycle | deal | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
50
+ | customers.comment.created | crud | comment | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
51
+ | customers.comment.updated | crud | comment | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
52
+ | customers.comment.deleted | crud | comment | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
53
+ | customers.address.created | crud | address | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
54
+ | customers.address.updated | crud | address | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
55
+ | customers.address.deleted | crud | address | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
56
+ | customers.activity.created | crud | activity | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
57
+ | customers.activity.updated | crud | activity | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
58
+ | customers.activity.deleted | crud | activity | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
59
+ | customers.tag.created | crud | tag | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
60
+ | customers.tag.updated | crud | tag | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
61
+ | customers.tag.deleted | crud | tag | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
62
+ | customers.tag.assigned | crud | tag | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
63
+ | customers.tag.removed | crud | tag | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
64
+ | customers.todo.created | crud | todo | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
65
+ | customers.todo.updated | crud | todo | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
66
+ | customers.todo.deleted | crud | todo | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
67
+ | customers.interaction.created | crud | interaction | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
68
+ | customers.interaction.updated | crud | interaction | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
69
+ | customers.interaction.completed | lifecycle | interaction | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
70
+ | customers.interaction.canceled | lifecycle | interaction | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
71
+ | customers.interaction.reverted | lifecycle | interaction | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
72
+ | customers.interaction.deleted | crud | interaction | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
73
+ | customers.next_interaction.updated | lifecycle | interaction | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
74
+ | customers.entity_role.created | crud | entity_role | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
75
+ | customers.entity_role.updated | crud | entity_role | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
76
+ | customers.entity_role.deleted | crud | entity_role | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
77
+ | customers.label.created | crud | label | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
78
+ | customers.label.updated | crud | label | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
79
+ | customers.label.deleted | crud | label | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
80
+ | customers.label_assignment.created | crud | label_assignment | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
81
+ | customers.label_assignment.updated | crud | label_assignment | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
82
+ | customers.label_assignment.deleted | crud | label_assignment | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
83
+ | customers.person_company_link.created | crud | person_company_link | client | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
84
+ | customers.person_company_link.updated | crud | person_company_link | client | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
85
+ | customers.person_company_link.deleted | crud | person_company_link | client | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
86
+ | customers.email.linked | lifecycle | email_link | client | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
87
+ | customers.email.visibility_changed | lifecycle | email_link | client | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
88
88
 
89
89
  ## ACL features (21)
90
90
 
91
- customers.people.view · customers.people.manage · customers.companies.view · customers.companies.manage · customers.deals.view · customers.deals.manage · customers.activities.view · customers.activities.manage · customers.settings.manage · customers.pipelines.view · customers.pipelines.manage · customers.widgets.todos · customers.widgets.next-interactions · customers.widgets.new-customers · customers.widgets.new-deals · customers.interactions.view · customers.interactions.manage · customers.roles.view · customers.roles.manage · customers.email.compose · customers.email.view_private
91
+ | Feature | Source |
92
+ |---|---|
93
+ | customers.people.view | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
94
+ | customers.people.manage | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
95
+ | customers.companies.view | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
96
+ | customers.companies.manage | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
97
+ | customers.deals.view | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
98
+ | customers.deals.manage | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
99
+ | customers.activities.view | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
100
+ | customers.activities.manage | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
101
+ | customers.settings.manage | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
102
+ | customers.pipelines.view | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
103
+ | customers.pipelines.manage | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
104
+ | customers.widgets.todos | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
105
+ | customers.widgets.next-interactions | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
106
+ | customers.widgets.new-customers | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
107
+ | customers.widgets.new-deals | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
108
+ | customers.interactions.view | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
109
+ | customers.interactions.manage | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
110
+ | customers.roles.view | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
111
+ | customers.roles.manage | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
112
+ | customers.email.compose | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
113
+ | customers.email.view_private | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
92
114
 
93
115
  ## API routes
94
116
 
@@ -127,7 +149,14 @@ _none_
127
149
 
128
150
  ## Search entities
129
151
 
130
- customers:customer_person_profile · customers:customer_company_profile · customers:customer_comment · customers:customer_deal · customers:customer_activity · customers:customer_todo_link
152
+ | Entity ID | Source |
153
+ |---|---|
154
+ | customers:customer_person_profile | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
155
+ | customers:customer_company_profile | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
156
+ | customers:customer_comment | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
157
+ | customers:customer_deal | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
158
+ | customers:customer_activity | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
159
+ | customers:customer_todo_link | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
131
160
 
132
161
  ## Host extension points
133
162
 
@@ -136,222 +165,326 @@ customers:customer_person_profile · customers:customer_company_profile · custo
136
165
 
137
166
  ## UMES hosts
138
167
 
139
- | ID / pattern | Family | Supports | Context | Stability |
140
- |---|---|---|---|---|
141
- | crud-form:customers.company | crud-form | render-widget, lifecycle-handler | — | FROZEN |
142
- | crud-form:customers.company | crud-form | component-replacement | — | FROZEN |
143
- | crud-form:customers.company:fields | crud-form | field-widget | — | FROZEN |
144
- | crud-form:customers.company:header | crud-form | render-widget | — | FROZEN |
145
- | crud-form:customers.deal | crud-form | render-widget, lifecycle-handler | — | FROZEN |
146
- | crud-form:customers.deal | crud-form | component-replacement | — | FROZEN |
147
- | crud-form:customers.deal:fields | crud-form | field-widget | — | FROZEN |
148
- | crud-form:customers.deal:header | crud-form | render-widget | — | FROZEN |
149
- | crud-form:customers.person | crud-form | render-widget, lifecycle-handler | — | FROZEN |
150
- | crud-form:customers.person | crud-form | component-replacement | — | FROZEN |
151
- | crud-form:customers.person:fields | crud-form | field-widget | — | FROZEN |
152
- | crud-form:customers.person:header | crud-form | render-widget | — | FROZEN |
153
- | data-table:customers.companies.list | data-table | component-replacement | — | FROZEN |
154
- | data-table:customers.companies.list:bulk-actions | data-table | bulk-action | — | FROZEN |
155
- | data-table:customers.companies.list:columns | data-table | column-widget | — | FROZEN |
156
- | data-table:customers.companies.list:filters | data-table | filter-widget | — | FROZEN |
157
- | data-table:customers.companies.list:footer | data-table | render-widget | — | FROZEN |
158
- | data-table:customers.companies.list:header | data-table | render-widget | — | FROZEN |
159
- | data-table:customers.companies.list:row-actions | data-table | row-action | — | FROZEN |
160
- | data-table:customers.companies.list:search-trailing | data-table | render-widget | — | FROZEN |
161
- | data-table:customers.companies.list:toolbar | data-table | toolbar-widget | — | FROZEN |
162
- | data-table:customers.deals.list | data-table | component-replacement | — | FROZEN |
163
- | data-table:customers.deals.list:bulk-actions | data-table | bulk-action | — | FROZEN |
164
- | data-table:customers.deals.list:columns | data-table | column-widget | — | FROZEN |
165
- | data-table:customers.deals.list:filters | data-table | filter-widget | — | FROZEN |
166
- | data-table:customers.deals.list:footer | data-table | render-widget | — | FROZEN |
167
- | data-table:customers.deals.list:header | data-table | render-widget | — | FROZEN |
168
- | data-table:customers.deals.list:row-actions | data-table | row-action | — | FROZEN |
169
- | data-table:customers.deals.list:search-trailing | data-table | render-widget | — | FROZEN |
170
- | data-table:customers.deals.list:toolbar | data-table | toolbar-widget | — | FROZEN |
171
- | data-table:customers.people.list | data-table | component-replacement | — | FROZEN |
172
- | data-table:customers.people.list:bulk-actions | data-table | bulk-action | — | FROZEN |
173
- | data-table:customers.people.list:columns | data-table | column-widget | — | FROZEN |
174
- | data-table:customers.people.list:filters | data-table | filter-widget | — | FROZEN |
175
- | data-table:customers.people.list:footer | data-table | render-widget | — | FROZEN |
176
- | data-table:customers.people.list:header | data-table | render-widget | — | FROZEN |
177
- | data-table:customers.people.list:row-actions | data-table | row-action | — | FROZEN |
178
- | data-table:customers.people.list:search-trailing | data-table | render-widget | — | FROZEN |
179
- | data-table:customers.people.list:toolbar | data-table | toolbar-widget | — | FROZEN |
180
- | data-table:customers.todos.list | data-table | component-replacement | — | FROZEN |
181
- | data-table:customers.todos.list:bulk-actions | data-table | bulk-action | — | FROZEN |
182
- | data-table:customers.todos.list:columns | data-table | column-widget | — | FROZEN |
183
- | data-table:customers.todos.list:filters | data-table | filter-widget | — | FROZEN |
184
- | data-table:customers.todos.list:footer | data-table | render-widget | — | FROZEN |
185
- | data-table:customers.todos.list:header | data-table | render-widget | — | FROZEN |
186
- | data-table:customers.todos.list:row-actions | data-table | row-action | — | FROZEN |
187
- | data-table:customers.todos.list:search-trailing | data-table | render-widget | — | FROZEN |
188
- | data-table:customers.todos.list:toolbar | data-table | toolbar-widget | — | FROZEN |
189
- | customers.company.detail:details | detail | render-widget | customers.detail.v1 | FROZEN |
190
- | customers.person.detail:details | detail | render-widget | customers.detail.v1 | FROZEN |
191
- | detail:customers.company:footer | detail | render-widget | customers.detail.v1 | FROZEN |
192
- | detail:customers.company:header | detail | render-widget | customers.detail.v1 | FROZEN |
193
- | detail:customers.company:status-badges | detail | render-widget | customers.detail.v1 | FROZEN |
194
- | detail:customers.deal:footer | detail | render-widget | customers.detail.v1 | FROZEN |
195
- | detail:customers.deal:header | detail | render-widget | customers.detail.v1 | FROZEN |
196
- | detail:customers.deal:status-badges | detail | render-widget | customers.detail.v1 | FROZEN |
197
- | detail:customers.person:footer | detail | render-widget | customers.detail.v1 | FROZEN |
198
- | detail:customers.person:header | detail | render-widget | customers.detail.v1 | FROZEN |
199
- | detail:customers.person:status-badges | detail | render-widget | customers.detail.v1 | FROZEN |
200
- | customers:customer_activity | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
201
- | customers:customer_address | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
202
- | customers:customer_comment | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
203
- | customers:customer_company_billing | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
204
- | customers:customer_company_profile | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
205
- | customers:customer_deal | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
206
- | customers:customer_deal_company_link | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
207
- | customers:customer_deal_person_link | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
208
- | customers:customer_deal_stage_transition | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
209
- | customers:customer_dictionary_entry | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
210
- | customers:customer_dictionary_kind_setting | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
211
- | customers:customer_entity | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
212
- | customers:customer_entity_role | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
213
- | customers:customer_interaction | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
214
- | customers:customer_label | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
215
- | customers:customer_label_assignment | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
216
- | customers:customer_person_company_link | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
217
- | customers:customer_person_company_role | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
218
- | customers:customer_person_profile | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
219
- | customers:customer_pipeline | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
220
- | customers:customer_pipeline_stage | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
221
- | customers:customer_settings | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
222
- | customers:customer_tag | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
223
- | customers:customer_tag_assignment | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
224
- | customers:customer_todo_link | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE |
225
- | customers.activity | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE |
226
- | customers.deal | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE |
227
- | customers.dictionary_entry | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE |
228
- | customers.interaction | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE |
229
- | customers.label | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE |
230
- | customers.person | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE |
231
- | customers.pipeline | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE |
232
- | customers.pipelineStage | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE |
233
- | customers.settings | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE |
234
- | customers.tagAssignment | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE |
235
- | customers.todoLink | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE |
236
- | customers.activity.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
237
- | customers.activity.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
238
- | customers.activity.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
239
- | customers.address.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
240
- | customers.address.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
241
- | customers.address.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
242
- | customers.comment.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
243
- | customers.comment.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
244
- | customers.comment.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
245
- | customers.company.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
246
- | customers.company.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
247
- | customers.company.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
248
- | customers.deal.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
249
- | customers.deal.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
250
- | customers.deal.lost | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
251
- | customers.deal.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
252
- | customers.deal.won | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
253
- | customers.email.linked | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
254
- | customers.email.visibility_changed | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
255
- | customers.entity_role.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
256
- | customers.entity_role.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
257
- | customers.entity_role.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
258
- | customers.interaction.canceled | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
259
- | customers.interaction.completed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
260
- | customers.interaction.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
261
- | customers.interaction.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
262
- | customers.interaction.reverted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
263
- | customers.interaction.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
264
- | customers.label_assignment.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
265
- | customers.label_assignment.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
266
- | customers.label_assignment.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
267
- | customers.label.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
268
- | customers.label.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
269
- | customers.label.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
270
- | customers.next_interaction.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
271
- | customers.person_company_link.created | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
272
- | customers.person_company_link.deleted | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
273
- | customers.person_company_link.updated | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE |
274
- | customers.person.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
275
- | customers.person.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
276
- | customers.person.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
277
- | customers.tag.assigned | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
278
- | customers.tag.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
279
- | customers.tag.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
280
- | customers.tag.removed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
281
- | customers.tag.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
282
- | customers.todo.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
283
- | customers.todo.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
284
- | customers.todo.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE |
285
- | customers.customer_activity.queried | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE |
286
- | customers.customer_activity.querying | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE |
287
- | customers.customer_comment.queried | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE |
288
- | customers.customer_comment.querying | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE |
289
- | customers.customer_company_profile.queried | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE |
290
- | customers.customer_company_profile.querying | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE |
291
- | customers.customer_deal.queried | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE |
292
- | customers.customer_deal.querying | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE |
293
- | customers.customer_person_profile.queried | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE |
294
- | customers.customer_person_profile.querying | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE |
295
- | customers.customer_todo_link.queried | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE |
296
- | customers.customer_todo_link.querying | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE |
168
+ | ID / pattern | Family | Supports | Context | Stability | Source |
169
+ |---|---|---|---|---|---|
170
+ | crud-form:customers.company | crud-form | render-widget, lifecycle-handler | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
171
+ | crud-form:customers.company | crud-form | component-replacement | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
172
+ | crud-form:customers.company:fields | crud-form | field-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
173
+ | crud-form:customers.company:header | crud-form | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
174
+ | crud-form:customers.deal | crud-form | render-widget, lifecycle-handler | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
175
+ | crud-form:customers.deal | crud-form | component-replacement | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
176
+ | crud-form:customers.deal:fields | crud-form | field-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
177
+ | crud-form:customers.deal:header | crud-form | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
178
+ | crud-form:customers.person | crud-form | render-widget, lifecycle-handler | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
179
+ | crud-form:customers.person | crud-form | component-replacement | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
180
+ | crud-form:customers.person:fields | crud-form | field-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
181
+ | crud-form:customers.person:header | crud-form | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
182
+ | data-table:customers.companies.list | data-table | component-replacement | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
183
+ | data-table:customers.companies.list:bulk-actions | data-table | bulk-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
184
+ | data-table:customers.companies.list:columns | data-table | column-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
185
+ | data-table:customers.companies.list:filters | data-table | filter-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
186
+ | data-table:customers.companies.list:footer | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
187
+ | data-table:customers.companies.list:header | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
188
+ | data-table:customers.companies.list:row-actions | data-table | row-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
189
+ | data-table:customers.companies.list:search-trailing | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
190
+ | data-table:customers.companies.list:toolbar | data-table | toolbar-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
191
+ | data-table:customers.deals.list | data-table | component-replacement | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
192
+ | data-table:customers.deals.list:bulk-actions | data-table | bulk-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
193
+ | data-table:customers.deals.list:columns | data-table | column-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
194
+ | data-table:customers.deals.list:filters | data-table | filter-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
195
+ | data-table:customers.deals.list:footer | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
196
+ | data-table:customers.deals.list:header | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
197
+ | data-table:customers.deals.list:row-actions | data-table | row-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
198
+ | data-table:customers.deals.list:search-trailing | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
199
+ | data-table:customers.deals.list:toolbar | data-table | toolbar-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
200
+ | data-table:customers.people.list | data-table | component-replacement | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
201
+ | data-table:customers.people.list:bulk-actions | data-table | bulk-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
202
+ | data-table:customers.people.list:columns | data-table | column-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
203
+ | data-table:customers.people.list:filters | data-table | filter-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
204
+ | data-table:customers.people.list:footer | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
205
+ | data-table:customers.people.list:header | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
206
+ | data-table:customers.people.list:row-actions | data-table | row-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
207
+ | data-table:customers.people.list:search-trailing | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
208
+ | data-table:customers.people.list:toolbar | data-table | toolbar-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
209
+ | data-table:customers.todos.list | data-table | component-replacement | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
210
+ | data-table:customers.todos.list:bulk-actions | data-table | bulk-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
211
+ | data-table:customers.todos.list:columns | data-table | column-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
212
+ | data-table:customers.todos.list:filters | data-table | filter-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
213
+ | data-table:customers.todos.list:footer | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
214
+ | data-table:customers.todos.list:header | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
215
+ | data-table:customers.todos.list:row-actions | data-table | row-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
216
+ | data-table:customers.todos.list:search-trailing | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
217
+ | data-table:customers.todos.list:toolbar | data-table | toolbar-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
218
+ | customers.company.detail:details | detail | render-widget | customers.detail.v1 | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
219
+ | customers.person.detail:details | detail | render-widget | customers.detail.v1 | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
220
+ | detail:customers.company:footer | detail | render-widget | customers.detail.v1 | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
221
+ | detail:customers.company:header | detail | render-widget | customers.detail.v1 | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
222
+ | detail:customers.company:status-badges | detail | render-widget | customers.detail.v1 | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
223
+ | detail:customers.deal:footer | detail | render-widget | customers.detail.v1 | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
224
+ | detail:customers.deal:header | detail | render-widget | customers.detail.v1 | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
225
+ | detail:customers.deal:status-badges | detail | render-widget | customers.detail.v1 | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
226
+ | detail:customers.person:footer | detail | render-widget | customers.detail.v1 | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
227
+ | detail:customers.person:header | detail | render-widget | customers.detail.v1 | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
228
+ | detail:customers.person:status-badges | detail | render-widget | customers.detail.v1 | FROZEN | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
229
+ | customers:customer_activity | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_activity |
230
+ | customers:customer_address | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_address |
231
+ | customers:customer_comment | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_comment |
232
+ | customers:customer_company_billing | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_company_billing |
233
+ | customers:customer_company_profile | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_company_profile |
234
+ | customers:customer_deal | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_deal |
235
+ | customers:customer_deal_company_link | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_deal_company_link |
236
+ | customers:customer_deal_person_link | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_deal_person_link |
237
+ | customers:customer_deal_stage_transition | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_deal_stage_transition |
238
+ | customers:customer_dictionary_entry | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_dictionary_entry |
239
+ | customers:customer_dictionary_kind_setting | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_dictionary_kind_setting |
240
+ | customers:customer_entity | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_entity |
241
+ | customers:customer_entity_role | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_entity_role |
242
+ | customers:customer_interaction | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_interaction |
243
+ | customers:customer_label | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_label |
244
+ | customers:customer_label_assignment | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_label_assignment |
245
+ | customers:customer_person_company_link | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_person_company_link |
246
+ | customers:customer_person_company_role | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_person_company_role |
247
+ | customers:customer_person_profile | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_person_profile |
248
+ | customers:customer_pipeline | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_pipeline |
249
+ | customers:customer_pipeline_stage | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_pipeline_stage |
250
+ | customers:customer_settings | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_settings |
251
+ | customers:customer_tag | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_tag |
252
+ | customers:customer_tag_assignment | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_tag_assignment |
253
+ | customers:customer_todo_link | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:customers:customer_todo_link |
254
+ | customers.activity | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE | [node_modules/@open-mercato/core/src/modules/customers/api/activities/route.ts](../../../node_modules/@open-mercato/core/src/modules/customers/api/activities/route.ts) |
255
+ | customers.deal | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE | [node_modules/@open-mercato/core/src/modules/customers/api/deals/bulk-update-owner/route.ts](../../../node_modules/@open-mercato/core/src/modules/customers/api/deals/bulk-update-owner/route.ts) |
256
+ | customers.dictionary_entry | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE | [node_modules/@open-mercato/core/src/modules/customers/api/dictionaries/[kind]/[id]/route.ts](../../../node_modules/@open-mercato/core/src/modules/customers/api/dictionaries/[kind]/[id]/route.ts) |
257
+ | customers.interaction | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE | [node_modules/@open-mercato/core/src/modules/customers/api/interactions/[id]/visibility/route.ts](../../../node_modules/@open-mercato/core/src/modules/customers/api/interactions/[id]/visibility/route.ts) |
258
+ | customers.label | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE | [node_modules/@open-mercato/core/src/modules/customers/api/labels/route.ts](../../../node_modules/@open-mercato/core/src/modules/customers/api/labels/route.ts) |
259
+ | customers.person | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE | [node_modules/@open-mercato/core/src/modules/customers/api/labels/assign/route.ts](../../../node_modules/@open-mercato/core/src/modules/customers/api/labels/assign/route.ts) |
260
+ | customers.pipeline | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE | [node_modules/@open-mercato/core/src/modules/customers/api/pipelines/route.ts](../../../node_modules/@open-mercato/core/src/modules/customers/api/pipelines/route.ts) |
261
+ | customers.pipelineStage | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE | [node_modules/@open-mercato/core/src/modules/customers/api/pipeline-stages/reorder/route.ts](../../../node_modules/@open-mercato/core/src/modules/customers/api/pipeline-stages/reorder/route.ts) |
262
+ | customers.settings | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE | [node_modules/@open-mercato/core/src/modules/customers/api/dictionaries/kind-settings/route.ts](../../../node_modules/@open-mercato/core/src/modules/customers/api/dictionaries/kind-settings/route.ts) |
263
+ | customers.tagAssignment | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE | [node_modules/@open-mercato/core/src/modules/customers/api/tags/assign/route.ts](../../../node_modules/@open-mercato/core/src/modules/customers/api/tags/assign/route.ts) |
264
+ | customers.todoLink | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE | [node_modules/@open-mercato/core/src/modules/customers/api/todos/route.ts](../../../node_modules/@open-mercato/core/src/modules/customers/api/todos/route.ts) |
265
+ | customers.activity.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.activity.created |
266
+ | customers.activity.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.activity.deleted |
267
+ | customers.activity.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.activity.updated |
268
+ | customers.address.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.address.created |
269
+ | customers.address.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.address.deleted |
270
+ | customers.address.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.address.updated |
271
+ | customers.comment.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.comment.created |
272
+ | customers.comment.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.comment.deleted |
273
+ | customers.comment.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.comment.updated |
274
+ | customers.company.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.company.created |
275
+ | customers.company.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.company.deleted |
276
+ | customers.company.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.company.updated |
277
+ | customers.deal.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.deal.created |
278
+ | customers.deal.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.deal.deleted |
279
+ | customers.deal.lost | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.deal.lost |
280
+ | customers.deal.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.deal.updated |
281
+ | customers.deal.won | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.deal.won |
282
+ | customers.email.linked | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE | events:customers.email.linked |
283
+ | customers.email.visibility_changed | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE | events:customers.email.visibility_changed |
284
+ | customers.entity_role.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.entity_role.created |
285
+ | customers.entity_role.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.entity_role.deleted |
286
+ | customers.entity_role.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.entity_role.updated |
287
+ | customers.interaction.canceled | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.interaction.canceled |
288
+ | customers.interaction.completed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.interaction.completed |
289
+ | customers.interaction.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.interaction.created |
290
+ | customers.interaction.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.interaction.deleted |
291
+ | customers.interaction.reverted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.interaction.reverted |
292
+ | customers.interaction.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.interaction.updated |
293
+ | customers.label_assignment.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.label_assignment.created |
294
+ | customers.label_assignment.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.label_assignment.deleted |
295
+ | customers.label_assignment.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.label_assignment.updated |
296
+ | customers.label.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.label.created |
297
+ | customers.label.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.label.deleted |
298
+ | customers.label.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.label.updated |
299
+ | customers.next_interaction.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.next_interaction.updated |
300
+ | customers.person_company_link.created | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE | events:customers.person_company_link.created |
301
+ | customers.person_company_link.deleted | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE | events:customers.person_company_link.deleted |
302
+ | customers.person_company_link.updated | event | async-subscriber, sync-subscriber, browser-client | tenant-organization-and-audience | STABLE | events:customers.person_company_link.updated |
303
+ | customers.person.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.person.created |
304
+ | customers.person.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.person.deleted |
305
+ | customers.person.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.person.updated |
306
+ | customers.tag.assigned | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.tag.assigned |
307
+ | customers.tag.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.tag.created |
308
+ | customers.tag.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.tag.deleted |
309
+ | customers.tag.removed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.tag.removed |
310
+ | customers.tag.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.tag.updated |
311
+ | customers.todo.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.todo.created |
312
+ | customers.todo.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.todo.deleted |
313
+ | customers.todo.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:customers.todo.updated |
314
+ | customers.customer_activity.queried | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE | searchEntities:customers:customer_activity |
315
+ | customers.customer_activity.querying | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE | searchEntities:customers:customer_activity |
316
+ | customers.customer_comment.queried | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE | searchEntities:customers:customer_comment |
317
+ | customers.customer_comment.querying | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE | searchEntities:customers:customer_comment |
318
+ | customers.customer_company_profile.queried | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE | searchEntities:customers:customer_company_profile |
319
+ | customers.customer_company_profile.querying | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE | searchEntities:customers:customer_company_profile |
320
+ | customers.customer_deal.queried | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE | searchEntities:customers:customer_deal |
321
+ | customers.customer_deal.querying | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE | searchEntities:customers:customer_deal |
322
+ | customers.customer_person_profile.queried | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE | searchEntities:customers:customer_person_profile |
323
+ | customers.customer_person_profile.querying | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE | searchEntities:customers:customer_person_profile |
324
+ | customers.customer_todo_link.queried | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE | searchEntities:customers:customer_todo_link |
325
+ | customers.customer_todo_link.querying | query-lifecycle | sync-subscriber | tenant-and-organization-reapplied-after-result | STABLE | searchEntities:customers:customer_todo_link |
297
326
 
298
327
  ## UMES contributions
299
328
 
300
- | ID | Kind | Target | Phase / operations | Contract | Resolution |
329
+ | ID | Kind | Target | Phase / operations | Contract | Resolution | Source |
330
+ |---|---|---|---|---|---|---|
331
+ | customers.email.linked.browser | browser-reaction | customers.email.linked | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
332
+ | customers.email.visibility_changed.browser | browser-reaction | customers.email.visibility_changed | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
333
+ | customers.person_company_link.created.browser | browser-reaction | customers.person_company_link.created | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
334
+ | customers.person_company_link.deleted.browser | browser-reaction | customers.person_company_link.deleted | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
335
+ | customers.person_company_link.updated.browser | browser-reaction | customers.person_company_link.updated | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
336
+ | customers.injection.ai-assistant-trigger@data-table:customers.companies.list:search-trailing | data-table | data-table:customers.companies.list:search-trailing | — | executionGuard=host; payload=render; tableId=customers.companies.list | exact | [node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts) |
337
+ | customers.injection.ai-assistant-trigger@data-table:customers.people.list:search-trailing | data-table | data-table:customers.people.list:search-trailing | — | executionGuard=host; payload=render; tableId=customers.people.list | exact | [node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts) |
338
+ | customers.injection.ai-deal-analyzer-trigger@data-table:customers.deals.list:search-trailing | data-table | data-table:customers.deals.list:search-trailing | — | executionGuard=host; payload=render; tableId=customers.deals.list | exact | [node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts) |
339
+ | customers.entity-extension.0:customers:customer_interaction->communication_channels:message_channel_link | entity-extension | customers:customer_interaction | — | extensionEntityId=communication_channels:message_channel_link; hostEntityId=customers:customer_interaction; linkId=external_message_id:id; orphanContract=optional; scopeContract=tenant-and-organization | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/data/extensions.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/extensions.ts) |
340
+ | customers.optimistic-lock | mutation-guard | * | update, delete | capabilities=block,rewrite; entityId=*; operations=update,delete; optimisticLock=preserved | pattern | [node_modules/@open-mercato/core/src/modules/customers/data/guards.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/guards.ts) |
341
+ | customers.deal-pipeline-state | response-enricher | customers.deal | list, detail | cachePosture=rerun-on-list-cache-hit; critical=false; fallback=configured; surfaces=list,detail; targetEntity=customers.deal; timeoutMs=2000 | exact | [node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts) |
342
+ | customers.interaction-email-card | response-enricher | customers.interaction | list, detail | cachePosture=rerun-on-list-cache-hit; critical=false; fallback=configured; surfaces=list,detail; targetEntity=customers.interaction; timeoutMs=1500 | exact | [node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts) |
343
+ | customers.private-email-count | response-enricher | customers.person | list, detail | cachePosture=rerun-on-list-cache-hit; critical=false; fallback=configured; surfaces=list,detail; targetEntity=customers.person; timeoutMs=1500 | exact | [node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts) |
344
+ | ai:customers.account_assistant | specialized-registry | customers.account_assistant | — | registry=ai; registryId=customers.account_assistant; specialistRoute=aiAgents | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts) |
345
+ | ai:customers.analyze_deals | specialized-registry | customers.analyze_deals | — | registry=ai; registryId=customers.analyze_deals; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/deal-analyzer-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/deal-analyzer-pack.ts) |
346
+ | ai:customers.deal_analyzer | specialized-registry | customers.deal_analyzer | — | registry=ai; registryId=customers.deal_analyzer; specialistRoute=aiAgents | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts) |
347
+ | ai:customers.deal_analyzer_tool_loop | specialized-registry | customers.deal_analyzer_tool_loop | — | registry=ai; registryId=customers.deal_analyzer_tool_loop; specialistRoute=aiAgents | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts) |
348
+ | ai:customers.get_company | specialized-registry | customers.get_company | — | registry=ai; registryId=customers.get_company; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/companies-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/companies-pack.ts) |
349
+ | ai:customers.get_deal | specialized-registry | customers.get_deal | — | registry=ai; registryId=customers.get_deal; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts) |
350
+ | ai:customers.get_person | specialized-registry | customers.get_person | — | registry=ai; registryId=customers.get_person; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/people-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/people-pack.ts) |
351
+ | ai:customers.get_settings | specialized-registry | customers.get_settings | — | registry=ai; registryId=customers.get_settings; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/settings-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/settings-pack.ts) |
352
+ | ai:customers.list_activities | specialized-registry | customers.list_activities | — | registry=ai; registryId=customers.list_activities; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
353
+ | ai:customers.list_addresses | specialized-registry | customers.list_addresses | — | registry=ai; registryId=customers.list_addresses; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/addresses-tags-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/addresses-tags-pack.ts) |
354
+ | ai:customers.list_companies | specialized-registry | customers.list_companies | — | registry=ai; registryId=customers.list_companies; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/companies-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/companies-pack.ts) |
355
+ | ai:customers.list_deal_comments | specialized-registry | customers.list_deal_comments | — | registry=ai; registryId=customers.list_deal_comments; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
356
+ | ai:customers.list_deals | specialized-registry | customers.list_deals | — | registry=ai; registryId=customers.list_deals; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts) |
357
+ | ai:customers.list_people | specialized-registry | customers.list_people | — | registry=ai; registryId=customers.list_people; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/people-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/people-pack.ts) |
358
+ | ai:customers.list_pipeline_stages | specialized-registry | customers.list_pipeline_stages | — | registry=ai; registryId=customers.list_pipeline_stages; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/settings-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/settings-pack.ts) |
359
+ | ai:customers.list_record_comments | specialized-registry | customers.list_record_comments | — | registry=ai; registryId=customers.list_record_comments; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
360
+ | ai:customers.list_tags | specialized-registry | customers.list_tags | — | registry=ai; registryId=customers.list_tags; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/addresses-tags-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/addresses-tags-pack.ts) |
361
+ | ai:customers.list_tasks | specialized-registry | customers.list_tasks | — | registry=ai; registryId=customers.list_tasks; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
362
+ | ai:customers.manage_deal_activity | specialized-registry | customers.manage_deal_activity | — | registry=ai; registryId=customers.manage_deal_activity; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
363
+ | ai:customers.manage_deal_comment | specialized-registry | customers.manage_deal_comment | — | registry=ai; registryId=customers.manage_deal_comment; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
364
+ | ai:customers.manage_record_activity | specialized-registry | customers.manage_record_activity | — | registry=ai; registryId=customers.manage_record_activity; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
365
+ | ai:customers.manage_record_comment | specialized-registry | customers.manage_record_comment | — | registry=ai; registryId=customers.manage_record_comment; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
366
+ | ai:customers.update_deal_stage | specialized-registry | customers.update_deal_stage | — | registry=ai; registryId=customers.update_deal_stage; specialistRoute=aiTools | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts) |
367
+ | notification:customers.deal.lost | specialized-registry | customers.deal.lost | — | registry=notification; registryId=customers.deal.lost; specialistRoute=notifications | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customers/notifications.ts) |
368
+ | notification:customers.deal.won | specialized-registry | customers.deal.won | — | registry=notification; registryId=customers.deal.won; specialistRoute=notifications | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customers/notifications.ts) |
369
+ | search:customers:customer_activity | specialized-registry | customers:customer_activity | — | registry=search; registryId=customers:customer_activity; specialistRoute=search | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
370
+ | search:customers:customer_comment | specialized-registry | customers:customer_comment | — | registry=search; registryId=customers:customer_comment; specialistRoute=search | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
371
+ | search:customers:customer_company_profile | specialized-registry | customers:customer_company_profile | — | registry=search; registryId=customers:customer_company_profile; specialistRoute=search | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
372
+ | search:customers:customer_deal | specialized-registry | customers:customer_deal | — | registry=search; registryId=customers:customer_deal; specialistRoute=search | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
373
+ | search:customers:customer_person_profile | specialized-registry | customers:customer_person_profile | — | registry=search; registryId=customers:customer_person_profile; specialistRoute=search | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
374
+ | search:customers:customer_todo_link | specialized-registry | customers:customer_todo_link | — | registry=search; registryId=customers:customer_todo_link; specialistRoute=search | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
375
+ | customers:deal-lost-notification | subscriber | customers.deal.lost | async-delivery | event=customers.deal.lost; persistent=true; subscriberId=customers:deal-lost-notification; sync=false | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/subscribers/deal-lost-notification.ts](../../../node_modules/@open-mercato/core/src/modules/customers/subscribers/deal-lost-notification.ts) |
376
+ | customers:deal-won-notification | subscriber | customers.deal.won | async-delivery | event=customers.deal.won; persistent=true; subscriberId=customers:deal-won-notification; sync=false | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/subscribers/deal-closure-notification.ts](../../../node_modules/@open-mercato/core/src/modules/customers/subscribers/deal-closure-notification.ts) |
377
+ | customers:link-channel-message-received | subscriber | communication_channels.message.received | async-delivery | event=communication_channels.message.received; persistent=true; subscriberId=customers:link-channel-message-received; sync=false | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/subscribers/link-channel-message-received.ts](../../../node_modules/@open-mercato/core/src/modules/customers/subscribers/link-channel-message-received.ts) |
378
+ | customers:link-channel-message-sent | subscriber | communication_channels.message.sent | async-delivery | event=communication_channels.message.sent; persistent=true; subscriberId=customers:link-channel-message-sent; sync=false | fact-ref | [node_modules/@open-mercato/core/src/modules/customers/subscribers/link-channel-message-sent.ts](../../../node_modules/@open-mercato/core/src/modules/customers/subscribers/link-channel-message-sent.ts) |
379
+ | customers.injection.ai-deal-detail-trigger@detail:customers.deal:header | widget | detail:customers.deal:header | — | executionGuard=host; payload=render; registryKey=customers.injection.ai-deal-detail-trigger | exact | [node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts) |
380
+ | dashboard:customers.dashboard.newCustomers | widget | dashboard:customers.dashboard.newCustomers | — | executionGuard=both; payload=dashboard; registryKey=customers.dashboard.newCustomers | framework | [node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/new-customers/widget.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/new-customers/widget.ts) |
381
+ | dashboard:customers.dashboard.newDeals | widget | dashboard:customers.dashboard.newDeals | — | executionGuard=both; payload=dashboard; registryKey=customers.dashboard.newDeals | framework | [node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/new-deals/widget.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/new-deals/widget.ts) |
382
+ | dashboard:customers.dashboard.nextInteractions | widget | dashboard:customers.dashboard.nextInteractions | — | executionGuard=both; payload=dashboard; registryKey=customers.dashboard.nextInteractions | framework | [node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/next-interactions/widget.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/next-interactions/widget.ts) |
383
+ | dashboard:customers.dashboard.todos | widget | dashboard:customers.dashboard.todos | — | executionGuard=both; payload=dashboard; registryKey=customers.dashboard.todos | framework | [node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/customer-todos/widget.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/customer-todos/widget.ts) |
384
+
385
+ ## Active extension bindings
386
+
387
+ | Activation | Kind | Host | Contribution kinds | Phases | Bridge | Source |
388
+ |---|---|---|---|---|---|---|
389
+ | entity:customers.activity:mutation-guard | mutation-guard | entity:customers.activity @customers | mutation-guard | — | — | [node_modules/@open-mercato/core/src/modules/customers/api/activities/route.ts:511](../../../node_modules/@open-mercato/core/src/modules/customers/api/activities/route.ts#L511) |
390
+ | entity:customers.deal:crud-response-enricher | crud-response-enricher | entity:customers.deal @customers | response-enricher | — | — | [node_modules/@open-mercato/core/src/modules/customers/api/deals/route.ts:450](../../../node_modules/@open-mercato/core/src/modules/customers/api/deals/route.ts#L450) |
391
+ | entity:customers.deal:mutation-guard | mutation-guard | entity:customers.deal @customers | mutation-guard | — | — | [node_modules/@open-mercato/core/src/modules/customers/api/deals/bulk-update-owner/route.ts:70](../../../node_modules/@open-mercato/core/src/modules/customers/api/deals/bulk-update-owner/route.ts#L70) |
392
+ | entity:customers.dictionary_entry:mutation-guard | mutation-guard | entity:customers.dictionary_entry @customers | mutation-guard | — | — | [node_modules/@open-mercato/core/src/modules/customers/api/dictionaries/[kind]/[id]/route.ts:56](../../../node_modules/@open-mercato/core/src/modules/customers/api/dictionaries/[kind]/[id]/route.ts#L56) |
393
+ | entity:customers.interaction:crud-response-enricher | crud-response-enricher | entity:customers.interaction @customers | response-enricher | — | — | [node_modules/@open-mercato/core/src/modules/customers/api/interactions/route.ts:86](../../../node_modules/@open-mercato/core/src/modules/customers/api/interactions/route.ts#L86) |
394
+ | entity:customers.interaction:mutation-guard | mutation-guard | entity:customers.interaction @customers | mutation-guard | — | — | [node_modules/@open-mercato/core/src/modules/customers/api/interactions/[id]/visibility/route.ts:90](../../../node_modules/@open-mercato/core/src/modules/customers/api/interactions/[id]/visibility/route.ts#L90) |
395
+ | entity:customers.label:mutation-guard | mutation-guard | entity:customers.label @customers | mutation-guard | — | — | [node_modules/@open-mercato/core/src/modules/customers/api/labels/route.ts:209](../../../node_modules/@open-mercato/core/src/modules/customers/api/labels/route.ts#L209) |
396
+ | entity:customers.person:crud-response-enricher | crud-response-enricher | entity:customers.person @customers | response-enricher | — | — | [node_modules/@open-mercato/core/src/modules/customers/api/people/route.ts:89](../../../node_modules/@open-mercato/core/src/modules/customers/api/people/route.ts#L89) |
397
+ | entity:customers.person:mutation-guard | mutation-guard | entity:customers.person @customers | mutation-guard | — | — | [node_modules/@open-mercato/core/src/modules/customers/api/labels/assign/route.ts:101](../../../node_modules/@open-mercato/core/src/modules/customers/api/labels/assign/route.ts#L101) |
398
+ | entity:customers.pipeline:mutation-guard | mutation-guard | entity:customers.pipeline @customers | mutation-guard | — | — | [node_modules/@open-mercato/core/src/modules/customers/api/pipelines/route.ts:106](../../../node_modules/@open-mercato/core/src/modules/customers/api/pipelines/route.ts#L106) |
399
+ | entity:customers.pipelineStage:mutation-guard | mutation-guard | entity:customers.pipelineStage @customers | mutation-guard | — | — | [node_modules/@open-mercato/core/src/modules/customers/api/pipeline-stages/reorder/route.ts:51](../../../node_modules/@open-mercato/core/src/modules/customers/api/pipeline-stages/reorder/route.ts#L51) |
400
+ | entity:customers.settings:mutation-guard | mutation-guard | entity:customers.settings @customers | mutation-guard | — | — | [node_modules/@open-mercato/core/src/modules/customers/api/dictionaries/kind-settings/route.ts:109](../../../node_modules/@open-mercato/core/src/modules/customers/api/dictionaries/kind-settings/route.ts#L109) |
401
+ | entity:customers.tagAssignment:mutation-guard | mutation-guard | entity:customers.tagAssignment @customers | mutation-guard | — | — | [node_modules/@open-mercato/core/src/modules/customers/api/tags/assign/route.ts:58](../../../node_modules/@open-mercato/core/src/modules/customers/api/tags/assign/route.ts#L58) |
402
+ | entity:customers.todoLink:mutation-guard | mutation-guard | entity:customers.todoLink @customers | mutation-guard | — | — | [node_modules/@open-mercato/core/src/modules/customers/api/todos/route.ts:335](../../../node_modules/@open-mercato/core/src/modules/customers/api/todos/route.ts#L335) |
403
+ | widget-spot:crud-form:customers.company:widget-injection-consumer | widget-injection-consumer | widget-spot:crud-form:customers.company @customers | widget, data-table, crud-form | — | hosts:companyForm.base | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
404
+ | widget-spot:crud-form:customers.person:widget-injection-consumer | widget-injection-consumer | widget-spot:crud-form:customers.person @customers | widget, data-table, crud-form | — | hosts:personForm.base | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
405
+ | widget-spot:customers.person:widget-injection-consumer | widget-injection-consumer | widget-spot:customers.person @customers | widget, data-table, crud-form | — | hosts:api-entity.customers.person | [node_modules/@open-mercato/core/src/modules/customers/api/labels/assign/route.ts](../../../node_modules/@open-mercato/core/src/modules/customers/api/labels/assign/route.ts) |
406
+ | widget-spot:dashboard:customers.dashboard.newCustomers:dashboard-host-consumer | dashboard-host-consumer | widget-spot:dashboard:customers.dashboard.newCustomers @framework | widget | — | hosts:framework.dashboard | [packages/ui/src](../../../packages/ui/src) |
407
+ | widget-spot:dashboard:customers.dashboard.newDeals:dashboard-host-consumer | dashboard-host-consumer | widget-spot:dashboard:customers.dashboard.newDeals @framework | widget | — | hosts:framework.dashboard | [packages/ui/src](../../../packages/ui/src) |
408
+ | widget-spot:dashboard:customers.dashboard.nextInteractions:dashboard-host-consumer | dashboard-host-consumer | widget-spot:dashboard:customers.dashboard.nextInteractions @framework | widget | — | hosts:framework.dashboard | [packages/ui/src](../../../packages/ui/src) |
409
+ | widget-spot:dashboard:customers.dashboard.todos:dashboard-host-consumer | dashboard-host-consumer | widget-spot:dashboard:customers.dashboard.todos @framework | widget | — | hosts:framework.dashboard | [packages/ui/src](../../../packages/ui/src) |
410
+ | widget-spot:data-table:customers.companies.list:search-trailing:widget-injection-consumer | widget-injection-consumer | widget-spot:data-table:customers.companies.list:search-trailing @customers | widget, data-table, crud-form | — | hosts:companiesTable.searchTrailing | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
411
+ | widget-spot:data-table:customers.deals.list:search-trailing:widget-injection-consumer | widget-injection-consumer | widget-spot:data-table:customers.deals.list:search-trailing @customers | widget, data-table, crud-form | — | hosts:dealsTable.searchTrailing | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
412
+ | widget-spot:data-table:customers.people.list:search-trailing:widget-injection-consumer | widget-injection-consumer | widget-spot:data-table:customers.people.list:search-trailing @customers | widget, data-table, crud-form | — | hosts:peopleTable.searchTrailing | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
413
+ | widget-spot:detail:customers.deal:header:widget-injection-consumer | widget-injection-consumer | widget-spot:detail:customers.deal:header @customers | widget, data-table, crud-form | — | hosts:dealHeader | [node_modules/@open-mercato/core/src/modules/customers/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/customers/extension-points.ts) |
414
+
415
+ ## Incoming installed contributions
416
+
417
+ | Contributor | Kind | Target | Resolution | Activation | Contribution · Source |
301
418
  |---|---|---|---|---|---|
302
- | customers.email.linked.browser | browser-reaction | customers.email.linked | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
303
- | customers.email.visibility_changed.browser | browser-reaction | customers.email.visibility_changed | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
304
- | customers.person_company_link.created.browser | browser-reaction | customers.person_company_link.created | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
305
- | customers.person_company_link.deleted.browser | browser-reaction | customers.person_company_link.deleted | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
306
- | customers.person_company_link.updated.browser | browser-reaction | customers.person_company_link.updated | — | audienceScopeContract=tenant-organization-user-role-and-customer; hooks=useAppEvent,useOperationProgress; transports=client | fact-ref |
307
- | customers.injection.ai-assistant-trigger@data-table:customers.companies.list:search-trailing | data-table | data-table:customers.companies.list:search-trailing | — | executionGuard=host; payload=render; tableId=customers.companies.list | exact |
308
- | customers.injection.ai-assistant-trigger@data-table:customers.people.list:search-trailing | data-table | data-table:customers.people.list:search-trailing | — | executionGuard=host; payload=render; tableId=customers.people.list | exact |
309
- | customers.injection.ai-deal-analyzer-trigger@data-table:customers.deals.list:search-trailing | data-table | data-table:customers.deals.list:search-trailing | — | executionGuard=host; payload=render; tableId=customers.deals.list | exact |
310
- | customers.entity-extension.0:customers:customer_interaction->communication_channels:message_channel_link | entity-extension | customers:customer_interaction | — | extensionEntityId=communication_channels:message_channel_link; hostEntityId=customers:customer_interaction; linkId=external_message_id:id; orphanContract=optional; scopeContract=tenant-and-organization | fact-ref |
311
- | customers.optimistic-lock | mutation-guard | * | update, delete | capabilities=block,rewrite; entityId=*; operations=update,delete; optimisticLock=preserved | pattern |
312
- | customers.deal-pipeline-state | response-enricher | customers.deal | list, detail | cachePosture=rerun-on-list-cache-hit; critical=false; fallback=configured; surfaces=list,detail; targetEntity=customers.deal; timeoutMs=2000 | fact-ref |
313
- | customers.interaction-email-card | response-enricher | customers.interaction | list, detail | cachePosture=rerun-on-list-cache-hit; critical=false; fallback=configured; surfaces=list,detail; targetEntity=customers.interaction; timeoutMs=1500 | fact-ref |
314
- | customers.private-email-count | response-enricher | customers.person | list, detail | cachePosture=rerun-on-list-cache-hit; critical=false; fallback=configured; surfaces=list,detail; targetEntity=customers.person; timeoutMs=1500 | fact-ref |
315
- | ai:customers.account_assistant | specialized-registry | customers.account_assistant | — | registry=ai; registryId=customers.account_assistant; specialistRoute=aiAgents | fact-ref |
316
- | ai:customers.analyze_deals | specialized-registry | customers.analyze_deals | — | registry=ai; registryId=customers.analyze_deals; specialistRoute=aiTools | fact-ref |
317
- | ai:customers.deal_analyzer | specialized-registry | customers.deal_analyzer | — | registry=ai; registryId=customers.deal_analyzer; specialistRoute=aiAgents | fact-ref |
318
- | ai:customers.deal_analyzer_tool_loop | specialized-registry | customers.deal_analyzer_tool_loop | — | registry=ai; registryId=customers.deal_analyzer_tool_loop; specialistRoute=aiAgents | fact-ref |
319
- | ai:customers.get_company | specialized-registry | customers.get_company | — | registry=ai; registryId=customers.get_company; specialistRoute=aiTools | fact-ref |
320
- | ai:customers.get_deal | specialized-registry | customers.get_deal | — | registry=ai; registryId=customers.get_deal; specialistRoute=aiTools | fact-ref |
321
- | ai:customers.get_person | specialized-registry | customers.get_person | — | registry=ai; registryId=customers.get_person; specialistRoute=aiTools | fact-ref |
322
- | ai:customers.get_settings | specialized-registry | customers.get_settings | — | registry=ai; registryId=customers.get_settings; specialistRoute=aiTools | fact-ref |
323
- | ai:customers.list_activities | specialized-registry | customers.list_activities | — | registry=ai; registryId=customers.list_activities; specialistRoute=aiTools | fact-ref |
324
- | ai:customers.list_addresses | specialized-registry | customers.list_addresses | — | registry=ai; registryId=customers.list_addresses; specialistRoute=aiTools | fact-ref |
325
- | ai:customers.list_companies | specialized-registry | customers.list_companies | — | registry=ai; registryId=customers.list_companies; specialistRoute=aiTools | fact-ref |
326
- | ai:customers.list_deal_comments | specialized-registry | customers.list_deal_comments | — | registry=ai; registryId=customers.list_deal_comments; specialistRoute=aiTools | fact-ref |
327
- | ai:customers.list_deals | specialized-registry | customers.list_deals | — | registry=ai; registryId=customers.list_deals; specialistRoute=aiTools | fact-ref |
328
- | ai:customers.list_people | specialized-registry | customers.list_people | — | registry=ai; registryId=customers.list_people; specialistRoute=aiTools | fact-ref |
329
- | ai:customers.list_pipeline_stages | specialized-registry | customers.list_pipeline_stages | — | registry=ai; registryId=customers.list_pipeline_stages; specialistRoute=aiTools | fact-ref |
330
- | ai:customers.list_record_comments | specialized-registry | customers.list_record_comments | — | registry=ai; registryId=customers.list_record_comments; specialistRoute=aiTools | fact-ref |
331
- | ai:customers.list_tags | specialized-registry | customers.list_tags | — | registry=ai; registryId=customers.list_tags; specialistRoute=aiTools | fact-ref |
332
- | ai:customers.list_tasks | specialized-registry | customers.list_tasks | — | registry=ai; registryId=customers.list_tasks; specialistRoute=aiTools | fact-ref |
333
- | ai:customers.manage_deal_activity | specialized-registry | customers.manage_deal_activity | — | registry=ai; registryId=customers.manage_deal_activity; specialistRoute=aiTools | fact-ref |
334
- | ai:customers.manage_deal_comment | specialized-registry | customers.manage_deal_comment | — | registry=ai; registryId=customers.manage_deal_comment; specialistRoute=aiTools | fact-ref |
335
- | ai:customers.manage_record_activity | specialized-registry | customers.manage_record_activity | — | registry=ai; registryId=customers.manage_record_activity; specialistRoute=aiTools | fact-ref |
336
- | ai:customers.manage_record_comment | specialized-registry | customers.manage_record_comment | — | registry=ai; registryId=customers.manage_record_comment; specialistRoute=aiTools | fact-ref |
337
- | ai:customers.update_deal_stage | specialized-registry | customers.update_deal_stage | — | registry=ai; registryId=customers.update_deal_stage; specialistRoute=aiTools | fact-ref |
338
- | notification:customers.deal.lost | specialized-registry | customers.deal.lost | — | registry=notification; registryId=customers.deal.lost; specialistRoute=notifications | fact-ref |
339
- | notification:customers.deal.won | specialized-registry | customers.deal.won | — | registry=notification; registryId=customers.deal.won; specialistRoute=notifications | fact-ref |
340
- | search:customers:customer_activity | specialized-registry | customers:customer_activity | — | registry=search; registryId=customers:customer_activity; specialistRoute=search | fact-ref |
341
- | search:customers:customer_comment | specialized-registry | customers:customer_comment | — | registry=search; registryId=customers:customer_comment; specialistRoute=search | fact-ref |
342
- | search:customers:customer_company_profile | specialized-registry | customers:customer_company_profile | — | registry=search; registryId=customers:customer_company_profile; specialistRoute=search | fact-ref |
343
- | search:customers:customer_deal | specialized-registry | customers:customer_deal | — | registry=search; registryId=customers:customer_deal; specialistRoute=search | fact-ref |
344
- | search:customers:customer_person_profile | specialized-registry | customers:customer_person_profile | — | registry=search; registryId=customers:customer_person_profile; specialistRoute=search | fact-ref |
345
- | search:customers:customer_todo_link | specialized-registry | customers:customer_todo_link | — | registry=search; registryId=customers:customer_todo_link; specialistRoute=search | fact-ref |
346
- | customers:deal-lost-notification | subscriber | customers.deal.lost | async-delivery | event=customers.deal.lost; persistent=true; subscriberId=customers:deal-lost-notification; sync=false | fact-ref |
347
- | customers:deal-won-notification | subscriber | customers.deal.won | async-delivery | event=customers.deal.won; persistent=true; subscriberId=customers:deal-won-notification; sync=false | fact-ref |
348
- | customers:link-channel-message-received | subscriber | communication_channels.message.received | async-delivery | event=communication_channels.message.received; persistent=true; subscriberId=customers:link-channel-message-received; sync=false | fact-ref |
349
- | customers:link-channel-message-sent | subscriber | communication_channels.message.sent | async-delivery | event=communication_channels.message.sent; persistent=true; subscriberId=customers:link-channel-message-sent; sync=false | fact-ref |
350
- | customers.injection.ai-deal-detail-trigger@detail:customers.deal:header | widget | detail:customers.deal:header | — | executionGuard=host; payload=render; registryKey=customers.injection.ai-deal-detail-trigger | exact |
351
- | dashboard:customers.dashboard.newCustomers | widget | dashboard:customers.dashboard.newCustomers | — | executionGuard=both; payload=dashboard; registryKey=customers.dashboard.newCustomers | framework |
352
- | dashboard:customers.dashboard.newDeals | widget | dashboard:customers.dashboard.newDeals | — | executionGuard=both; payload=dashboard; registryKey=customers.dashboard.newDeals | framework |
353
- | dashboard:customers.dashboard.nextInteractions | widget | dashboard:customers.dashboard.nextInteractions | — | executionGuard=both; payload=dashboard; registryKey=customers.dashboard.nextInteractions | framework |
354
- | dashboard:customers.dashboard.todos | widget | dashboard:customers.dashboard.todos | — | executionGuard=both; payload=dashboard; registryKey=customers.dashboard.todos | framework |
419
+ | communication_channels | entity-extension | entity:customers:customer_entity @customers | capability-only | — | communication_channels.entity-extension.3:customers:customer_entity->communication_channels:external_conversation · [node_modules/@open-mercato/core/src/modules/communication_channels/data/extensions.ts](../../../node_modules/@open-mercato/core/src/modules/communication_channels/data/extensions.ts) |
420
+ | customer_accounts | subscriber | event:customers.person.created @customers | capability-only | — | 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) |
421
+ | customer_accounts | subscriber | event:customers.company.deleted @customers | capability-only | — | 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) |
422
+ | customer_accounts | subscriber | event:customers.person.deleted @customers | capability-only | — | 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) |
423
+ | customer_accounts | crud-form | widget-spot:crud-form:customers.person @customers | bound | widget-spot:crud-form:customers.person:widget-injection-consumer | customer_accounts.injection.account-status@crud-form: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) |
424
+ | customer_accounts | widget | widget-spot:customers.person @customers | bound | widget-spot:customers.person:widget-injection-consumer | 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) |
425
+ | customer_accounts | crud-form | widget-spot:crud-form:customers.company @customers | bound | widget-spot:crud-form:customers.company:widget-injection-consumer | customer_accounts.injection.company-users@crud-form: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) |
426
+ | customer_accounts | response-enricher | entity:customers.person @customers | bound | entity:customers.person:crud-response-enricher | 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) |
427
+ | sales | subscriber | event:customers.address.deleted @customers | capability-only | — | sales:reconcile-on-address-delete · [node_modules/@open-mercato/core/src/modules/sales/subscribers/reconcileOnAddressDelete.ts](../../../node_modules/@open-mercato/core/src/modules/sales/subscribers/reconcileOnAddressDelete.ts) |
428
+ | sales | subscriber | event:customers.company.deleted @customers | capability-only | — | sales:reconcile-on-company-delete · [node_modules/@open-mercato/core/src/modules/sales/subscribers/reconcileOnCompanyDelete.ts](../../../node_modules/@open-mercato/core/src/modules/sales/subscribers/reconcileOnCompanyDelete.ts) |
429
+ | sales | subscriber | event:customers.person.deleted @customers | capability-only | — | sales:reconcile-on-person-delete · [node_modules/@open-mercato/core/src/modules/sales/subscribers/reconcileOnCustomerDelete.ts](../../../node_modules/@open-mercato/core/src/modules/sales/subscribers/reconcileOnCustomerDelete.ts) |
430
+
431
+ ## Contribution resolutions
432
+
433
+ | Contribution | Target | Resolution | Activations | Source |
434
+ |---|---|---|---|---|
435
+ | ai:customers.account_assistant | module:customers.account_assistant | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts) |
436
+ | ai:customers.analyze_deals | module:customers.analyze_deals | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/deal-analyzer-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/deal-analyzer-pack.ts) |
437
+ | ai:customers.deal_analyzer_tool_loop | module:customers.deal_analyzer_tool_loop | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts) |
438
+ | ai:customers.deal_analyzer | module:customers.deal_analyzer | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts) |
439
+ | ai:customers.get_company | module:customers.get_company | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/companies-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/companies-pack.ts) |
440
+ | ai:customers.get_deal | module:customers.get_deal | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts) |
441
+ | ai:customers.get_person | module:customers.get_person | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/people-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/people-pack.ts) |
442
+ | ai:customers.get_settings | module:customers.get_settings | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/settings-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/settings-pack.ts) |
443
+ | ai:customers.list_activities | module:customers.list_activities | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
444
+ | ai:customers.list_addresses | module:customers.list_addresses | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/addresses-tags-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/addresses-tags-pack.ts) |
445
+ | ai:customers.list_companies | module:customers.list_companies | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/companies-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/companies-pack.ts) |
446
+ | ai:customers.list_deal_comments | module:customers.list_deal_comments | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
447
+ | ai:customers.list_deals | module:customers.list_deals | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts) |
448
+ | ai:customers.list_people | module:customers.list_people | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/people-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/people-pack.ts) |
449
+ | ai:customers.list_pipeline_stages | module:customers.list_pipeline_stages | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/settings-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/settings-pack.ts) |
450
+ | ai:customers.list_record_comments | module:customers.list_record_comments | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
451
+ | ai:customers.list_tags | module:customers.list_tags | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/addresses-tags-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/addresses-tags-pack.ts) |
452
+ | ai:customers.list_tasks | module:customers.list_tasks | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
453
+ | ai:customers.manage_deal_activity | module:customers.manage_deal_activity | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
454
+ | ai:customers.manage_deal_comment | module:customers.manage_deal_comment | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
455
+ | ai:customers.manage_record_activity | module:customers.manage_record_activity | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
456
+ | ai:customers.manage_record_comment | module:customers.manage_record_comment | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
457
+ | ai:customers.update_deal_stage | module:customers.update_deal_stage | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts) |
458
+ | customers:deal-lost-notification | event:customers.deal.lost @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/subscribers/deal-lost-notification.ts](../../../node_modules/@open-mercato/core/src/modules/customers/subscribers/deal-lost-notification.ts) |
459
+ | customers:deal-won-notification | event:customers.deal.won @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/subscribers/deal-closure-notification.ts](../../../node_modules/@open-mercato/core/src/modules/customers/subscribers/deal-closure-notification.ts) |
460
+ | customers:link-channel-message-received | event:communication_channels.message.received @communication_channels | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/subscribers/link-channel-message-received.ts](../../../node_modules/@open-mercato/core/src/modules/customers/subscribers/link-channel-message-received.ts) |
461
+ | customers:link-channel-message-sent | event:communication_channels.message.sent @communication_channels | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/subscribers/link-channel-message-sent.ts](../../../node_modules/@open-mercato/core/src/modules/customers/subscribers/link-channel-message-sent.ts) |
462
+ | customers.deal-pipeline-state | entity:customers.deal @customers | bound | entity:customers.deal:crud-response-enricher | [node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts) |
463
+ | customers.email.linked.browser | event:customers.email.linked @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
464
+ | customers.email.visibility_changed.browser | event:customers.email.visibility_changed @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
465
+ | customers.entity-extension.0:customers:customer_interaction->communication_channels:message_channel_link | entity:customers:customer_interaction @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/data/extensions.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/extensions.ts) |
466
+ | customers.injection.ai-assistant-trigger@data-table:customers.companies.list:search-trailing | widget-spot:data-table:customers.companies.list:search-trailing @customers | bound | widget-spot:data-table:customers.companies.list:search-trailing:widget-injection-consumer | [node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts) |
467
+ | customers.injection.ai-assistant-trigger@data-table:customers.people.list:search-trailing | widget-spot:data-table:customers.people.list:search-trailing @customers | bound | widget-spot:data-table:customers.people.list:search-trailing:widget-injection-consumer | [node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts) |
468
+ | customers.injection.ai-deal-analyzer-trigger@data-table:customers.deals.list:search-trailing | widget-spot:data-table:customers.deals.list:search-trailing @customers | bound | widget-spot:data-table:customers.deals.list:search-trailing:widget-injection-consumer | [node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts) |
469
+ | customers.injection.ai-deal-detail-trigger@detail:customers.deal:header | widget-spot:detail:customers.deal:header @customers | bound | widget-spot:detail:customers.deal:header:widget-injection-consumer | [node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts) |
470
+ | customers.interaction-email-card | entity:customers.interaction @customers | bound | entity:customers.interaction:crud-response-enricher | [node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts) |
471
+ | customers.optimistic-lock | wildcard:* | wildcard | — | [node_modules/@open-mercato/core/src/modules/customers/data/guards.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/guards.ts) |
472
+ | customers.person_company_link.created.browser | event:customers.person_company_link.created @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
473
+ | customers.person_company_link.deleted.browser | event:customers.person_company_link.deleted @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
474
+ | customers.person_company_link.updated.browser | event:customers.person_company_link.updated @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/events.ts](../../../node_modules/@open-mercato/core/src/modules/customers/events.ts) |
475
+ | customers.private-email-count | entity:customers.person @customers | bound | entity:customers.person:crud-response-enricher | [node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts) |
476
+ | dashboard:customers.dashboard.newCustomers | widget-spot:dashboard:customers.dashboard.newCustomers | bound | widget-spot:dashboard:customers.dashboard.newCustomers:dashboard-host-consumer | [node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/new-customers/widget.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/new-customers/widget.ts) |
477
+ | dashboard:customers.dashboard.newDeals | widget-spot:dashboard:customers.dashboard.newDeals | bound | widget-spot:dashboard:customers.dashboard.newDeals:dashboard-host-consumer | [node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/new-deals/widget.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/new-deals/widget.ts) |
478
+ | dashboard:customers.dashboard.nextInteractions | widget-spot:dashboard:customers.dashboard.nextInteractions | bound | widget-spot:dashboard:customers.dashboard.nextInteractions:dashboard-host-consumer | [node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/next-interactions/widget.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/next-interactions/widget.ts) |
479
+ | dashboard:customers.dashboard.todos | widget-spot:dashboard:customers.dashboard.todos | bound | widget-spot:dashboard:customers.dashboard.todos:dashboard-host-consumer | [node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/customer-todos/widget.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/customer-todos/widget.ts) |
480
+ | notification:customers.deal.lost | module:customers.deal.lost @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customers/notifications.ts) |
481
+ | notification:customers.deal.won | module:customers.deal.won @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customers/notifications.ts) |
482
+ | search:customers:customer_activity | module:customers:customer_activity @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
483
+ | search:customers:customer_comment | module:customers:customer_comment @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
484
+ | search:customers:customer_company_profile | module:customers:customer_company_profile @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
485
+ | search:customers:customer_deal | module:customers:customer_deal @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
486
+ | search:customers:customer_person_profile | module:customers:customer_person_profile @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
487
+ | search:customers:customer_todo_link | module:customers:customer_todo_link @customers | capability-only | — | [node_modules/@open-mercato/core/src/modules/customers/search.ts](../../../node_modules/@open-mercato/core/src/modules/customers/search.ts) |
355
488
 
356
489
  ## UMES diagnostics
357
490
 
@@ -383,7 +516,10 @@ customers:customer_person_profile · customers:customer_company_profile · custo
383
516
 
384
517
  ## Notifications
385
518
 
386
- customers.deal.won · customers.deal.lost
519
+ | Notification ID | Source |
520
+ |---|---|
521
+ | customers.deal.won | [node_modules/@open-mercato/core/src/modules/customers/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customers/notifications.ts) |
522
+ | customers.deal.lost | [node_modules/@open-mercato/core/src/modules/customers/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customers/notifications.ts) |
387
523
 
388
524
  ## CLI commands
389
525
 
@@ -426,3 +562,215 @@ customers.deal.won · customers.deal.lost
426
562
  | customers.account_assistant | [node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts) |
427
563
  | customers.deal_analyzer | [node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts) |
428
564
  | customers.deal_analyzer_tool_loop | [node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts) |
565
+
566
+ ## Exact override targets
567
+
568
+ | Domain | Path / key | Supported modes | Referenced fact | Source |
569
+ |---|---|---|---|---|
570
+ | acl | `overrides.acl.features["customers.activities.manage"]` | disable-replace | aclFeatures:customers.activities.manage | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
571
+ | acl | `overrides.acl.features["customers.activities.view"]` | disable-replace | aclFeatures:customers.activities.view | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
572
+ | acl | `overrides.acl.features["customers.companies.manage"]` | disable-replace | aclFeatures:customers.companies.manage | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
573
+ | acl | `overrides.acl.features["customers.companies.view"]` | disable-replace | aclFeatures:customers.companies.view | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
574
+ | acl | `overrides.acl.features["customers.deals.manage"]` | disable-replace | aclFeatures:customers.deals.manage | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
575
+ | acl | `overrides.acl.features["customers.deals.view"]` | disable-replace | aclFeatures:customers.deals.view | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
576
+ | acl | `overrides.acl.features["customers.email.compose"]` | disable-replace | aclFeatures:customers.email.compose | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
577
+ | acl | `overrides.acl.features["customers.email.view_private"]` | disable-replace | aclFeatures:customers.email.view_private | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
578
+ | acl | `overrides.acl.features["customers.interactions.manage"]` | disable-replace | aclFeatures:customers.interactions.manage | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
579
+ | acl | `overrides.acl.features["customers.interactions.view"]` | disable-replace | aclFeatures:customers.interactions.view | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
580
+ | acl | `overrides.acl.features["customers.people.manage"]` | disable-replace | aclFeatures:customers.people.manage | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
581
+ | acl | `overrides.acl.features["customers.people.view"]` | disable-replace | aclFeatures:customers.people.view | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
582
+ | acl | `overrides.acl.features["customers.pipelines.manage"]` | disable-replace | aclFeatures:customers.pipelines.manage | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
583
+ | acl | `overrides.acl.features["customers.pipelines.view"]` | disable-replace | aclFeatures:customers.pipelines.view | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
584
+ | acl | `overrides.acl.features["customers.roles.manage"]` | disable-replace | aclFeatures:customers.roles.manage | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
585
+ | acl | `overrides.acl.features["customers.roles.view"]` | disable-replace | aclFeatures:customers.roles.view | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
586
+ | acl | `overrides.acl.features["customers.settings.manage"]` | disable-replace | aclFeatures:customers.settings.manage | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
587
+ | acl | `overrides.acl.features["customers.widgets.new-customers"]` | disable-replace | aclFeatures:customers.widgets.new-customers | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
588
+ | acl | `overrides.acl.features["customers.widgets.new-deals"]` | disable-replace | aclFeatures:customers.widgets.new-deals | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
589
+ | acl | `overrides.acl.features["customers.widgets.next-interactions"]` | disable-replace | aclFeatures:customers.widgets.next-interactions | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
590
+ | acl | `overrides.acl.features["customers.widgets.todos"]` | disable-replace | aclFeatures:customers.widgets.todos | [node_modules/@open-mercato/core/src/modules/customers/acl.ts](../../../node_modules/@open-mercato/core/src/modules/customers/acl.ts) |
591
+ | ai | `overrides.ai.agents["customers.account_assistant"]` | disable-replace | aiAgents:customers.account_assistant | [node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts) |
592
+ | ai | `overrides.ai.agents["customers.deal_analyzer"]` | disable-replace | aiAgents:customers.deal_analyzer | [node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts) |
593
+ | ai | `overrides.ai.agents["customers.deal_analyzer_tool_loop"]` | disable-replace | aiAgents:customers.deal_analyzer_tool_loop | [node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-agents.ts) |
594
+ | ai | `overrides.ai.tools["customers.analyze_deals"]` | disable-replace | aiTools:customers.analyze_deals | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/deal-analyzer-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/deal-analyzer-pack.ts) |
595
+ | ai | `overrides.ai.tools["customers.get_company"]` | disable-replace | aiTools:customers.get_company | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/companies-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/companies-pack.ts) |
596
+ | ai | `overrides.ai.tools["customers.get_deal"]` | disable-replace | aiTools:customers.get_deal | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts) |
597
+ | ai | `overrides.ai.tools["customers.get_person"]` | disable-replace | aiTools:customers.get_person | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/people-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/people-pack.ts) |
598
+ | ai | `overrides.ai.tools["customers.get_settings"]` | disable-replace | aiTools:customers.get_settings | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/settings-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/settings-pack.ts) |
599
+ | ai | `overrides.ai.tools["customers.list_activities"]` | disable-replace | aiTools:customers.list_activities | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
600
+ | ai | `overrides.ai.tools["customers.list_addresses"]` | disable-replace | aiTools:customers.list_addresses | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/addresses-tags-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/addresses-tags-pack.ts) |
601
+ | ai | `overrides.ai.tools["customers.list_companies"]` | disable-replace | aiTools:customers.list_companies | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/companies-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/companies-pack.ts) |
602
+ | ai | `overrides.ai.tools["customers.list_deal_comments"]` | disable-replace | aiTools:customers.list_deal_comments | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
603
+ | ai | `overrides.ai.tools["customers.list_deals"]` | disable-replace | aiTools:customers.list_deals | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts) |
604
+ | ai | `overrides.ai.tools["customers.list_people"]` | disable-replace | aiTools:customers.list_people | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/people-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/people-pack.ts) |
605
+ | ai | `overrides.ai.tools["customers.list_pipeline_stages"]` | disable-replace | aiTools:customers.list_pipeline_stages | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/settings-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/settings-pack.ts) |
606
+ | ai | `overrides.ai.tools["customers.list_record_comments"]` | disable-replace | aiTools:customers.list_record_comments | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
607
+ | ai | `overrides.ai.tools["customers.list_tags"]` | disable-replace | aiTools:customers.list_tags | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/addresses-tags-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/addresses-tags-pack.ts) |
608
+ | ai | `overrides.ai.tools["customers.list_tasks"]` | disable-replace | aiTools:customers.list_tasks | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
609
+ | ai | `overrides.ai.tools["customers.manage_deal_activity"]` | disable-replace | aiTools:customers.manage_deal_activity | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
610
+ | ai | `overrides.ai.tools["customers.manage_deal_comment"]` | disable-replace | aiTools:customers.manage_deal_comment | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
611
+ | ai | `overrides.ai.tools["customers.manage_record_activity"]` | disable-replace | aiTools:customers.manage_record_activity | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
612
+ | ai | `overrides.ai.tools["customers.manage_record_comment"]` | disable-replace | aiTools:customers.manage_record_comment | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/activities-tasks-pack.ts) |
613
+ | ai | `overrides.ai.tools["customers.update_deal_stage"]` | disable-replace | aiTools:customers.update_deal_stage | [node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ai-tools/deals-pack.ts) |
614
+ | cli | `overrides.cli["interactions:backfill"]` | disable-replace | cliCommands:interactions:backfill | [node_modules/@open-mercato/core/src/modules/customers/cli.ts](../../../node_modules/@open-mercato/core/src/modules/customers/cli.ts) |
615
+ | cli | `overrides.cli["seed-dictionaries"]` | disable-replace | cliCommands:seed-dictionaries | [node_modules/@open-mercato/core/src/modules/customers/cli.ts](../../../node_modules/@open-mercato/core/src/modules/customers/cli.ts) |
616
+ | cli | `overrides.cli["seed-examples"]` | disable-replace | cliCommands:seed-examples | [node_modules/@open-mercato/core/src/modules/customers/cli.ts](../../../node_modules/@open-mercato/core/src/modules/customers/cli.ts) |
617
+ | cli | `overrides.cli["seed-stresstest"]` | disable-replace | cliCommands:seed-stresstest | [node_modules/@open-mercato/core/src/modules/customers/cli.ts](../../../node_modules/@open-mercato/core/src/modules/customers/cli.ts) |
618
+ | di | `overrides.di["CustomerAddress"]` | disable-replace | ownedContracts.di-registration:CustomerAddress | [node_modules/@open-mercato/core/src/modules/customers/di.ts:70](../../../node_modules/@open-mercato/core/src/modules/customers/di.ts#L70) |
619
+ | di | `overrides.di["CustomerEntity"]` | disable-replace | ownedContracts.di-registration:CustomerEntity | [node_modules/@open-mercato/core/src/modules/customers/di.ts:69](../../../node_modules/@open-mercato/core/src/modules/customers/di.ts#L69) |
620
+ | di | `overrides.di["CustomerInteraction"]` | disable-replace | ownedContracts.di-registration:CustomerInteraction | [node_modules/@open-mercato/core/src/modules/customers/di.ts:71](../../../node_modules/@open-mercato/core/src/modules/customers/di.ts#L71) |
621
+ | encryption | `overrides.encryption.maps["customers:customer_activity"]` | disable-replace | ownedContracts.encryption:customers:customer_activity | [node_modules/@open-mercato/core/src/modules/customers/encryption.ts:36](../../../node_modules/@open-mercato/core/src/modules/customers/encryption.ts#L36) |
622
+ | encryption | `overrides.encryption.maps["customers:customer_address"]` | disable-replace | ownedContracts.encryption:customers:customer_address | [node_modules/@open-mercato/core/src/modules/customers/encryption.ts:4](../../../node_modules/@open-mercato/core/src/modules/customers/encryption.ts#L4) |
623
+ | encryption | `overrides.encryption.maps["customers:customer_comment"]` | disable-replace | ownedContracts.encryption:customers:customer_comment | [node_modules/@open-mercato/core/src/modules/customers/encryption.ts:54](../../../node_modules/@open-mercato/core/src/modules/customers/encryption.ts#L54) |
624
+ | encryption | `overrides.encryption.maps["customers:customer_company_profile"]` | disable-replace | ownedContracts.encryption:customers:customer_company_profile | [node_modules/@open-mercato/core/src/modules/customers/encryption.ts:72](../../../node_modules/@open-mercato/core/src/modules/customers/encryption.ts#L72) |
625
+ | encryption | `overrides.encryption.maps["customers:customer_deal"]` | disable-replace | ownedContracts.encryption:customers:customer_deal | [node_modules/@open-mercato/core/src/modules/customers/encryption.ts:29](../../../node_modules/@open-mercato/core/src/modules/customers/encryption.ts#L29) |
626
+ | encryption | `overrides.encryption.maps["customers:customer_entity"]` | disable-replace | ownedContracts.encryption:customers:customer_entity | [node_modules/@open-mercato/core/src/modules/customers/encryption.ts:19](../../../node_modules/@open-mercato/core/src/modules/customers/encryption.ts#L19) |
627
+ | encryption | `overrides.encryption.maps["customers:customer_interaction"]` | disable-replace | ownedContracts.encryption:customers:customer_interaction | [node_modules/@open-mercato/core/src/modules/customers/encryption.ts:43](../../../node_modules/@open-mercato/core/src/modules/customers/encryption.ts#L43) |
628
+ | encryption | `overrides.encryption.maps["customers:customer_person_profile"]` | disable-replace | ownedContracts.encryption:customers:customer_person_profile | [node_modules/@open-mercato/core/src/modules/customers/encryption.ts:58](../../../node_modules/@open-mercato/core/src/modules/customers/encryption.ts#L58) |
629
+ | enrichers | `overrides.enrichers["customers.deal-pipeline-state"]` | disable-replace | extensionSurfaces.contributions:customers.deal-pipeline-state | [node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts) |
630
+ | enrichers | `overrides.enrichers["customers.interaction-email-card"]` | disable-replace | extensionSurfaces.contributions:customers.interaction-email-card | [node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts) |
631
+ | enrichers | `overrides.enrichers["customers.private-email-count"]` | disable-replace | extensionSurfaces.contributions:customers.private-email-count | [node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts](../../../node_modules/@open-mercato/core/src/modules/customers/data/enrichers.ts) |
632
+ | events | `overrides.events.subscribers["customers:deal-lost-notification"]` | disable-replace | extensionSurfaces.contributions:customers:deal-lost-notification | [node_modules/@open-mercato/core/src/modules/customers/subscribers/deal-lost-notification.ts](../../../node_modules/@open-mercato/core/src/modules/customers/subscribers/deal-lost-notification.ts) |
633
+ | events | `overrides.events.subscribers["customers:deal-won-notification"]` | disable-replace | extensionSurfaces.contributions:customers:deal-won-notification | [node_modules/@open-mercato/core/src/modules/customers/subscribers/deal-closure-notification.ts](../../../node_modules/@open-mercato/core/src/modules/customers/subscribers/deal-closure-notification.ts) |
634
+ | events | `overrides.events.subscribers["customers:link-channel-message-received"]` | disable-replace | extensionSurfaces.contributions:customers:link-channel-message-received | [node_modules/@open-mercato/core/src/modules/customers/subscribers/link-channel-message-received.ts](../../../node_modules/@open-mercato/core/src/modules/customers/subscribers/link-channel-message-received.ts) |
635
+ | events | `overrides.events.subscribers["customers:link-channel-message-sent"]` | disable-replace | extensionSurfaces.contributions:customers:link-channel-message-sent | [node_modules/@open-mercato/core/src/modules/customers/subscribers/link-channel-message-sent.ts](../../../node_modules/@open-mercato/core/src/modules/customers/subscribers/link-channel-message-sent.ts) |
636
+ | notifications | `overrides.notifications.types["customers.deal.lost"]` | disable-replace | notifications:customers.deal.lost | [node_modules/@open-mercato/core/src/modules/customers/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customers/notifications.ts) |
637
+ | notifications | `overrides.notifications.types["customers.deal.won"]` | disable-replace | notifications:customers.deal.won | [node_modules/@open-mercato/core/src/modules/customers/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/customers/notifications.ts) |
638
+ | routes | `overrides.routes.pages["backend:/backend/calendar"]` | disable-replace | backendPages:/backend/calendar | [node_modules/@open-mercato/core/src/modules/customers/backend/calendar/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/calendar/page.tsx) |
639
+ | routes | `overrides.routes.pages["backend:/backend/config/customers"]` | disable-replace | backendPages:/backend/config/customers | [node_modules/@open-mercato/core/src/modules/customers/backend/config/customers/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/config/customers/page.tsx) |
640
+ | routes | `overrides.routes.pages["backend:/backend/config/customers/deals"]` | disable-replace | backendPages:/backend/config/customers/deals | [node_modules/@open-mercato/core/src/modules/customers/backend/config/customers/deals/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/config/customers/deals/page.tsx) |
641
+ | routes | `overrides.routes.pages["backend:/backend/config/customers/pipeline-stages"]` | disable-replace | backendPages:/backend/config/customers/pipeline-stages | [node_modules/@open-mercato/core/src/modules/customers/backend/config/customers/pipeline-stages/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/config/customers/pipeline-stages/page.tsx) |
642
+ | routes | `overrides.routes.pages["backend:/backend/customer-tasks"]` | disable-replace | backendPages:/backend/customer-tasks | [node_modules/@open-mercato/core/src/modules/customers/backend/customer-tasks/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/customer-tasks/page.tsx) |
643
+ | routes | `overrides.routes.pages["backend:/backend/customers/companies"]` | disable-replace | backendPages:/backend/customers/companies | [node_modules/@open-mercato/core/src/modules/customers/backend/customers/companies/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/customers/companies/page.tsx) |
644
+ | routes | `overrides.routes.pages["backend:/backend/customers/companies-v2/[id]"]` | disable-replace | backendPages:/backend/customers/companies-v2/[id] | [node_modules/@open-mercato/core/src/modules/customers/backend/customers/companies-v2/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/customers/companies-v2/[id]/page.tsx) |
645
+ | routes | `overrides.routes.pages["backend:/backend/customers/companies/[id]"]` | disable-replace | backendPages:/backend/customers/companies/[id] | [node_modules/@open-mercato/core/src/modules/customers/backend/customers/companies/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/customers/companies/[id]/page.tsx) |
646
+ | routes | `overrides.routes.pages["backend:/backend/customers/companies/create"]` | disable-replace | backendPages:/backend/customers/companies/create | [node_modules/@open-mercato/core/src/modules/customers/backend/customers/companies/create/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/customers/companies/create/page.tsx) |
647
+ | routes | `overrides.routes.pages["backend:/backend/customers/deals"]` | disable-replace | backendPages:/backend/customers/deals | [node_modules/@open-mercato/core/src/modules/customers/backend/customers/deals/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/customers/deals/page.tsx) |
648
+ | routes | `overrides.routes.pages["backend:/backend/customers/deals/[id]"]` | disable-replace | backendPages:/backend/customers/deals/[id] | [node_modules/@open-mercato/core/src/modules/customers/backend/customers/deals/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/customers/deals/[id]/page.tsx) |
649
+ | routes | `overrides.routes.pages["backend:/backend/customers/deals/create"]` | disable-replace | backendPages:/backend/customers/deals/create | [node_modules/@open-mercato/core/src/modules/customers/backend/customers/deals/create/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/customers/deals/create/page.tsx) |
650
+ | routes | `overrides.routes.pages["backend:/backend/customers/deals/map"]` | disable-replace | backendPages:/backend/customers/deals/map | [node_modules/@open-mercato/core/src/modules/customers/backend/customers/deals/map/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/customers/deals/map/page.tsx) |
651
+ | routes | `overrides.routes.pages["backend:/backend/customers/deals/pipeline"]` | disable-replace | backendPages:/backend/customers/deals/pipeline | [node_modules/@open-mercato/core/src/modules/customers/backend/customers/deals/pipeline/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/customers/deals/pipeline/page.tsx) |
652
+ | routes | `overrides.routes.pages["backend:/backend/customers/people"]` | disable-replace | backendPages:/backend/customers/people | [node_modules/@open-mercato/core/src/modules/customers/backend/customers/people/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/customers/people/page.tsx) |
653
+ | routes | `overrides.routes.pages["backend:/backend/customers/people-v2/[id]"]` | disable-replace | backendPages:/backend/customers/people-v2/[id] | [node_modules/@open-mercato/core/src/modules/customers/backend/customers/people-v2/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/customers/people-v2/[id]/page.tsx) |
654
+ | routes | `overrides.routes.pages["backend:/backend/customers/people/[id]"]` | disable-replace | backendPages:/backend/customers/people/[id] | [node_modules/@open-mercato/core/src/modules/customers/backend/customers/people/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/customers/people/[id]/page.tsx) |
655
+ | routes | `overrides.routes.pages["backend:/backend/customers/people/create"]` | disable-replace | backendPages:/backend/customers/people/create | [node_modules/@open-mercato/core/src/modules/customers/backend/customers/people/create/page.tsx](../../../node_modules/@open-mercato/core/src/modules/customers/backend/customers/people/create/page.tsx) |
656
+ | setup | `overrides.setup.defaultRoleFeatures` | replace | ownedContracts.setup:customers:setup | [node_modules/@open-mercato/core/src/modules/customers/setup.ts:58](../../../node_modules/@open-mercato/core/src/modules/customers/setup.ts#L58) |
657
+ | setup | `overrides.setup.seedDefaults` | replace | ownedContracts.setup:customers:setup | [node_modules/@open-mercato/core/src/modules/customers/setup.ts:58](../../../node_modules/@open-mercato/core/src/modules/customers/setup.ts#L58) |
658
+ | setup | `overrides.setup.seedExamples` | replace | ownedContracts.setup:customers:setup | [node_modules/@open-mercato/core/src/modules/customers/setup.ts:58](../../../node_modules/@open-mercato/core/src/modules/customers/setup.ts#L58) |
659
+ | widgets | `overrides.widgets.dashboard["customers.dashboard.newCustomers"]` | disable-replace | extensionSurfaces.contributions:dashboard:customers.dashboard.newCustomers | [node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/new-customers/widget.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/new-customers/widget.ts) |
660
+ | widgets | `overrides.widgets.dashboard["customers.dashboard.newDeals"]` | disable-replace | extensionSurfaces.contributions:dashboard:customers.dashboard.newDeals | [node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/new-deals/widget.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/new-deals/widget.ts) |
661
+ | widgets | `overrides.widgets.dashboard["customers.dashboard.nextInteractions"]` | disable-replace | extensionSurfaces.contributions:dashboard:customers.dashboard.nextInteractions | [node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/next-interactions/widget.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/next-interactions/widget.ts) |
662
+ | widgets | `overrides.widgets.dashboard["customers.dashboard.todos"]` | disable-replace | extensionSurfaces.contributions:dashboard:customers.dashboard.todos | [node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/customer-todos/widget.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/dashboard/customer-todos/widget.ts) |
663
+ | widgets | `overrides.widgets.injection["customers.injection.ai-assistant-trigger"]` | disable-replace | extensionSurfaces.contributions:customers.injection.ai-assistant-trigger@data-table:customers.companies.list:search-trailing | [node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts) |
664
+ | widgets | `overrides.widgets.injection["customers.injection.ai-deal-analyzer-trigger"]` | disable-replace | extensionSurfaces.contributions:customers.injection.ai-deal-analyzer-trigger@data-table:customers.deals.list:search-trailing | [node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts) |
665
+ | widgets | `overrides.widgets.injection["customers.injection.ai-deal-detail-trigger"]` | disable-replace | extensionSurfaces.contributions:customers.injection.ai-deal-detail-trigger@detail:customers.deal:header | [node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/customers/widgets/injection-table.ts) |
666
+ | workers | `overrides.workers["customers:deals-bulk-update-owner"]` | disable-replace | ownedContracts.worker:customers:deals-bulk-update-owner | [node_modules/@open-mercato/core/src/modules/customers/workers/deals-bulk-update-owner.ts:10](../../../node_modules/@open-mercato/core/src/modules/customers/workers/deals-bulk-update-owner.ts#L10) |
667
+ | workers | `overrides.workers["customers:deals-bulk-update-stage"]` | disable-replace | ownedContracts.worker:customers:deals-bulk-update-stage | [node_modules/@open-mercato/core/src/modules/customers/workers/deals-bulk-update-stage.ts:10](../../../node_modules/@open-mercato/core/src/modules/customers/workers/deals-bulk-update-stage.ts#L10) |
668
+
669
+ ## Owned contract — module metadata
670
+
671
+ | ID | Metadata | Source |
672
+ |---|---|---|
673
+ | customers | ejectable=true; name=customers; version=0.1.0 | [node_modules/@open-mercato/core/src/modules/customers/index.ts:3](../../../node_modules/@open-mercato/core/src/modules/customers/index.ts#L3) |
674
+
675
+ ## Domain commands
676
+
677
+ | ID | Metadata | Source |
678
+ |---|---|---|
679
+ | customers.activities.create | — | [node_modules/@open-mercato/core/src/modules/customers/commands/activities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/activities.ts) |
680
+ | customers.activities.delete | — | [node_modules/@open-mercato/core/src/modules/customers/commands/activities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/activities.ts) |
681
+ | customers.activities.update | — | [node_modules/@open-mercato/core/src/modules/customers/commands/activities.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/activities.ts) |
682
+ | customers.addresses.create | — | [node_modules/@open-mercato/core/src/modules/customers/commands/addresses.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/addresses.ts) |
683
+ | customers.addresses.delete | — | [node_modules/@open-mercato/core/src/modules/customers/commands/addresses.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/addresses.ts) |
684
+ | customers.addresses.update | — | [node_modules/@open-mercato/core/src/modules/customers/commands/addresses.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/addresses.ts) |
685
+ | customers.comments.create | — | [node_modules/@open-mercato/core/src/modules/customers/commands/comments.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/comments.ts) |
686
+ | customers.comments.delete | — | [node_modules/@open-mercato/core/src/modules/customers/commands/comments.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/comments.ts) |
687
+ | customers.comments.update | — | [node_modules/@open-mercato/core/src/modules/customers/commands/comments.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/comments.ts) |
688
+ | customers.companies.create | — | [node_modules/@open-mercato/core/src/modules/customers/commands/companies.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/companies.ts) |
689
+ | customers.companies.delete | — | [node_modules/@open-mercato/core/src/modules/customers/commands/companies.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/companies.ts) |
690
+ | customers.companies.update | — | [node_modules/@open-mercato/core/src/modules/customers/commands/companies.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/companies.ts) |
691
+ | customers.deals.create | — | [node_modules/@open-mercato/core/src/modules/customers/commands/deals.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/deals.ts) |
692
+ | customers.deals.delete | — | [node_modules/@open-mercato/core/src/modules/customers/commands/deals.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/deals.ts) |
693
+ | customers.deals.update | — | [node_modules/@open-mercato/core/src/modules/customers/commands/deals.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/deals.ts) |
694
+ | customers.dictionaryEntries.create | — | [node_modules/@open-mercato/core/src/modules/customers/commands/dictionaries.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/dictionaries.ts) |
695
+ | customers.dictionaryEntries.delete | — | [node_modules/@open-mercato/core/src/modules/customers/commands/dictionaries.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/dictionaries.ts) |
696
+ | customers.dictionaryEntries.update | — | [node_modules/@open-mercato/core/src/modules/customers/commands/dictionaries.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/dictionaries.ts) |
697
+ | customers.dictionaryKindSettings.upsert | — | [node_modules/@open-mercato/core/src/modules/customers/commands/dictionaryKindSettings.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/dictionaryKindSettings.ts) |
698
+ | customers.entityRoles.create | — | [node_modules/@open-mercato/core/src/modules/customers/commands/entity-roles.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/entity-roles.ts) |
699
+ | customers.entityRoles.delete | — | [node_modules/@open-mercato/core/src/modules/customers/commands/entity-roles.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/entity-roles.ts) |
700
+ | customers.entityRoles.update | — | [node_modules/@open-mercato/core/src/modules/customers/commands/entity-roles.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/entity-roles.ts) |
701
+ | customers.interaction.recompute_next | — | [node_modules/@open-mercato/core/src/modules/customers/commands/interactions.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/interactions.ts) |
702
+ | customers.interactions.cancel | — | [node_modules/@open-mercato/core/src/modules/customers/commands/interactions.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/interactions.ts) |
703
+ | customers.interactions.complete | — | [node_modules/@open-mercato/core/src/modules/customers/commands/interactions.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/interactions.ts) |
704
+ | customers.interactions.create | — | [node_modules/@open-mercato/core/src/modules/customers/commands/interactions.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/interactions.ts) |
705
+ | customers.interactions.delete | — | [node_modules/@open-mercato/core/src/modules/customers/commands/interactions.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/interactions.ts) |
706
+ | customers.interactions.update | — | [node_modules/@open-mercato/core/src/modules/customers/commands/interactions.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/interactions.ts) |
707
+ | customers.labels.assign | — | [node_modules/@open-mercato/core/src/modules/customers/commands/labels.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/labels.ts) |
708
+ | customers.labels.create | — | [node_modules/@open-mercato/core/src/modules/customers/commands/labels.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/labels.ts) |
709
+ | customers.labels.unassign | — | [node_modules/@open-mercato/core/src/modules/customers/commands/labels.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/labels.ts) |
710
+ | customers.people.create | — | [node_modules/@open-mercato/core/src/modules/customers/commands/people.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/people.ts) |
711
+ | customers.people.delete | — | [node_modules/@open-mercato/core/src/modules/customers/commands/people.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/people.ts) |
712
+ | customers.people.update | — | [node_modules/@open-mercato/core/src/modules/customers/commands/people.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/people.ts) |
713
+ | customers.personCompanyLinks.create | — | [node_modules/@open-mercato/core/src/modules/customers/commands/personCompanyLinks.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/personCompanyLinks.ts) |
714
+ | customers.personCompanyLinks.delete | — | [node_modules/@open-mercato/core/src/modules/customers/commands/personCompanyLinks.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/personCompanyLinks.ts) |
715
+ | customers.personCompanyLinks.update | — | [node_modules/@open-mercato/core/src/modules/customers/commands/personCompanyLinks.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/personCompanyLinks.ts) |
716
+ | customers.pipeline-stages.create | — | [node_modules/@open-mercato/core/src/modules/customers/commands/pipeline-stages.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/pipeline-stages.ts) |
717
+ | customers.pipeline-stages.delete | — | [node_modules/@open-mercato/core/src/modules/customers/commands/pipeline-stages.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/pipeline-stages.ts) |
718
+ | customers.pipeline-stages.reorder | — | [node_modules/@open-mercato/core/src/modules/customers/commands/pipeline-stages.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/pipeline-stages.ts) |
719
+ | customers.pipeline-stages.update | — | [node_modules/@open-mercato/core/src/modules/customers/commands/pipeline-stages.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/pipeline-stages.ts) |
720
+ | customers.pipelines.create | — | [node_modules/@open-mercato/core/src/modules/customers/commands/pipelines.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/pipelines.ts) |
721
+ | customers.pipelines.delete | — | [node_modules/@open-mercato/core/src/modules/customers/commands/pipelines.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/pipelines.ts) |
722
+ | customers.pipelines.update | — | [node_modules/@open-mercato/core/src/modules/customers/commands/pipelines.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/pipelines.ts) |
723
+ | customers.settings.save | — | [node_modules/@open-mercato/core/src/modules/customers/commands/settings.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/settings.ts) |
724
+ | customers.settings.save_dictionary_sort_modes | — | [node_modules/@open-mercato/core/src/modules/customers/commands/settings.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/settings.ts) |
725
+ | customers.settings.save_stuck_threshold | — | [node_modules/@open-mercato/core/src/modules/customers/commands/settings.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/settings.ts) |
726
+ | customers.tags.assign | — | [node_modules/@open-mercato/core/src/modules/customers/commands/tags.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/tags.ts) |
727
+ | customers.tags.create | — | [node_modules/@open-mercato/core/src/modules/customers/commands/tags.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/tags.ts) |
728
+ | customers.tags.delete | — | [node_modules/@open-mercato/core/src/modules/customers/commands/tags.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/tags.ts) |
729
+ | customers.tags.unassign | — | [node_modules/@open-mercato/core/src/modules/customers/commands/tags.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/tags.ts) |
730
+ | customers.tags.update | — | [node_modules/@open-mercato/core/src/modules/customers/commands/tags.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/tags.ts) |
731
+ | customers.todos.create | — | [node_modules/@open-mercato/core/src/modules/customers/commands/todos.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/todos.ts) |
732
+ | customers.todos.unlink | — | [node_modules/@open-mercato/core/src/modules/customers/commands/todos.ts](../../../node_modules/@open-mercato/core/src/modules/customers/commands/todos.ts) |
733
+
734
+ ## Workers
735
+
736
+ | ID | Metadata | Source |
737
+ |---|---|---|
738
+ | customers:deals-bulk-update-owner | concurrency=1 | [node_modules/@open-mercato/core/src/modules/customers/workers/deals-bulk-update-owner.ts:10](../../../node_modules/@open-mercato/core/src/modules/customers/workers/deals-bulk-update-owner.ts#L10) |
739
+ | customers:deals-bulk-update-stage | concurrency=1 | [node_modules/@open-mercato/core/src/modules/customers/workers/deals-bulk-update-stage.ts:10](../../../node_modules/@open-mercato/core/src/modules/customers/workers/deals-bulk-update-stage.ts#L10) |
740
+
741
+ ## Setup
742
+
743
+ | ID | Metadata | Source |
744
+ |---|---|---|
745
+ | customers:setup | hooks=seedDefaults, seedExamples; roles=admin, employee | [node_modules/@open-mercato/core/src/modules/customers/setup.ts:58](../../../node_modules/@open-mercato/core/src/modules/customers/setup.ts#L58) |
746
+
747
+ ## Encryption
748
+
749
+ | ID | Metadata | Source |
750
+ |---|---|---|
751
+ | customers:customer_activity | fields=body, subject | [node_modules/@open-mercato/core/src/modules/customers/encryption.ts:36](../../../node_modules/@open-mercato/core/src/modules/customers/encryption.ts#L36) |
752
+ | customers:customer_address | fields=address_line1, address_line2, building_number, city, company_name, country, flat_number, name, postal_code, region | [node_modules/@open-mercato/core/src/modules/customers/encryption.ts:4](../../../node_modules/@open-mercato/core/src/modules/customers/encryption.ts#L4) |
753
+ | customers:customer_comment | fields=body | [node_modules/@open-mercato/core/src/modules/customers/encryption.ts:54](../../../node_modules/@open-mercato/core/src/modules/customers/encryption.ts#L54) |
754
+ | customers:customer_company_profile | fields=brand_name, domain, industry, legal_name, website_url | [node_modules/@open-mercato/core/src/modules/customers/encryption.ts:72](../../../node_modules/@open-mercato/core/src/modules/customers/encryption.ts#L72) |
755
+ | customers:customer_deal | fields=description, title | [node_modules/@open-mercato/core/src/modules/customers/encryption.ts:29](../../../node_modules/@open-mercato/core/src/modules/customers/encryption.ts#L29) |
756
+ | customers:customer_entity | fields=description, display_name, next_interaction_name, primary_email, primary_phone | [node_modules/@open-mercato/core/src/modules/customers/encryption.ts:19](../../../node_modules/@open-mercato/core/src/modules/customers/encryption.ts#L19) |
757
+ | customers:customer_interaction | fields=body, title | [node_modules/@open-mercato/core/src/modules/customers/encryption.ts:43](../../../node_modules/@open-mercato/core/src/modules/customers/encryption.ts#L43) |
758
+ | customers:customer_person_profile | fields=department, first_name, job_title, last_name, linked_in_url, preferred_name, seniority, timezone, twitter_url | [node_modules/@open-mercato/core/src/modules/customers/encryption.ts:58](../../../node_modules/@open-mercato/core/src/modules/customers/encryption.ts#L58) |
759
+
760
+ ## DI registrations (rich)
761
+
762
+ | Token | Kind | Lifetime | Injection | Provider | Source |
763
+ |---|---|---|---|---|---|
764
+ | CustomerAddress | value | — | — | — | [node_modules/@open-mercato/core/src/modules/customers/di.ts:70](../../../node_modules/@open-mercato/core/src/modules/customers/di.ts#L70) |
765
+ | CustomerEntity | value | — | — | — | [node_modules/@open-mercato/core/src/modules/customers/di.ts:69](../../../node_modules/@open-mercato/core/src/modules/customers/di.ts#L69) |
766
+ | CustomerInteraction | value | — | — | — | [node_modules/@open-mercato/core/src/modules/customers/di.ts:71](../../../node_modules/@open-mercato/core/src/modules/customers/di.ts#L71) |
767
+
768
+ ## Custom entities
769
+
770
+ | ID | Metadata | Source |
771
+ |---|---|---|
772
+ | customers:customer_activity | — | [node_modules/@open-mercato/core/src/modules/customers/ce.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ce.ts) |
773
+ | customers:customer_company_profile | — | [node_modules/@open-mercato/core/src/modules/customers/ce.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ce.ts) |
774
+ | customers:customer_deal | — | [node_modules/@open-mercato/core/src/modules/customers/ce.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ce.ts) |
775
+ | customers:customer_interaction | — | [node_modules/@open-mercato/core/src/modules/customers/ce.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ce.ts) |
776
+ | customers:customer_person_profile | — | [node_modules/@open-mercato/core/src/modules/customers/ce.ts](../../../node_modules/@open-mercato/core/src/modules/customers/ce.ts) |