@open-mercato/core 0.6.8-develop.7100.1.fbf66fca35 → 0.7.0

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 (967) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/helpers/integration/api.js +1 -13
  3. package/dist/helpers/integration/api.js.map +2 -2
  4. package/dist/helpers/integration/communicationChannelsFixtures.js +0 -19
  5. package/dist/helpers/integration/communicationChannelsFixtures.js.map +2 -2
  6. package/dist/modules/api_keys/api/keys/route.js +1 -1
  7. package/dist/modules/api_keys/api/keys/route.js.map +2 -2
  8. package/dist/modules/api_keys/backend/api-keys/page.js +1 -3
  9. package/dist/modules/api_keys/backend/api-keys/page.js.map +2 -2
  10. package/dist/modules/attachments/api/route.js +2 -2
  11. package/dist/modules/attachments/api/route.js.map +2 -2
  12. package/dist/modules/attachments/components/AttachmentLibrary.js +0 -2
  13. package/dist/modules/attachments/components/AttachmentLibrary.js.map +2 -2
  14. package/dist/modules/attachments/di.js +1 -11
  15. package/dist/modules/attachments/di.js.map +2 -2
  16. package/dist/modules/attachments/index.js.map +1 -1
  17. package/dist/modules/attachments/lib/scoped-upload-service.js +2 -15
  18. package/dist/modules/attachments/lib/scoped-upload-service.js.map +2 -2
  19. package/dist/modules/attachments/lib/upload-limits.js +2 -6
  20. package/dist/modules/attachments/lib/upload-limits.js.map +2 -2
  21. package/dist/modules/audit_logs/backend/audit-logs/page.js +0 -6
  22. package/dist/modules/audit_logs/backend/audit-logs/page.js.map +2 -2
  23. package/dist/modules/audit_logs/lib/display-helpers.js +11 -19
  24. package/dist/modules/audit_logs/lib/display-helpers.js.map +2 -2
  25. package/dist/modules/audit_logs/services/actionLogService.js +12 -57
  26. package/dist/modules/audit_logs/services/actionLogService.js.map +3 -3
  27. package/dist/modules/auth/acl.js +5 -30
  28. package/dist/modules/auth/acl.js.map +2 -2
  29. package/dist/modules/auth/api/feature-check.js +2 -8
  30. package/dist/modules/auth/api/feature-check.js.map +2 -2
  31. package/dist/modules/auth/api/login.js +20 -4
  32. package/dist/modules/auth/api/login.js.map +2 -2
  33. package/dist/modules/auth/api/roles/acl/route.js +33 -28
  34. package/dist/modules/auth/api/roles/acl/route.js.map +2 -2
  35. package/dist/modules/auth/api/routeError.js +11 -0
  36. package/dist/modules/auth/api/routeError.js.map +7 -0
  37. package/dist/modules/auth/api/session/refresh.js +1 -25
  38. package/dist/modules/auth/api/session/refresh.js.map +2 -2
  39. package/dist/modules/auth/api/users/acl/route.js +73 -102
  40. package/dist/modules/auth/api/users/acl/route.js.map +2 -2
  41. package/dist/modules/auth/api/users/route.js +5 -13
  42. package/dist/modules/auth/api/users/route.js.map +2 -2
  43. package/dist/modules/auth/backend/roles/[id]/edit/page.meta.js +1 -5
  44. package/dist/modules/auth/backend/roles/[id]/edit/page.meta.js.map +2 -2
  45. package/dist/modules/auth/backend/roles/page.js +1 -3
  46. package/dist/modules/auth/backend/roles/page.js.map +2 -2
  47. package/dist/modules/auth/backend/users/[id]/edit/page.meta.js +1 -5
  48. package/dist/modules/auth/backend/users/[id]/edit/page.meta.js.map +2 -2
  49. package/dist/modules/auth/backend/users/page.js +1 -2
  50. package/dist/modules/auth/backend/users/page.js.map +2 -2
  51. package/dist/modules/auth/components/AclEditor.js +30 -39
  52. package/dist/modules/auth/components/AclEditor.js.map +2 -2
  53. package/dist/modules/auth/data/entities.js.map +2 -2
  54. package/dist/modules/auth/data/validators.js +1 -5
  55. package/dist/modules/auth/data/validators.js.map +2 -2
  56. package/dist/modules/auth/di.js +9 -35
  57. package/dist/modules/auth/di.js.map +2 -2
  58. package/dist/modules/auth/frontend/reset/[token]/page.js +0 -46
  59. package/dist/modules/auth/frontend/reset/[token]/page.js.map +2 -2
  60. package/dist/modules/auth/lib/grantChecks.js.map +2 -2
  61. package/dist/modules/auth/services/authService.js +2 -16
  62. package/dist/modules/auth/services/authService.js.map +2 -2
  63. package/dist/modules/auth/services/rbacService.js +24 -67
  64. package/dist/modules/auth/services/rbacService.js.map +3 -3
  65. package/dist/modules/business_rules/backend/logs/page.js +1 -3
  66. package/dist/modules/business_rules/backend/logs/page.js.map +2 -2
  67. package/dist/modules/business_rules/backend/rules/[id]/page.meta.js +6 -1
  68. package/dist/modules/business_rules/backend/rules/[id]/page.meta.js.map +2 -2
  69. package/dist/modules/business_rules/backend/rules/create/page.meta.js +5 -1
  70. package/dist/modules/business_rules/backend/rules/create/page.meta.js.map +2 -2
  71. package/dist/modules/business_rules/backend/rules/page.js +1 -3
  72. package/dist/modules/business_rules/backend/rules/page.js.map +2 -2
  73. package/dist/modules/business_rules/backend/sets/[id]/page.meta.js +6 -1
  74. package/dist/modules/business_rules/backend/sets/[id]/page.meta.js.map +2 -2
  75. package/dist/modules/business_rules/backend/sets/create/page.meta.js +5 -1
  76. package/dist/modules/business_rules/backend/sets/create/page.meta.js.map +2 -2
  77. package/dist/modules/business_rules/backend/sets/page.js +1 -3
  78. package/dist/modules/business_rules/backend/sets/page.js.map +2 -2
  79. package/dist/modules/business_rules/lib/expression-evaluator.js +9 -9
  80. package/dist/modules/business_rules/lib/expression-evaluator.js.map +2 -2
  81. package/dist/modules/business_rules/lib/rule-evaluator.js +9 -10
  82. package/dist/modules/business_rules/lib/rule-evaluator.js.map +2 -2
  83. package/dist/modules/catalog/ai-agents.js +1 -1
  84. package/dist/modules/catalog/ai-agents.js.map +1 -1
  85. package/dist/modules/catalog/ai-tools/merchandising-pack.js +2 -2
  86. package/dist/modules/catalog/ai-tools/merchandising-pack.js.map +2 -2
  87. package/dist/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.js +2 -5
  88. package/dist/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.js.map +2 -2
  89. package/dist/modules/catalog/components/categories/CategoriesDataTable.js +0 -2
  90. package/dist/modules/catalog/components/categories/CategoriesDataTable.js.map +2 -2
  91. package/dist/modules/catalog/components/products/ProductsDataTable.js +1 -7
  92. package/dist/modules/catalog/components/products/ProductsDataTable.js.map +2 -2
  93. package/dist/modules/catalog/widgets/injection/merchandising-assistant-trigger/widget.client.js +0 -2
  94. package/dist/modules/catalog/widgets/injection/merchandising-assistant-trigger/widget.client.js.map +2 -2
  95. package/dist/modules/communication_channels/api/post/channels/[id]/test-send/route.js +1 -9
  96. package/dist/modules/communication_channels/api/post/channels/[id]/test-send/route.js.map +2 -2
  97. package/dist/modules/communication_channels/api/post/test-seed/route.js +10 -95
  98. package/dist/modules/communication_channels/api/post/test-seed/route.js.map +2 -2
  99. package/dist/modules/communication_channels/backend/communication_channels/channels/page.js +0 -3
  100. package/dist/modules/communication_channels/backend/communication_channels/channels/page.js.map +2 -2
  101. package/dist/modules/communication_channels/commands/ingest-inbound-message.js +1 -14
  102. package/dist/modules/communication_channels/commands/ingest-inbound-message.js.map +2 -2
  103. package/dist/modules/communication_channels/di.js +1 -7
  104. package/dist/modules/communication_channels/di.js.map +2 -2
  105. package/dist/modules/communication_channels/lib/email-capabilities.js +1 -4
  106. package/dist/modules/communication_channels/lib/email-capabilities.js.map +2 -2
  107. package/dist/modules/communication_channels/lib/test-seed.js +2 -41
  108. package/dist/modules/communication_channels/lib/test-seed.js.map +2 -2
  109. package/dist/modules/configs/lib/system-status.js +0 -9
  110. package/dist/modules/configs/lib/system-status.js.map +2 -2
  111. package/dist/modules/currencies/backend/currencies/page.js +1 -3
  112. package/dist/modules/currencies/backend/currencies/page.js.map +2 -2
  113. package/dist/modules/currencies/backend/exchange-rates/page.js +1 -3
  114. package/dist/modules/currencies/backend/exchange-rates/page.js.map +2 -2
  115. package/dist/modules/customer_accounts/api/admin/domain-mappings.js +0 -9
  116. package/dist/modules/customer_accounts/api/admin/domain-mappings.js.map +2 -2
  117. package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.js +1 -3
  118. package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.js.map +2 -2
  119. package/dist/modules/customer_accounts/backend/customer_accounts/settings/CustomerAccountsSettingsPageClient.js +84 -0
  120. package/dist/modules/customer_accounts/backend/customer_accounts/settings/CustomerAccountsSettingsPageClient.js.map +7 -0
  121. package/dist/modules/customer_accounts/backend/customer_accounts/settings/page.js +7 -81
  122. package/dist/modules/customer_accounts/backend/customer_accounts/settings/page.js.map +2 -2
  123. package/dist/modules/customer_accounts/backend/customer_accounts/users/PortalUsersPageClient.js +523 -0
  124. package/dist/modules/customer_accounts/backend/customer_accounts/users/PortalUsersPageClient.js.map +7 -0
  125. package/dist/modules/customer_accounts/backend/customer_accounts/users/[id]/PortalUserDetailPageClient.js +731 -0
  126. package/dist/modules/customer_accounts/backend/customer_accounts/users/[id]/PortalUserDetailPageClient.js.map +7 -0
  127. package/dist/modules/customer_accounts/backend/customer_accounts/users/[id]/page.js +7 -727
  128. package/dist/modules/customer_accounts/backend/customer_accounts/users/[id]/page.js.map +2 -2
  129. package/dist/modules/customer_accounts/backend/customer_accounts/users/page.js +7 -521
  130. package/dist/modules/customer_accounts/backend/customer_accounts/users/page.js.map +2 -2
  131. package/dist/modules/customer_accounts/extension-points.js +1 -1
  132. package/dist/modules/customer_accounts/extension-points.js.map +2 -2
  133. package/dist/modules/customer_accounts/lib/portalUrl.js +69 -0
  134. package/dist/modules/customer_accounts/lib/portalUrl.js.map +7 -0
  135. package/dist/modules/customer_accounts/services/domainMappingService.js +0 -10
  136. package/dist/modules/customer_accounts/services/domainMappingService.js.map +2 -2
  137. package/dist/modules/customers/ai-tools/companies-pack.js +1 -4
  138. package/dist/modules/customers/ai-tools/companies-pack.js.map +2 -2
  139. package/dist/modules/customers/ai-tools/deal-analyzer-pack.js +2 -13
  140. package/dist/modules/customers/ai-tools/deal-analyzer-pack.js.map +2 -2
  141. package/dist/modules/customers/ai-tools/deals-pack.js +6 -52
  142. package/dist/modules/customers/ai-tools/deals-pack.js.map +2 -2
  143. package/dist/modules/customers/ai-tools/people-pack.js +1 -4
  144. package/dist/modules/customers/ai-tools/people-pack.js.map +2 -2
  145. package/dist/modules/customers/api/activities/route.js +6 -48
  146. package/dist/modules/customers/api/activities/route.js.map +2 -2
  147. package/dist/modules/customers/api/companies/[id]/people/route.js +64 -20
  148. package/dist/modules/customers/api/companies/[id]/people/route.js.map +2 -2
  149. package/dist/modules/customers/api/companies/[id]/route.js +94 -17
  150. package/dist/modules/customers/api/companies/[id]/route.js.map +2 -2
  151. package/dist/modules/customers/api/dashboard/widgets/customer-todos/route.js +5 -8
  152. package/dist/modules/customers/api/dashboard/widgets/customer-todos/route.js.map +2 -2
  153. package/dist/modules/customers/api/deals/[id]/companies/route.js +1 -1
  154. package/dist/modules/customers/api/deals/[id]/companies/route.js.map +2 -2
  155. package/dist/modules/customers/api/deals/[id]/people/route.js +1 -1
  156. package/dist/modules/customers/api/deals/[id]/people/route.js.map +2 -2
  157. package/dist/modules/customers/api/deals/[id]/route.js +25 -8
  158. package/dist/modules/customers/api/deals/[id]/route.js.map +2 -2
  159. package/dist/modules/customers/api/deals/[id]/stats/route.js +22 -3
  160. package/dist/modules/customers/api/deals/[id]/stats/route.js.map +2 -2
  161. package/dist/modules/customers/api/deals/aggregate/route.js +4 -11
  162. package/dist/modules/customers/api/deals/aggregate/route.js.map +2 -2
  163. package/dist/modules/customers/api/deals/map/route.js +1 -2
  164. package/dist/modules/customers/api/deals/map/route.js.map +2 -2
  165. package/dist/modules/customers/api/deals/route.js +1 -38
  166. package/dist/modules/customers/api/deals/route.js.map +2 -2
  167. package/dist/modules/customers/api/entity-roles-factory.js +4 -4
  168. package/dist/modules/customers/api/entity-roles-factory.js.map +2 -2
  169. package/dist/modules/customers/api/interactions/route.js +1 -3
  170. package/dist/modules/customers/api/interactions/route.js.map +2 -2
  171. package/dist/modules/customers/api/interactions/tasks/route.js +4 -27
  172. package/dist/modules/customers/api/interactions/tasks/route.js.map +2 -2
  173. package/dist/modules/customers/api/people/[id]/companies/[linkId]/route.js +3 -4
  174. package/dist/modules/customers/api/people/[id]/companies/[linkId]/route.js.map +2 -2
  175. package/dist/modules/customers/api/people/[id]/companies/context.js +1 -1
  176. package/dist/modules/customers/api/people/[id]/companies/context.js.map +2 -2
  177. package/dist/modules/customers/api/people/[id]/companies/enriched/route.js +1 -1
  178. package/dist/modules/customers/api/people/[id]/companies/enriched/route.js.map +2 -2
  179. package/dist/modules/customers/api/people/[id]/route.js +10 -11
  180. package/dist/modules/customers/api/people/[id]/route.js.map +2 -2
  181. package/dist/modules/customers/api/people/check-phone/route.js +9 -51
  182. package/dist/modules/customers/api/people/check-phone/route.js.map +2 -2
  183. package/dist/modules/customers/api/todos/route.js +5 -30
  184. package/dist/modules/customers/api/todos/route.js.map +2 -2
  185. package/dist/modules/customers/backend/customers/companies/page.js +4 -6
  186. package/dist/modules/customers/backend/customers/companies/page.js.map +2 -2
  187. package/dist/modules/customers/backend/customers/deals/[id]/page.js +1 -6
  188. package/dist/modules/customers/backend/customers/deals/[id]/page.js.map +2 -2
  189. package/dist/modules/customers/backend/customers/deals/page.js +4 -7
  190. package/dist/modules/customers/backend/customers/deals/page.js.map +2 -2
  191. package/dist/modules/customers/backend/customers/deals/pipeline/components/Lane.js +13 -4
  192. package/dist/modules/customers/backend/customers/deals/pipeline/components/Lane.js.map +2 -2
  193. package/dist/modules/customers/backend/customers/deals/pipeline/components/StatusFilterPopover.js +14 -85
  194. package/dist/modules/customers/backend/customers/deals/pipeline/components/StatusFilterPopover.js.map +2 -2
  195. package/dist/modules/customers/backend/customers/people/page.js +4 -6
  196. package/dist/modules/customers/backend/customers/people/page.js.map +2 -2
  197. package/dist/modules/customers/backend/hooks/useEmailDuplicateCheck.js +3 -9
  198. package/dist/modules/customers/backend/hooks/useEmailDuplicateCheck.js.map +2 -2
  199. package/dist/modules/customers/commands/deals.js +34 -21
  200. package/dist/modules/customers/commands/deals.js.map +2 -2
  201. package/dist/modules/customers/commands/interactions.js.map +1 -1
  202. package/dist/modules/customers/commands/personCompanyLinks.js +2 -131
  203. package/dist/modules/customers/commands/personCompanyLinks.js.map +2 -2
  204. package/dist/modules/customers/components/CustomerTodosTable.js +0 -1
  205. package/dist/modules/customers/components/CustomerTodosTable.js.map +2 -2
  206. package/dist/modules/customers/components/DealsKpiStrip.js +6 -7
  207. package/dist/modules/customers/components/DealsKpiStrip.js.map +2 -2
  208. package/dist/modules/customers/components/calendar/AgendaList.js +2 -2
  209. package/dist/modules/customers/components/calendar/AgendaList.js.map +2 -2
  210. package/dist/modules/customers/components/calendar/CalendarEventEditor.js +1 -1
  211. package/dist/modules/customers/components/calendar/CalendarEventEditor.js.map +2 -2
  212. package/dist/modules/customers/components/calendar/CalendarScreen.js +1 -1
  213. package/dist/modules/customers/components/calendar/CalendarScreen.js.map +2 -2
  214. package/dist/modules/customers/components/calendar/CalendarSettingsModal.js +1 -1
  215. package/dist/modules/customers/components/calendar/CalendarSettingsModal.js.map +2 -2
  216. package/dist/modules/customers/components/calendar/EventBlock.js +1 -1
  217. package/dist/modules/customers/components/calendar/EventBlock.js.map +2 -2
  218. package/dist/modules/customers/components/calendar/EventPeekPopover.js +2 -3
  219. package/dist/modules/customers/components/calendar/EventPeekPopover.js.map +2 -2
  220. package/dist/modules/customers/components/calendar/editor/PeopleField.js +5 -40
  221. package/dist/modules/customers/components/calendar/editor/PeopleField.js.map +2 -2
  222. package/dist/modules/customers/components/calendar/editor/hooks.js +1 -2
  223. package/dist/modules/customers/components/calendar/editor/hooks.js.map +2 -2
  224. package/dist/modules/customers/components/calendar/types.js +1 -1
  225. package/dist/modules/customers/components/calendar/types.js.map +2 -2
  226. package/dist/modules/customers/components/detail/AssignRoleDialog.js +33 -28
  227. package/dist/modules/customers/components/detail/AssignRoleDialog.js.map +2 -2
  228. package/dist/modules/customers/components/detail/CompanyKpiBar.js +4 -5
  229. package/dist/modules/customers/components/detail/CompanyKpiBar.js.map +2 -2
  230. package/dist/modules/customers/components/detail/CompanyPeopleSection.js +1 -3
  231. package/dist/modules/customers/components/detail/CompanyPeopleSection.js.map +2 -2
  232. package/dist/modules/customers/components/detail/DealForm.js +7 -19
  233. package/dist/modules/customers/components/detail/DealForm.js.map +2 -2
  234. package/dist/modules/customers/components/detail/DealsSection.js +5 -6
  235. package/dist/modules/customers/components/detail/DealsSection.js.map +2 -2
  236. package/dist/modules/customers/components/detail/EntityTagsDialog.js +11 -35
  237. package/dist/modules/customers/components/detail/EntityTagsDialog.js.map +2 -2
  238. package/dist/modules/customers/components/detail/PersonCompaniesSection.js +1 -3
  239. package/dist/modules/customers/components/detail/PersonCompaniesSection.js.map +2 -2
  240. package/dist/modules/customers/components/detail/hooks/usePersonTasks.js +13 -19
  241. package/dist/modules/customers/components/detail/hooks/usePersonTasks.js.map +2 -2
  242. package/dist/modules/customers/components/detail/schedule/ParticipantsField.js +4 -4
  243. package/dist/modules/customers/components/detail/schedule/ParticipantsField.js.map +2 -2
  244. package/dist/modules/customers/components/detail/schedule/useScheduleFormState.js +3 -3
  245. package/dist/modules/customers/components/detail/schedule/useScheduleFormState.js.map +2 -2
  246. package/dist/modules/customers/components/detail/utils.js +5 -5
  247. package/dist/modules/customers/components/detail/utils.js.map +2 -2
  248. package/dist/modules/customers/data/entities.js.map +1 -1
  249. package/dist/modules/customers/data/validators.js +3 -32
  250. package/dist/modules/customers/data/validators.js.map +2 -2
  251. package/dist/modules/customers/events.js +0 -5
  252. package/dist/modules/customers/events.js.map +2 -2
  253. package/dist/modules/customers/lib/calendar/conflicts.js +2 -8
  254. package/dist/modules/customers/lib/calendar/conflicts.js.map +2 -2
  255. package/dist/modules/customers/lib/calendar/editorPayload.js +2 -3
  256. package/dist/modules/customers/lib/calendar/editorPayload.js.map +2 -2
  257. package/dist/modules/customers/lib/calendar/mapItem.js +3 -8
  258. package/dist/modules/customers/lib/calendar/mapItem.js.map +2 -2
  259. package/dist/modules/customers/lib/dealStatus.js +0 -30
  260. package/dist/modules/customers/lib/dealStatus.js.map +2 -2
  261. package/dist/modules/customers/lib/findPeopleByAddresses.js +0 -1
  262. package/dist/modules/customers/lib/findPeopleByAddresses.js.map +2 -2
  263. package/dist/modules/customers/lib/personCompanies.js +2 -100
  264. package/dist/modules/customers/lib/personCompanies.js.map +2 -2
  265. package/dist/modules/customers/lib/todoCompatibility.js +0 -12
  266. package/dist/modules/customers/lib/todoCompatibility.js.map +2 -2
  267. package/dist/modules/dashboards/lib/widgetScope.js +1 -6
  268. package/dist/modules/dashboards/lib/widgetScope.js.map +2 -2
  269. package/dist/modules/data_sync/backend/data-sync/page.js +1 -3
  270. package/dist/modules/data_sync/backend/data-sync/page.js.map +2 -2
  271. package/dist/modules/data_sync/lib/sync-engine.js +6 -72
  272. package/dist/modules/data_sync/lib/sync-engine.js.map +2 -2
  273. package/dist/modules/data_sync/workers/sync-export.js +1 -5
  274. package/dist/modules/data_sync/workers/sync-export.js.map +2 -2
  275. package/dist/modules/data_sync/workers/sync-import.js +1 -5
  276. package/dist/modules/data_sync/workers/sync-import.js.map +2 -2
  277. package/dist/modules/devices/acl.js +1 -9
  278. package/dist/modules/devices/acl.js.map +2 -2
  279. package/dist/modules/devices/api/admin/devices/[id]/route.js +32 -5
  280. package/dist/modules/devices/api/admin/devices/[id]/route.js.map +2 -2
  281. package/dist/modules/devices/api/admin/devices/route.js +1 -14
  282. package/dist/modules/devices/api/admin/devices/route.js.map +2 -2
  283. package/dist/modules/devices/api/deviceList.js +12 -99
  284. package/dist/modules/devices/api/deviceList.js.map +2 -2
  285. package/dist/modules/devices/api/openapi.js +1 -3
  286. package/dist/modules/devices/api/openapi.js.map +2 -2
  287. package/dist/modules/devices/api/route.js +1 -9
  288. package/dist/modules/devices/api/route.js.map +2 -2
  289. package/dist/modules/devices/backend/devices/[id]/page.js +26 -10
  290. package/dist/modules/devices/backend/devices/[id]/page.js.map +2 -2
  291. package/dist/modules/devices/backend/devices/create/page.js +1 -17
  292. package/dist/modules/devices/backend/devices/create/page.js.map +2 -2
  293. package/dist/modules/devices/backend/devices/page.js +34 -28
  294. package/dist/modules/devices/backend/devices/page.js.map +2 -2
  295. package/dist/modules/devices/setup.js +2 -6
  296. package/dist/modules/devices/setup.js.map +2 -2
  297. package/dist/modules/directory/backend/directory/organizations/page.js +1 -2
  298. package/dist/modules/directory/backend/directory/organizations/page.js.map +2 -2
  299. package/dist/modules/directory/backend/directory/tenants/page.js +1 -2
  300. package/dist/modules/directory/backend/directory/tenants/page.js.map +2 -2
  301. package/dist/modules/directory/di.js +0 -9
  302. package/dist/modules/directory/di.js.map +2 -2
  303. package/dist/modules/directory/utils/organizationScope.js.map +2 -2
  304. package/dist/modules/entities/api/records.js +2 -4
  305. package/dist/modules/entities/api/records.js.map +2 -2
  306. package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js +1 -3
  307. package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js.map +2 -2
  308. package/dist/modules/eudr/api/plots/route.js +1 -5
  309. package/dist/modules/eudr/api/plots/route.js.map +2 -2
  310. package/dist/modules/eudr/backend/eudr/evidence-submissions/[id]/page.meta.js +3 -1
  311. package/dist/modules/eudr/backend/eudr/evidence-submissions/[id]/page.meta.js.map +2 -2
  312. package/dist/modules/eudr/backend/eudr/evidence-submissions/create/page.meta.js +1 -0
  313. package/dist/modules/eudr/backend/eudr/evidence-submissions/create/page.meta.js.map +2 -2
  314. package/dist/modules/eudr/backend/eudr/evidence-submissions/page.js +0 -3
  315. package/dist/modules/eudr/backend/eudr/evidence-submissions/page.js.map +2 -2
  316. package/dist/modules/eudr/backend/eudr/evidence-submissions/page.meta.js +4 -1
  317. package/dist/modules/eudr/backend/eudr/evidence-submissions/page.meta.js.map +2 -2
  318. package/dist/modules/eudr/backend/eudr/page.meta.js +2 -2
  319. package/dist/modules/eudr/backend/eudr/page.meta.js.map +2 -2
  320. package/dist/modules/eudr/backend/eudr/plots/[id]/page.js +8 -2
  321. package/dist/modules/eudr/backend/eudr/plots/[id]/page.js.map +2 -2
  322. package/dist/modules/eudr/backend/eudr/plots/[id]/page.meta.js +3 -1
  323. package/dist/modules/eudr/backend/eudr/plots/[id]/page.meta.js.map +2 -2
  324. package/dist/modules/eudr/backend/eudr/plots/create/page.js +8 -2
  325. package/dist/modules/eudr/backend/eudr/plots/create/page.js.map +2 -2
  326. package/dist/modules/eudr/backend/eudr/plots/create/page.meta.js +1 -0
  327. package/dist/modules/eudr/backend/eudr/plots/create/page.meta.js.map +2 -2
  328. package/dist/modules/eudr/backend/eudr/plots/page.js +0 -3
  329. package/dist/modules/eudr/backend/eudr/plots/page.js.map +2 -2
  330. package/dist/modules/eudr/backend/eudr/plots/page.meta.js +4 -1
  331. package/dist/modules/eudr/backend/eudr/plots/page.meta.js.map +2 -2
  332. package/dist/modules/eudr/backend/eudr/product-mappings/[id]/page.meta.js +3 -1
  333. package/dist/modules/eudr/backend/eudr/product-mappings/[id]/page.meta.js.map +2 -2
  334. package/dist/modules/eudr/backend/eudr/product-mappings/create/page.meta.js +1 -0
  335. package/dist/modules/eudr/backend/eudr/product-mappings/create/page.meta.js.map +2 -2
  336. package/dist/modules/eudr/backend/eudr/product-mappings/page.js +0 -3
  337. package/dist/modules/eudr/backend/eudr/product-mappings/page.js.map +2 -2
  338. package/dist/modules/eudr/backend/eudr/product-mappings/page.meta.js +4 -1
  339. package/dist/modules/eudr/backend/eudr/product-mappings/page.meta.js.map +2 -2
  340. package/dist/modules/eudr/backend/eudr/risk-assessments/[id]/page.meta.js +3 -1
  341. package/dist/modules/eudr/backend/eudr/risk-assessments/[id]/page.meta.js.map +2 -2
  342. package/dist/modules/eudr/backend/eudr/risk-assessments/create/page.meta.js +1 -0
  343. package/dist/modules/eudr/backend/eudr/risk-assessments/create/page.meta.js.map +2 -2
  344. package/dist/modules/eudr/backend/eudr/risk-assessments/page.js +0 -3
  345. package/dist/modules/eudr/backend/eudr/risk-assessments/page.js.map +2 -2
  346. package/dist/modules/eudr/backend/eudr/risk-assessments/page.meta.js +4 -1
  347. package/dist/modules/eudr/backend/eudr/risk-assessments/page.meta.js.map +2 -2
  348. package/dist/modules/eudr/backend/eudr/statements/[id]/page.js +2 -0
  349. package/dist/modules/eudr/backend/eudr/statements/[id]/page.js.map +2 -2
  350. package/dist/modules/eudr/backend/eudr/statements/[id]/page.meta.js +3 -1
  351. package/dist/modules/eudr/backend/eudr/statements/[id]/page.meta.js.map +2 -2
  352. package/dist/modules/eudr/backend/eudr/statements/create/page.meta.js +1 -0
  353. package/dist/modules/eudr/backend/eudr/statements/create/page.meta.js.map +2 -2
  354. package/dist/modules/eudr/backend/eudr/statements/page.js +30 -28
  355. package/dist/modules/eudr/backend/eudr/statements/page.js.map +2 -2
  356. package/dist/modules/eudr/backend/eudr/statements/page.meta.js +4 -1
  357. package/dist/modules/eudr/backend/eudr/statements/page.meta.js.map +2 -2
  358. package/dist/modules/eudr/commands/statements.js +8 -3
  359. package/dist/modules/eudr/commands/statements.js.map +2 -2
  360. package/dist/modules/eudr/components/crudErrorI18n.js +21 -1
  361. package/dist/modules/eudr/components/crudErrorI18n.js.map +2 -2
  362. package/dist/modules/eudr/components/formConfig.js +6 -2
  363. package/dist/modules/eudr/components/formConfig.js.map +2 -2
  364. package/dist/modules/eudr/data/validators.js +1 -4
  365. package/dist/modules/eudr/data/validators.js.map +2 -2
  366. package/dist/modules/eudr/lib/statement-lifecycle.js +9 -1
  367. package/dist/modules/eudr/lib/statement-lifecycle.js.map +2 -2
  368. package/dist/modules/feature_toggles/components/FeatureTogglesTable.js +0 -1
  369. package/dist/modules/feature_toggles/components/FeatureTogglesTable.js.map +2 -2
  370. package/dist/modules/feature_toggles/components/OverridesTable.js +0 -1
  371. package/dist/modules/feature_toggles/components/OverridesTable.js.map +2 -2
  372. package/dist/modules/feature_toggles/defaults.json +8 -0
  373. package/dist/modules/inbox_ops/backend/inbox-ops/log/page.js +0 -3
  374. package/dist/modules/inbox_ops/backend/inbox-ops/log/page.js.map +2 -2
  375. package/dist/modules/inbox_ops/backend/inbox-ops/page.js +0 -3
  376. package/dist/modules/inbox_ops/backend/inbox-ops/page.js.map +2 -2
  377. package/dist/modules/inbox_ops/lib/htmlToPlainText.js +12 -1
  378. package/dist/modules/inbox_ops/lib/htmlToPlainText.js.map +2 -2
  379. package/dist/modules/integrations/api/[id]/credentials/route.js +1 -6
  380. package/dist/modules/integrations/api/[id]/credentials/route.js.map +2 -2
  381. package/dist/modules/integrations/backend/integrations/[id]/page.js +29 -38
  382. package/dist/modules/integrations/backend/integrations/[id]/page.js.map +2 -2
  383. package/dist/modules/integrations/backend/integrations/bundle/[id]/page.js +9 -36
  384. package/dist/modules/integrations/backend/integrations/bundle/[id]/page.js.map +2 -2
  385. package/dist/modules/integrations/data/validators.js +3 -11
  386. package/dist/modules/integrations/data/validators.js.map +2 -2
  387. package/dist/modules/integrations/lib/credentials-masking.js +2 -6
  388. package/dist/modules/integrations/lib/credentials-masking.js.map +2 -2
  389. package/dist/modules/messages/api/[id]/route.js +1 -29
  390. package/dist/modules/messages/api/[id]/route.js.map +2 -2
  391. package/dist/modules/messages/api/openapi.js +2 -17
  392. package/dist/modules/messages/api/openapi.js.map +2 -2
  393. package/dist/modules/messages/api/route.js +2 -17
  394. package/dist/modules/messages/api/route.js.map +2 -2
  395. package/dist/modules/messages/components/MessagesInboxPageClient.js +14 -7
  396. package/dist/modules/messages/components/MessagesInboxPageClient.js.map +2 -2
  397. package/dist/modules/messages/components/inboxFilters.js +0 -15
  398. package/dist/modules/messages/components/inboxFilters.js.map +2 -2
  399. package/dist/modules/messages/components/message-detail/hooks/useMessageDetailsConversation.js +1 -11
  400. package/dist/modules/messages/components/message-detail/hooks/useMessageDetailsConversation.js.map +2 -2
  401. package/dist/modules/messages/components/message-detail/panels/MessageHeader.js +1 -3
  402. package/dist/modules/messages/components/message-detail/panels/MessageHeader.js.map +2 -2
  403. package/dist/modules/messages/components/message-detail/panels/thread-panel.js +1 -2
  404. package/dist/modules/messages/components/message-detail/panels/thread-panel.js.map +2 -2
  405. package/dist/modules/messages/components/messageListLabels.js +2 -14
  406. package/dist/modules/messages/components/messageListLabels.js.map +2 -2
  407. package/dist/modules/messages/data/validators.js +4 -18
  408. package/dist/modules/messages/data/validators.js.map +2 -2
  409. package/dist/modules/payment_gateways/api/webhook/[provider]/route.js +6 -4
  410. package/dist/modules/payment_gateways/api/webhook/[provider]/route.js.map +2 -2
  411. package/dist/modules/payment_gateways/backend/payment-gateways/page.js +1 -3
  412. package/dist/modules/payment_gateways/backend/payment-gateways/page.js.map +2 -2
  413. package/dist/modules/payment_gateways/lib/webhook-processor.js +0 -7
  414. package/dist/modules/payment_gateways/lib/webhook-processor.js.map +2 -2
  415. package/dist/modules/planner/backend/planner/availability-rulesets/page.js +0 -3
  416. package/dist/modules/planner/backend/planner/availability-rulesets/page.js.map +2 -2
  417. package/dist/modules/push_notifications/backend/push_notifications/page.js +1 -3
  418. package/dist/modules/push_notifications/backend/push_notifications/page.js.map +2 -2
  419. package/dist/modules/push_notifications/backend/push_notifications/send/page.js +1 -1
  420. package/dist/modules/push_notifications/backend/push_notifications/send/page.js.map +2 -2
  421. package/dist/modules/query_index/lib/engine.js +51 -150
  422. package/dist/modules/query_index/lib/engine.js.map +2 -2
  423. package/dist/modules/query_index/lib/search-tokens.js +3 -79
  424. package/dist/modules/query_index/lib/search-tokens.js.map +2 -2
  425. package/dist/modules/resources/backend/resources/resource-types/page.js +1 -3
  426. package/dist/modules/resources/backend/resources/resource-types/page.js.map +2 -2
  427. package/dist/modules/resources/backend/resources/resources/page.js +1 -3
  428. package/dist/modules/resources/backend/resources/resources/page.js.map +2 -2
  429. package/dist/modules/sales/backend/sales/channels/offers/page.js +0 -3
  430. package/dist/modules/sales/backend/sales/channels/offers/page.js.map +2 -2
  431. package/dist/modules/sales/backend/sales/channels/page.js +0 -3
  432. package/dist/modules/sales/backend/sales/channels/page.js.map +2 -2
  433. package/dist/modules/sales/backend/sales/documents/[id]/page.js +8 -10
  434. package/dist/modules/sales/backend/sales/documents/[id]/page.js.map +2 -2
  435. package/dist/modules/sales/commands/documents.js +1 -79
  436. package/dist/modules/sales/commands/documents.js.map +2 -2
  437. package/dist/modules/sales/components/PriceWithCurrency.js +5 -7
  438. package/dist/modules/sales/components/PriceWithCurrency.js.map +2 -2
  439. package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js +0 -3
  440. package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js.map +2 -2
  441. package/dist/modules/sales/components/documents/AdjustmentsSection.js +6 -8
  442. package/dist/modules/sales/components/documents/AdjustmentsSection.js.map +2 -2
  443. package/dist/modules/sales/components/documents/ItemsSection.js +22 -51
  444. package/dist/modules/sales/components/documents/ItemsSection.js.map +2 -2
  445. package/dist/modules/sales/components/documents/LineItemDialog.js +19 -84
  446. package/dist/modules/sales/components/documents/LineItemDialog.js.map +2 -2
  447. package/dist/modules/sales/components/documents/PaymentsSection.js +9 -23
  448. package/dist/modules/sales/components/documents/PaymentsSection.js.map +2 -2
  449. package/dist/modules/sales/components/documents/ReturnsSection.js +6 -8
  450. package/dist/modules/sales/components/documents/ReturnsSection.js.map +2 -2
  451. package/dist/modules/sales/components/documents/SalesDocumentsTable.js +14 -68
  452. package/dist/modules/sales/components/documents/SalesDocumentsTable.js.map +2 -2
  453. package/dist/modules/sales/components/documents/SalesOrderDraftLines.js +5 -6
  454. package/dist/modules/sales/components/documents/SalesOrderDraftLines.js.map +2 -2
  455. package/dist/modules/sales/components/documents/ShipmentDialog.js +4 -5
  456. package/dist/modules/sales/components/documents/ShipmentDialog.js.map +2 -2
  457. package/dist/modules/sales/components/documents/ShipmentsSection.js +6 -8
  458. package/dist/modules/sales/components/documents/ShipmentsSection.js.map +2 -2
  459. package/dist/modules/sales/components/documents/lineItemUtils.js +2 -2
  460. package/dist/modules/sales/components/documents/lineItemUtils.js.map +2 -2
  461. package/dist/modules/sales/data/entities.js +2 -8
  462. package/dist/modules/sales/data/entities.js.map +2 -2
  463. package/dist/modules/sales/extension-points.js +0 -1
  464. package/dist/modules/sales/extension-points.js.map +2 -2
  465. package/dist/modules/sales/setup.js +0 -2
  466. package/dist/modules/sales/setup.js.map +2 -2
  467. package/dist/modules/sales/widgets/injection/document-history/widget.client.js +44 -2
  468. package/dist/modules/sales/widgets/injection/document-history/widget.client.js.map +2 -2
  469. package/dist/modules/sales/widgets/injection/payment-gateway-status-column/widget.js +2 -10
  470. package/dist/modules/sales/widgets/injection/payment-gateway-status-column/widget.js.map +2 -2
  471. package/dist/modules/sales/widgets/injection-table.js +7 -4
  472. package/dist/modules/sales/widgets/injection-table.js.map +2 -2
  473. package/dist/modules/staff/backend/staff/leave-requests/page.js +0 -3
  474. package/dist/modules/staff/backend/staff/leave-requests/page.js.map +2 -2
  475. package/dist/modules/staff/backend/staff/my-leave-requests/page.js +0 -3
  476. package/dist/modules/staff/backend/staff/my-leave-requests/page.js.map +2 -2
  477. package/dist/modules/staff/backend/staff/team-members/page.js +0 -3
  478. package/dist/modules/staff/backend/staff/team-members/page.js.map +2 -2
  479. package/dist/modules/staff/backend/staff/team-roles/page.js +0 -3
  480. package/dist/modules/staff/backend/staff/team-roles/page.js.map +2 -2
  481. package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js +0 -3
  482. package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js.map +2 -2
  483. package/dist/modules/staff/backend/staff/teams/page.js +0 -3
  484. package/dist/modules/staff/backend/staff/teams/page.js.map +2 -2
  485. package/dist/modules/staff/backend/staff/timesheets/page.js +18 -29
  486. package/dist/modules/staff/backend/staff/timesheets/page.js.map +2 -2
  487. package/dist/modules/staff/backend/staff/timesheets/projects/page.js +0 -3
  488. package/dist/modules/staff/backend/staff/timesheets/projects/page.js.map +2 -2
  489. package/dist/modules/sync_excel/lib/adapters/customers.js +0 -1
  490. package/dist/modules/sync_excel/lib/adapters/customers.js.map +2 -2
  491. package/dist/modules/warranty_claims/api/assignees/route.js +3 -3
  492. package/dist/modules/warranty_claims/api/assignees/route.js.map +2 -2
  493. package/dist/modules/warranty_claims/api/portal/attachments/route.js +2 -2
  494. package/dist/modules/warranty_claims/api/portal/attachments/route.js.map +2 -2
  495. package/dist/modules/warranty_claims/api/portal/claims/route.js +9 -12
  496. package/dist/modules/warranty_claims/api/portal/claims/route.js.map +2 -2
  497. package/dist/modules/warranty_claims/backend/page.js +0 -3
  498. package/dist/modules/warranty_claims/backend/page.js.map +2 -2
  499. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/page.js +0 -3
  500. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/page.js.map +2 -2
  501. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.js +0 -3
  502. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.js.map +2 -2
  503. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.js +0 -3
  504. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.js.map +2 -2
  505. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.js +0 -3
  506. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.js.map +2 -2
  507. package/dist/modules/wms/api/warehouses/route.js +9 -13
  508. package/dist/modules/wms/api/warehouses/route.js.map +2 -2
  509. package/dist/modules/wms/api/zones/route.js +2 -15
  510. package/dist/modules/wms/api/zones/route.js.map +2 -2
  511. package/dist/modules/wms/commands/configuration.js +9 -121
  512. package/dist/modules/wms/commands/configuration.js.map +2 -2
  513. package/dist/modules/wms/commands/inventory-actions.js +0 -3
  514. package/dist/modules/wms/commands/inventory-actions.js.map +2 -2
  515. package/dist/modules/wms/commands/shared.js +1 -9
  516. package/dist/modules/wms/commands/shared.js.map +2 -2
  517. package/dist/modules/wms/components/backend/WmsConfigurationPage.js +111 -76
  518. package/dist/modules/wms/components/backend/WmsConfigurationPage.js.map +3 -3
  519. package/dist/modules/wms/components/backend/WmsInventoryConsolePage.js +0 -1
  520. package/dist/modules/wms/components/backend/WmsInventoryConsolePage.js.map +2 -2
  521. package/dist/modules/wms/components/backend/WmsLocationDetailPage.js +20 -16
  522. package/dist/modules/wms/components/backend/WmsLocationDetailPage.js.map +2 -2
  523. package/dist/modules/wms/components/backend/WmsLotDetailPage.js +10 -6
  524. package/dist/modules/wms/components/backend/WmsLotDetailPage.js.map +2 -2
  525. package/dist/modules/wms/components/backend/WmsLotsListPage.js +0 -1
  526. package/dist/modules/wms/components/backend/WmsLotsListPage.js.map +2 -2
  527. package/dist/modules/wms/components/backend/WmsOperationalDashboardPage.js +11 -7
  528. package/dist/modules/wms/components/backend/WmsOperationalDashboardPage.js.map +2 -2
  529. package/dist/modules/wms/components/backend/WmsSkuDetailPage.js +10 -6
  530. package/dist/modules/wms/components/backend/WmsSkuDetailPage.js.map +2 -2
  531. package/dist/modules/wms/components/backend/inventoryMutationLoaders.js +20 -27
  532. package/dist/modules/wms/components/backend/inventoryMutationLoaders.js.map +2 -2
  533. package/dist/modules/workflows/backend/definitions/page.js +1 -3
  534. package/dist/modules/workflows/backend/definitions/page.js.map +2 -2
  535. package/dist/modules/workflows/backend/events/page.js +1 -3
  536. package/dist/modules/workflows/backend/events/page.js.map +2 -2
  537. package/dist/modules/workflows/backend/instances/page.js +1 -3
  538. package/dist/modules/workflows/backend/instances/page.js.map +2 -2
  539. package/dist/modules/workflows/backend/tasks/page.js +1 -3
  540. package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
  541. package/dist/modules/workflows/lib/activity-executor.js +0 -4
  542. package/dist/modules/workflows/lib/activity-executor.js.map +2 -2
  543. package/package.json +10 -9
  544. package/src/helpers/integration/api.ts +1 -33
  545. package/src/helpers/integration/communicationChannelsFixtures.ts +1 -69
  546. package/src/modules/api_keys/api/keys/route.ts +1 -3
  547. package/src/modules/api_keys/backend/api-keys/page.tsx +1 -4
  548. package/src/modules/attachments/AGENTS.md +0 -15
  549. package/src/modules/attachments/api/route.ts +2 -2
  550. package/src/modules/attachments/components/AttachmentLibrary.tsx +0 -3
  551. package/src/modules/attachments/di.ts +0 -16
  552. package/src/modules/attachments/i18n/de.json +0 -5
  553. package/src/modules/attachments/i18n/en.json +0 -5
  554. package/src/modules/attachments/i18n/es.json +0 -5
  555. package/src/modules/attachments/i18n/ko.json +0 -5
  556. package/src/modules/attachments/i18n/pl.json +0 -5
  557. package/src/modules/attachments/index.ts +0 -10
  558. package/src/modules/attachments/lib/scoped-upload-service.ts +0 -46
  559. package/src/modules/attachments/lib/upload-limits.ts +2 -6
  560. package/src/modules/audit_logs/backend/audit-logs/page.tsx +0 -8
  561. package/src/modules/audit_logs/lib/display-helpers.tsx +32 -42
  562. package/src/modules/audit_logs/services/actionLogService.ts +11 -74
  563. package/src/modules/auth/acl.ts +6 -30
  564. package/src/modules/auth/api/feature-check.ts +3 -10
  565. package/src/modules/auth/api/login.ts +24 -9
  566. package/src/modules/auth/api/roles/acl/route.ts +39 -42
  567. package/src/modules/auth/api/routeError.ts +30 -0
  568. package/src/modules/auth/api/session/refresh.ts +1 -32
  569. package/src/modules/auth/api/users/acl/route.ts +101 -185
  570. package/src/modules/auth/api/users/route.ts +5 -18
  571. package/src/modules/auth/backend/roles/[id]/edit/page.meta.ts +2 -5
  572. package/src/modules/auth/backend/roles/page.tsx +2 -4
  573. package/src/modules/auth/backend/users/[id]/edit/page.meta.ts +2 -5
  574. package/src/modules/auth/backend/users/page.tsx +2 -3
  575. package/src/modules/auth/components/AclEditor.tsx +33 -63
  576. package/src/modules/auth/data/entities.ts +1 -4
  577. package/src/modules/auth/data/validators.ts +0 -5
  578. package/src/modules/auth/di.ts +16 -46
  579. package/src/modules/auth/frontend/reset/[token]/page.tsx +0 -74
  580. package/src/modules/auth/i18n/de.json +0 -389
  581. package/src/modules/auth/i18n/en.json +0 -389
  582. package/src/modules/auth/i18n/es.json +0 -389
  583. package/src/modules/auth/i18n/ko.json +0 -389
  584. package/src/modules/auth/i18n/pl.json +2 -391
  585. package/src/modules/auth/lib/grantChecks.ts +0 -6
  586. package/src/modules/auth/services/authService.ts +2 -18
  587. package/src/modules/auth/services/rbacService.ts +24 -110
  588. package/src/modules/business_rules/backend/logs/page.tsx +1 -4
  589. package/src/modules/business_rules/backend/rules/[id]/page.meta.ts +5 -0
  590. package/src/modules/business_rules/backend/rules/create/page.meta.ts +5 -1
  591. package/src/modules/business_rules/backend/rules/page.tsx +1 -4
  592. package/src/modules/business_rules/backend/sets/[id]/page.meta.ts +5 -0
  593. package/src/modules/business_rules/backend/sets/create/page.meta.ts +5 -1
  594. package/src/modules/business_rules/backend/sets/page.tsx +1 -4
  595. package/src/modules/business_rules/lib/expression-evaluator.ts +9 -9
  596. package/src/modules/business_rules/lib/rule-evaluator.ts +9 -10
  597. package/src/modules/catalog/ai-agents.ts +1 -1
  598. package/src/modules/catalog/ai-tools/merchandising-pack.ts +2 -2
  599. package/src/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.tsx +5 -12
  600. package/src/modules/catalog/components/categories/CategoriesDataTable.tsx +0 -3
  601. package/src/modules/catalog/components/products/ProductsDataTable.tsx +0 -7
  602. package/src/modules/catalog/i18n/de.json +0 -1
  603. package/src/modules/catalog/i18n/en.json +0 -1
  604. package/src/modules/catalog/i18n/es.json +0 -1
  605. package/src/modules/catalog/i18n/ko.json +0 -1
  606. package/src/modules/catalog/i18n/pl.json +0 -1
  607. package/src/modules/catalog/widgets/injection/merchandising-assistant-trigger/widget.client.tsx +0 -4
  608. package/src/modules/communication_channels/api/post/channels/[id]/test-send/route.ts +1 -17
  609. package/src/modules/communication_channels/api/post/test-seed/route.ts +16 -155
  610. package/src/modules/communication_channels/backend/communication_channels/channels/page.tsx +0 -4
  611. package/src/modules/communication_channels/commands/ingest-inbound-message.ts +1 -38
  612. package/src/modules/communication_channels/di.ts +0 -7
  613. package/src/modules/communication_channels/lib/adapter.ts +0 -14
  614. package/src/modules/communication_channels/lib/email-capabilities.ts +0 -4
  615. package/src/modules/communication_channels/lib/test-seed.ts +4 -64
  616. package/src/modules/configs/i18n/de.json +0 -2
  617. package/src/modules/configs/i18n/en.json +0 -2
  618. package/src/modules/configs/i18n/es.json +0 -2
  619. package/src/modules/configs/i18n/ko.json +0 -2
  620. package/src/modules/configs/i18n/pl.json +0 -2
  621. package/src/modules/configs/lib/system-status.ts +0 -9
  622. package/src/modules/currencies/backend/currencies/page.tsx +1 -4
  623. package/src/modules/currencies/backend/exchange-rates/page.tsx +1 -4
  624. package/src/modules/customer_accounts/api/admin/domain-mappings.ts +0 -7
  625. package/src/modules/customer_accounts/backend/customer_accounts/roles/page.tsx +1 -4
  626. package/src/modules/customer_accounts/backend/customer_accounts/settings/CustomerAccountsSettingsPageClient.tsx +138 -0
  627. package/src/modules/customer_accounts/backend/customer_accounts/settings/page.tsx +8 -132
  628. package/src/modules/customer_accounts/backend/customer_accounts/users/PortalUsersPageClient.tsx +598 -0
  629. package/src/modules/customer_accounts/backend/customer_accounts/users/[id]/PortalUserDetailPageClient.tsx +838 -0
  630. package/src/modules/customer_accounts/backend/customer_accounts/users/[id]/page.tsx +6 -838
  631. package/src/modules/customer_accounts/backend/customer_accounts/users/page.tsx +6 -590
  632. package/src/modules/customer_accounts/extension-points.ts +1 -1
  633. package/src/modules/customer_accounts/lib/portalUrl.ts +112 -0
  634. package/src/modules/customer_accounts/services/domainMappingService.ts +0 -10
  635. package/src/modules/customers/ai-tools/companies-pack.ts +1 -4
  636. package/src/modules/customers/ai-tools/deal-analyzer-pack.ts +2 -17
  637. package/src/modules/customers/ai-tools/deals-pack.ts +1 -66
  638. package/src/modules/customers/ai-tools/people-pack.ts +1 -4
  639. package/src/modules/customers/api/activities/route.ts +0 -45
  640. package/src/modules/customers/api/companies/[id]/people/route.ts +73 -24
  641. package/src/modules/customers/api/companies/[id]/route.ts +107 -24
  642. package/src/modules/customers/api/dashboard/widgets/customer-todos/route.ts +8 -16
  643. package/src/modules/customers/api/deals/[id]/companies/route.ts +1 -4
  644. package/src/modules/customers/api/deals/[id]/people/route.ts +1 -4
  645. package/src/modules/customers/api/deals/[id]/route.ts +28 -17
  646. package/src/modules/customers/api/deals/[id]/stats/route.ts +25 -10
  647. package/src/modules/customers/api/deals/aggregate/route.ts +4 -14
  648. package/src/modules/customers/api/deals/map/route.ts +0 -1
  649. package/src/modules/customers/api/deals/route.ts +1 -50
  650. package/src/modules/customers/api/entity-roles-factory.ts +4 -8
  651. package/src/modules/customers/api/interactions/route.ts +2 -8
  652. package/src/modules/customers/api/interactions/tasks/route.ts +1 -24
  653. package/src/modules/customers/api/people/[id]/companies/[linkId]/route.ts +4 -12
  654. package/src/modules/customers/api/people/[id]/companies/context.ts +1 -4
  655. package/src/modules/customers/api/people/[id]/companies/enriched/route.ts +1 -4
  656. package/src/modules/customers/api/people/[id]/route.ts +11 -16
  657. package/src/modules/customers/api/people/check-phone/route.ts +10 -75
  658. package/src/modules/customers/api/todos/route.ts +2 -27
  659. package/src/modules/customers/backend/customers/companies/page.tsx +4 -7
  660. package/src/modules/customers/backend/customers/deals/[id]/page.tsx +2 -7
  661. package/src/modules/customers/backend/customers/deals/page.tsx +4 -10
  662. package/src/modules/customers/backend/customers/deals/pipeline/components/Lane.tsx +14 -5
  663. package/src/modules/customers/backend/customers/deals/pipeline/components/StatusFilterPopover.tsx +27 -109
  664. package/src/modules/customers/backend/customers/people/page.tsx +4 -7
  665. package/src/modules/customers/backend/hooks/useEmailDuplicateCheck.ts +4 -12
  666. package/src/modules/customers/commands/deals.ts +59 -34
  667. package/src/modules/customers/commands/interactions.ts +1 -1
  668. package/src/modules/customers/commands/personCompanyLinks.ts +8 -224
  669. package/src/modules/customers/components/CustomerTodosTable.tsx +0 -2
  670. package/src/modules/customers/components/DealsKpiStrip.tsx +7 -7
  671. package/src/modules/customers/components/calendar/AgendaList.tsx +3 -3
  672. package/src/modules/customers/components/calendar/CalendarEventEditor.tsx +1 -1
  673. package/src/modules/customers/components/calendar/CalendarScreen.tsx +1 -1
  674. package/src/modules/customers/components/calendar/CalendarSettingsModal.tsx +1 -1
  675. package/src/modules/customers/components/calendar/EventBlock.tsx +2 -2
  676. package/src/modules/customers/components/calendar/EventPeekPopover.tsx +2 -4
  677. package/src/modules/customers/components/calendar/editor/PeopleField.tsx +5 -61
  678. package/src/modules/customers/components/calendar/editor/hooks.ts +1 -7
  679. package/src/modules/customers/components/calendar/types.ts +2 -2
  680. package/src/modules/customers/components/detail/AssignRoleDialog.tsx +12 -7
  681. package/src/modules/customers/components/detail/CompanyKpiBar.tsx +4 -5
  682. package/src/modules/customers/components/detail/CompanyPeopleSection.tsx +1 -8
  683. package/src/modules/customers/components/detail/DealForm.tsx +2 -22
  684. package/src/modules/customers/components/detail/DealsSection.tsx +5 -11
  685. package/src/modules/customers/components/detail/EntityTagsDialog.tsx +12 -58
  686. package/src/modules/customers/components/detail/PersonCompaniesSection.tsx +1 -8
  687. package/src/modules/customers/components/detail/hooks/usePersonTasks.ts +14 -23
  688. package/src/modules/customers/components/detail/schedule/ParticipantsField.tsx +5 -5
  689. package/src/modules/customers/components/detail/schedule/useScheduleFormState.ts +5 -5
  690. package/src/modules/customers/components/detail/types.ts +1 -1
  691. package/src/modules/customers/components/detail/utils.ts +5 -15
  692. package/src/modules/customers/data/entities.ts +1 -1
  693. package/src/modules/customers/data/validators.ts +9 -50
  694. package/src/modules/customers/events.ts +0 -5
  695. package/src/modules/customers/i18n/de.json +1 -9
  696. package/src/modules/customers/i18n/en.json +1 -9
  697. package/src/modules/customers/i18n/es.json +1 -9
  698. package/src/modules/customers/i18n/ko.json +1 -9
  699. package/src/modules/customers/i18n/pl.json +1 -9
  700. package/src/modules/customers/lib/calendar/conflicts.ts +2 -10
  701. package/src/modules/customers/lib/calendar/editorPayload.ts +3 -4
  702. package/src/modules/customers/lib/calendar/mapItem.ts +3 -8
  703. package/src/modules/customers/lib/dealStatus.ts +0 -42
  704. package/src/modules/customers/lib/findPeopleByAddresses.ts +6 -8
  705. package/src/modules/customers/lib/personCompanies.ts +1 -136
  706. package/src/modules/customers/lib/todoCompatibility.ts +1 -19
  707. package/src/modules/dashboards/i18n/es.json +4 -4
  708. package/src/modules/dashboards/i18n/pl.json +7 -7
  709. package/src/modules/dashboards/lib/widgetScope.ts +0 -6
  710. package/src/modules/data_sync/AGENTS.md +1 -1
  711. package/src/modules/data_sync/backend/data-sync/page.tsx +1 -4
  712. package/src/modules/data_sync/lib/adapter.ts +0 -36
  713. package/src/modules/data_sync/lib/sync-engine.ts +5 -113
  714. package/src/modules/data_sync/workers/sync-export.ts +0 -4
  715. package/src/modules/data_sync/workers/sync-import.ts +0 -4
  716. package/src/modules/devices/AGENTS.md +1 -20
  717. package/src/modules/devices/acl.ts +1 -9
  718. package/src/modules/devices/api/admin/devices/[id]/route.ts +34 -5
  719. package/src/modules/devices/api/admin/devices/route.ts +1 -14
  720. package/src/modules/devices/api/deviceList.ts +11 -135
  721. package/src/modules/devices/api/openapi.ts +1 -9
  722. package/src/modules/devices/api/route.ts +1 -9
  723. package/src/modules/devices/backend/devices/[id]/page.tsx +32 -18
  724. package/src/modules/devices/backend/devices/create/page.tsx +1 -17
  725. package/src/modules/devices/backend/devices/page.tsx +45 -44
  726. package/src/modules/devices/i18n/de.json +2 -3
  727. package/src/modules/devices/i18n/en.json +2 -3
  728. package/src/modules/devices/i18n/es.json +2 -3
  729. package/src/modules/devices/i18n/ko.json +2 -3
  730. package/src/modules/devices/i18n/pl.json +2 -3
  731. package/src/modules/devices/setup.ts +2 -6
  732. package/src/modules/directory/backend/directory/organizations/page.tsx +1 -3
  733. package/src/modules/directory/backend/directory/tenants/page.tsx +1 -3
  734. package/src/modules/directory/di.ts +2 -14
  735. package/src/modules/directory/utils/organizationScope.ts +15 -4
  736. package/src/modules/entities/api/records.ts +0 -2
  737. package/src/modules/entities/backend/entities/user/[entityId]/records/page.tsx +1 -4
  738. package/src/modules/eudr/api/plots/route.ts +0 -4
  739. package/src/modules/eudr/backend/eudr/evidence-submissions/[id]/page.meta.ts +2 -0
  740. package/src/modules/eudr/backend/eudr/evidence-submissions/create/page.meta.ts +1 -0
  741. package/src/modules/eudr/backend/eudr/evidence-submissions/page.meta.ts +4 -1
  742. package/src/modules/eudr/backend/eudr/evidence-submissions/page.tsx +0 -4
  743. package/src/modules/eudr/backend/eudr/page.meta.ts +2 -2
  744. package/src/modules/eudr/backend/eudr/plots/[id]/page.meta.ts +2 -0
  745. package/src/modules/eudr/backend/eudr/plots/[id]/page.tsx +8 -2
  746. package/src/modules/eudr/backend/eudr/plots/create/page.meta.ts +1 -0
  747. package/src/modules/eudr/backend/eudr/plots/create/page.tsx +8 -2
  748. package/src/modules/eudr/backend/eudr/plots/page.meta.ts +4 -1
  749. package/src/modules/eudr/backend/eudr/plots/page.tsx +0 -4
  750. package/src/modules/eudr/backend/eudr/product-mappings/[id]/page.meta.ts +2 -0
  751. package/src/modules/eudr/backend/eudr/product-mappings/create/page.meta.ts +1 -0
  752. package/src/modules/eudr/backend/eudr/product-mappings/page.meta.ts +4 -1
  753. package/src/modules/eudr/backend/eudr/product-mappings/page.tsx +0 -4
  754. package/src/modules/eudr/backend/eudr/risk-assessments/[id]/page.meta.ts +2 -0
  755. package/src/modules/eudr/backend/eudr/risk-assessments/create/page.meta.ts +1 -0
  756. package/src/modules/eudr/backend/eudr/risk-assessments/page.meta.ts +4 -1
  757. package/src/modules/eudr/backend/eudr/risk-assessments/page.tsx +0 -4
  758. package/src/modules/eudr/backend/eudr/statements/[id]/page.meta.ts +2 -0
  759. package/src/modules/eudr/backend/eudr/statements/[id]/page.tsx +2 -0
  760. package/src/modules/eudr/backend/eudr/statements/create/page.meta.ts +1 -0
  761. package/src/modules/eudr/backend/eudr/statements/page.meta.ts +4 -1
  762. package/src/modules/eudr/backend/eudr/statements/page.tsx +32 -30
  763. package/src/modules/eudr/commands/statements.ts +7 -2
  764. package/src/modules/eudr/components/crudErrorI18n.ts +31 -0
  765. package/src/modules/eudr/components/formConfig.tsx +9 -1
  766. package/src/modules/eudr/data/validators.ts +1 -16
  767. package/src/modules/eudr/i18n/de.json +3 -2
  768. package/src/modules/eudr/i18n/en.json +3 -2
  769. package/src/modules/eudr/i18n/es.json +3 -2
  770. package/src/modules/eudr/i18n/ko.json +3 -2
  771. package/src/modules/eudr/i18n/pl.json +3 -2
  772. package/src/modules/eudr/lib/statement-lifecycle.ts +8 -0
  773. package/src/modules/feature_toggles/components/FeatureTogglesTable.tsx +1 -2
  774. package/src/modules/feature_toggles/components/OverridesTable.tsx +1 -2
  775. package/src/modules/feature_toggles/defaults.json +8 -0
  776. package/src/modules/inbox_ops/backend/inbox-ops/log/page.tsx +0 -4
  777. package/src/modules/inbox_ops/backend/inbox-ops/page.tsx +0 -4
  778. package/src/modules/inbox_ops/lib/htmlToPlainText.ts +17 -1
  779. package/src/modules/integrations/api/[id]/credentials/route.ts +4 -6
  780. package/src/modules/integrations/backend/integrations/[id]/page.tsx +31 -61
  781. package/src/modules/integrations/backend/integrations/bundle/[id]/page.tsx +9 -44
  782. package/src/modules/integrations/data/validators.ts +2 -12
  783. package/src/modules/integrations/i18n/de.json +0 -1
  784. package/src/modules/integrations/i18n/en.json +0 -1
  785. package/src/modules/integrations/i18n/es.json +0 -1
  786. package/src/modules/integrations/i18n/ko.json +0 -1
  787. package/src/modules/integrations/i18n/pl.json +0 -1
  788. package/src/modules/integrations/lib/credentials-masking.ts +6 -10
  789. package/src/modules/messages/api/[id]/route.ts +1 -55
  790. package/src/modules/messages/api/openapi.ts +0 -20
  791. package/src/modules/messages/api/route.ts +2 -31
  792. package/src/modules/messages/components/MessagesInboxPageClient.tsx +16 -9
  793. package/src/modules/messages/components/inboxFilters.ts +0 -36
  794. package/src/modules/messages/components/message-detail/hooks/useMessageDetailsConversation.ts +1 -14
  795. package/src/modules/messages/components/message-detail/panels/MessageHeader.tsx +1 -3
  796. package/src/modules/messages/components/message-detail/panels/thread-panel.tsx +1 -2
  797. package/src/modules/messages/components/message-detail/types.ts +0 -3
  798. package/src/modules/messages/components/messageListLabels.ts +3 -52
  799. package/src/modules/messages/data/validators.ts +4 -43
  800. package/src/modules/payment_gateways/api/webhook/[provider]/route.ts +6 -4
  801. package/src/modules/payment_gateways/backend/payment-gateways/page.tsx +1 -4
  802. package/src/modules/payment_gateways/lib/webhook-processor.ts +0 -11
  803. package/src/modules/planner/backend/planner/availability-rulesets/page.tsx +0 -4
  804. package/src/modules/push_notifications/backend/push_notifications/page.tsx +1 -4
  805. package/src/modules/push_notifications/backend/push_notifications/send/page.tsx +4 -4
  806. package/src/modules/query_index/lib/engine.ts +61 -249
  807. package/src/modules/query_index/lib/search-tokens.ts +3 -135
  808. package/src/modules/resources/backend/resources/resource-types/page.tsx +1 -4
  809. package/src/modules/resources/backend/resources/resources/page.tsx +1 -4
  810. package/src/modules/sales/backend/sales/channels/offers/page.tsx +0 -4
  811. package/src/modules/sales/backend/sales/channels/page.tsx +0 -4
  812. package/src/modules/sales/backend/sales/documents/[id]/page.tsx +8 -14
  813. package/src/modules/sales/commands/documents.ts +0 -93
  814. package/src/modules/sales/components/PriceWithCurrency.tsx +5 -17
  815. package/src/modules/sales/components/channels/SalesChannelOffersPanel.tsx +0 -4
  816. package/src/modules/sales/components/documents/AdjustmentsSection.tsx +5 -6
  817. package/src/modules/sales/components/documents/ItemsSection.tsx +18 -56
  818. package/src/modules/sales/components/documents/LineItemDialog.tsx +21 -138
  819. package/src/modules/sales/components/documents/PaymentsSection.tsx +9 -20
  820. package/src/modules/sales/components/documents/ReturnsSection.tsx +5 -6
  821. package/src/modules/sales/components/documents/SalesDocumentsTable.tsx +14 -106
  822. package/src/modules/sales/components/documents/SalesOrderDraftLines.tsx +5 -6
  823. package/src/modules/sales/components/documents/ShipmentDialog.tsx +4 -5
  824. package/src/modules/sales/components/documents/ShipmentsSection.tsx +5 -6
  825. package/src/modules/sales/components/documents/lineItemUtils.ts +2 -7
  826. package/src/modules/sales/data/entities.ts +0 -6
  827. package/src/modules/sales/extension-points.ts +0 -1
  828. package/src/modules/sales/i18n/de.json +37 -8
  829. package/src/modules/sales/i18n/en.json +37 -8
  830. package/src/modules/sales/i18n/es.json +37 -8
  831. package/src/modules/sales/i18n/ko.json +37 -8
  832. package/src/modules/sales/i18n/pl.json +37 -8
  833. package/src/modules/sales/migrations/.snapshot-open-mercato.json +0 -60
  834. package/src/modules/sales/setup.ts +0 -2
  835. package/src/modules/sales/widgets/injection/document-history/widget.client.tsx +42 -2
  836. package/src/modules/sales/widgets/injection/payment-gateway-status-column/widget.ts +1 -9
  837. package/src/modules/sales/widgets/injection-table.ts +7 -4
  838. package/src/modules/staff/backend/staff/leave-requests/page.tsx +0 -4
  839. package/src/modules/staff/backend/staff/my-leave-requests/page.tsx +0 -4
  840. package/src/modules/staff/backend/staff/team-members/page.tsx +0 -6
  841. package/src/modules/staff/backend/staff/team-roles/page.tsx +0 -4
  842. package/src/modules/staff/backend/staff/teams/[id]/edit/page.tsx +0 -4
  843. package/src/modules/staff/backend/staff/teams/page.tsx +0 -4
  844. package/src/modules/staff/backend/staff/timesheets/page.tsx +1 -12
  845. package/src/modules/staff/backend/staff/timesheets/projects/page.tsx +0 -4
  846. package/src/modules/sync_excel/lib/adapters/customers.ts +0 -5
  847. package/src/modules/warranty_claims/api/assignees/route.ts +3 -3
  848. package/src/modules/warranty_claims/api/portal/attachments/route.ts +2 -2
  849. package/src/modules/warranty_claims/api/portal/claims/route.ts +9 -12
  850. package/src/modules/warranty_claims/backend/page.tsx +0 -4
  851. package/src/modules/warranty_claims/backend/warranty_claims/registrations/page.tsx +0 -4
  852. package/src/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.tsx +0 -4
  853. package/src/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.tsx +0 -4
  854. package/src/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.tsx +0 -4
  855. package/src/modules/wms/api/warehouses/route.ts +9 -13
  856. package/src/modules/wms/api/zones/route.ts +0 -16
  857. package/src/modules/wms/commands/configuration.ts +10 -159
  858. package/src/modules/wms/commands/inventory-actions.ts +0 -3
  859. package/src/modules/wms/commands/shared.ts +0 -17
  860. package/src/modules/wms/components/backend/WmsConfigurationPage.tsx +141 -95
  861. package/src/modules/wms/components/backend/WmsInventoryConsolePage.tsx +0 -2
  862. package/src/modules/wms/components/backend/WmsLocationDetailPage.tsx +30 -26
  863. package/src/modules/wms/components/backend/WmsLotDetailPage.tsx +21 -17
  864. package/src/modules/wms/components/backend/WmsLotsListPage.tsx +0 -2
  865. package/src/modules/wms/components/backend/WmsOperationalDashboardPage.tsx +17 -13
  866. package/src/modules/wms/components/backend/WmsSkuDetailPage.tsx +16 -12
  867. package/src/modules/wms/components/backend/inventoryMutationLoaders.ts +20 -36
  868. package/src/modules/wms/i18n/de.json +0 -2
  869. package/src/modules/wms/i18n/en.json +0 -2
  870. package/src/modules/wms/i18n/es.json +0 -2
  871. package/src/modules/wms/i18n/ko.json +0 -2
  872. package/src/modules/wms/i18n/pl.json +0 -2
  873. package/src/modules/workflows/backend/definitions/page.tsx +1 -4
  874. package/src/modules/workflows/backend/events/page.tsx +1 -4
  875. package/src/modules/workflows/backend/instances/page.tsx +1 -4
  876. package/src/modules/workflows/backend/tasks/page.tsx +1 -4
  877. package/src/modules/workflows/lib/activity-executor.ts +0 -9
  878. package/dist/modules/api_keys/di.js +0 -9
  879. package/dist/modules/api_keys/di.js.map +0 -7
  880. package/dist/modules/api_keys/services/principalService.js +0 -31
  881. package/dist/modules/api_keys/services/principalService.js.map +0 -7
  882. package/dist/modules/attachments/lib/attachment-service.js +0 -313
  883. package/dist/modules/attachments/lib/attachment-service.js.map +0 -7
  884. package/dist/modules/auth/api/reset/validate.js +0 -55
  885. package/dist/modules/auth/api/reset/validate.js.map +0 -7
  886. package/dist/modules/auth/commands/acl.js +0 -254
  887. package/dist/modules/auth/commands/acl.js.map +0 -7
  888. package/dist/modules/auth/lib/userIdFilter.js +0 -16
  889. package/dist/modules/auth/lib/userIdFilter.js.map +0 -7
  890. package/dist/modules/auth/services/principalService.js +0 -200
  891. package/dist/modules/auth/services/principalService.js.map +0 -7
  892. package/dist/modules/auth/services/roleOrganizationScope.js +0 -41
  893. package/dist/modules/auth/services/roleOrganizationScope.js.map +0 -7
  894. package/dist/modules/communication_channels/lib/outbound-recipient.js +0 -33
  895. package/dist/modules/communication_channels/lib/outbound-recipient.js.map +0 -7
  896. package/dist/modules/communication_channels/lib/resolve-channel-type.js +0 -51
  897. package/dist/modules/communication_channels/lib/resolve-channel-type.js.map +0 -7
  898. package/dist/modules/customers/backend/customers/deals/pipeline/components/toneClasses.js +0 -18
  899. package/dist/modules/customers/backend/customers/deals/pipeline/components/toneClasses.js.map +0 -7
  900. package/dist/modules/customers/lib/calendar/participantIdentity.js +0 -9
  901. package/dist/modules/customers/lib/calendar/participantIdentity.js.map +0 -7
  902. package/dist/modules/customers/lib/closureStage.js +0 -45
  903. package/dist/modules/customers/lib/closureStage.js.map +0 -7
  904. package/dist/modules/customers/lib/detailReadAccess.js +0 -12
  905. package/dist/modules/customers/lib/detailReadAccess.js.map +0 -7
  906. package/dist/modules/data_sync/lib/abandoned-run.js +0 -19
  907. package/dist/modules/data_sync/lib/abandoned-run.js.map +0 -7
  908. package/dist/modules/devices/api/deviceSerialization.js +0 -46
  909. package/dist/modules/devices/api/deviceSerialization.js.map +0 -7
  910. package/dist/modules/devices/backend/devices/useDeviceUserLabels.js +0 -34
  911. package/dist/modules/devices/backend/devices/useDeviceUserLabels.js.map +0 -7
  912. package/dist/modules/devices/backend/devices/userOptions.js +0 -52
  913. package/dist/modules/devices/backend/devices/userOptions.js.map +0 -7
  914. package/dist/modules/directory/services/organizationHierarchyService.js +0 -29
  915. package/dist/modules/directory/services/organizationHierarchyService.js.map +0 -7
  916. package/dist/modules/directory/services/organizationScopeService.js +0 -56
  917. package/dist/modules/directory/services/organizationScopeService.js.map +0 -7
  918. package/dist/modules/integrations/backend/integrations/credential-secret-fields.js +0 -55
  919. package/dist/modules/integrations/backend/integrations/credential-secret-fields.js.map +0 -7
  920. package/dist/modules/messages/lib/channel-sender-identity.js +0 -26
  921. package/dist/modules/messages/lib/channel-sender-identity.js.map +0 -7
  922. package/dist/modules/messages/lib/composeSourceChannelType.js +0 -41
  923. package/dist/modules/messages/lib/composeSourceChannelType.js.map +0 -7
  924. package/dist/modules/query_index/lib/search-entity-policy.js +0 -14
  925. package/dist/modules/query_index/lib/search-entity-policy.js.map +0 -7
  926. package/dist/modules/sales/components/documents/lineItemShipmentLock.js +0 -54
  927. package/dist/modules/sales/components/documents/lineItemShipmentLock.js.map +0 -7
  928. package/dist/modules/sales/lib/salesChannelsToggleSeed.js +0 -33
  929. package/dist/modules/sales/lib/salesChannelsToggleSeed.js.map +0 -7
  930. package/dist/modules/sales/migrations/Migration20260821120000_sales_notes_addresses_context_idx.js +0 -32
  931. package/dist/modules/sales/migrations/Migration20260821120000_sales_notes_addresses_context_idx.js.map +0 -7
  932. package/dist/modules/wms/api/warehouseSearch.js +0 -21
  933. package/dist/modules/wms/api/warehouseSearch.js.map +0 -7
  934. package/dist/modules/wms/components/backend/WarehouseEditDialog.js +0 -158
  935. package/dist/modules/wms/components/backend/WarehouseEditDialog.js.map +0 -7
  936. package/dist/modules/wms/components/backend/warehouseFormOptions.js +0 -66
  937. package/dist/modules/wms/components/backend/warehouseFormOptions.js.map +0 -7
  938. package/src/modules/api_keys/di.ts +0 -7
  939. package/src/modules/api_keys/services/principalService.ts +0 -33
  940. package/src/modules/attachments/lib/attachment-service.ts +0 -468
  941. package/src/modules/auth/api/reset/validate.ts +0 -57
  942. package/src/modules/auth/commands/acl.ts +0 -495
  943. package/src/modules/auth/lib/userIdFilter.ts +0 -31
  944. package/src/modules/auth/services/principalService.ts +0 -266
  945. package/src/modules/auth/services/roleOrganizationScope.ts +0 -70
  946. package/src/modules/communication_channels/lib/outbound-recipient.ts +0 -71
  947. package/src/modules/communication_channels/lib/resolve-channel-type.ts +0 -99
  948. package/src/modules/customers/backend/customers/deals/pipeline/components/toneClasses.ts +0 -21
  949. package/src/modules/customers/lib/calendar/participantIdentity.ts +0 -17
  950. package/src/modules/customers/lib/closureStage.ts +0 -76
  951. package/src/modules/customers/lib/detailReadAccess.ts +0 -35
  952. package/src/modules/data_sync/lib/abandoned-run.ts +0 -56
  953. package/src/modules/devices/api/deviceSerialization.ts +0 -50
  954. package/src/modules/devices/backend/devices/useDeviceUserLabels.ts +0 -45
  955. package/src/modules/devices/backend/devices/userOptions.ts +0 -99
  956. package/src/modules/directory/services/organizationHierarchyService.ts +0 -34
  957. package/src/modules/directory/services/organizationScopeService.ts +0 -85
  958. package/src/modules/integrations/backend/integrations/credential-secret-fields.ts +0 -84
  959. package/src/modules/messages/lib/channel-sender-identity.ts +0 -55
  960. package/src/modules/messages/lib/composeSourceChannelType.ts +0 -95
  961. package/src/modules/query_index/lib/search-entity-policy.ts +0 -46
  962. package/src/modules/sales/components/documents/lineItemShipmentLock.ts +0 -74
  963. package/src/modules/sales/lib/salesChannelsToggleSeed.ts +0 -42
  964. package/src/modules/sales/migrations/Migration20260821120000_sales_notes_addresses_context_idx.ts +0 -87
  965. package/src/modules/wms/api/warehouseSearch.ts +0 -23
  966. package/src/modules/wms/components/backend/WarehouseEditDialog.tsx +0 -216
  967. package/src/modules/wms/components/backend/warehouseFormOptions.ts +0 -72
@@ -10,8 +10,6 @@ export const ACTIVITY_DATE_REQUIRED_MESSAGE_KEY = 'customers.activities.errors.d
10
10
  export const ACTIVITY_TIME_REQUIRED_MESSAGE_KEY = 'customers.activities.errors.timeRequired'
11
11
  export const ACTIVITY_PHONE_REQUIRED_MESSAGE_KEY = 'customers.activities.errors.phoneRequired'
12
12
  export const ACTIVITY_PHONE_INVALID_MESSAGE_KEY = 'customers.activities.errors.phoneInvalid'
13
- export const INTERACTION_PARTICIPANT_IDENTITY_REQUIRED_MESSAGE_KEY = 'customers.activities.errors.participantIdentityRequired'
14
- export const INTERACTION_PARTICIPANT_EMAIL_INVALID_MESSAGE_KEY = 'customers.activities.errors.participantEmailInvalid'
15
13
 
16
14
  // customer_deals.description is an unbounded `text` column; this cap only exists to keep
17
15
  // request bodies, fulltext search documents and query-index documents from growing without limit.
@@ -426,36 +424,12 @@ export const interactionStatusValues = ['planned', 'done', 'canceled'] as const
426
424
  /** @deprecated See {@link interactionStatusValues}. */
427
425
  export type InteractionStatus = typeof interactionStatusValues[number]
428
426
 
429
- // A participant is either a real record (`userId`) or an external guest carrying
430
- // no id at all. A guest is only addressable through its email, so that email is
431
- // required and must actually be routable — an unparseable string would persist
432
- // and only fail later, at invitation or calendar-sync time. Participants that DO
433
- // have a userId keep an unvalidated auxiliary email, as before.
434
- const interactionParticipantSchema = z
435
- .object({
436
- userId: z.string().uuid().optional(),
437
- name: z.string().trim().max(200).optional(),
438
- email: z.string().trim().max(320).optional(),
439
- status: z.string().trim().max(50).optional(),
440
- })
441
- .superRefine((participant, ctx) => {
442
- if (participant.userId) return
443
- if (!participant.email) {
444
- ctx.addIssue({
445
- code: z.ZodIssueCode.custom,
446
- path: ['email'],
447
- message: INTERACTION_PARTICIPANT_IDENTITY_REQUIRED_MESSAGE_KEY,
448
- })
449
- return
450
- }
451
- if (!z.string().email().safeParse(participant.email).success) {
452
- ctx.addIssue({
453
- code: z.ZodIssueCode.custom,
454
- path: ['email'],
455
- message: INTERACTION_PARTICIPANT_EMAIL_INVALID_MESSAGE_KEY,
456
- })
457
- }
458
- })
427
+ const interactionParticipantSchema = z.object({
428
+ userId: z.string().uuid(),
429
+ name: z.string().trim().max(200).optional(),
430
+ email: z.string().trim().max(320).optional(),
431
+ status: z.string().trim().max(50).optional(),
432
+ })
459
433
 
460
434
  const interactionLinkedEntitySchema = z.object({
461
435
  id: z.string().uuid(),
@@ -800,24 +774,9 @@ export const personCompanyLinkUpdateSchema = scopedSchema.extend({
800
774
  isPrimary: z.boolean(),
801
775
  })
802
776
 
803
- // Two shapes are accepted, because a person can belong to a company in two ways:
804
- // through a `customer_person_company_links` row (`linkId`), or through a legacy
805
- // profile-only assignment where `customer_person_profiles.company_id` is set and no
806
- // link row was ever created (migrated CRM data, #5114). Both detaches go through the
807
- // same command so audit, undo and cache invalidation stay consistent.
808
- export const personCompanyLinkDeleteSchema = scopedSchema
809
- .extend({
810
- linkId: uuid().optional(),
811
- personEntityId: uuid().optional(),
812
- companyEntityId: uuid().optional(),
813
- })
814
- .refine(
815
- (payload) => Boolean(payload.linkId) || Boolean(payload.personEntityId && payload.companyEntityId),
816
- {
817
- message: 'Provide either linkId or both personEntityId and companyEntityId.',
818
- path: ['linkId'],
819
- }
820
- )
777
+ export const personCompanyLinkDeleteSchema = scopedSchema.extend({
778
+ linkId: uuid(),
779
+ })
821
780
 
822
781
  export type PersonCompanyLinkCreateInput = z.infer<typeof personCompanyLinkCreateSchema>
823
782
  export type PersonCompanyLinkUpdateInput = z.infer<typeof personCompanyLinkUpdateSchema>
@@ -78,11 +78,6 @@ const events = [
78
78
  { id: 'customers.person_company_link.created', label: 'Person Linked To Company', entity: 'person_company_link', category: 'crud', clientBroadcast: true },
79
79
  { id: 'customers.person_company_link.updated', label: 'Person-Company Link Updated', entity: 'person_company_link', category: 'crud', clientBroadcast: true },
80
80
  { id: 'customers.person_company_link.deleted', label: 'Person Unlinked From Company', entity: 'person_company_link', category: 'crud', clientBroadcast: true },
81
- // Legacy profile-only company assignments (`customer_person_profiles.company_id` set with no
82
- // backing link row, #5114) have no link entity, so detaching one cannot honestly emit
83
- // `customers.person_company_link.deleted` — that event's payload promises a link id that never
84
- // existed. This sibling carries the same live-refresh signal for that shape instead.
85
- { id: 'customers.person.company_assignment.detached', label: 'Legacy Company Assignment Detached', entity: 'person_company_link', category: 'lifecycle', clientBroadcast: true },
86
81
 
87
82
  // ── Email integration (2026-05-27) ────────────────────────────────────────
88
83
  { id: 'customers.email.linked', label: 'Email Linked To Person', entity: 'email_link', category: 'lifecycle', clientBroadcast: true },
@@ -28,8 +28,6 @@
28
28
  "customers.activities.card.overdue": "{count} überfällig",
29
29
  "customers.activities.card.title": "Aktivitäten",
30
30
  "customers.activities.errors.dateRequired": "Datum ist erforderlich",
31
- "customers.activities.errors.participantEmailInvalid": "Geben Sie eine gültige E-Mail-Adresse für einen Gastteilnehmer ein (z. B. gast@example.org)",
32
- "customers.activities.errors.participantIdentityRequired": "Ein Teilnehmer benötigt entweder einen Benutzerdatensatz oder eine E-Mail-Adresse",
33
31
  "customers.activities.errors.phoneInvalid": "Geben Sie eine gültige Telefonnummer mit Ländervorwahl ein (z. B. +49 30 1234567)",
34
32
  "customers.activities.errors.phoneRequired": "Telefonnummer ist für Anrufaktivitäten erforderlich",
35
33
  "customers.activities.errors.timeRequired": "Uhrzeit ist erforderlich",
@@ -224,7 +222,6 @@
224
222
  "customers.calendar.day.thu": "DO",
225
223
  "customers.calendar.day.tue": "DI",
226
224
  "customers.calendar.day.wed": "MI",
227
- "customers.calendar.editor.addGuest": "{email} als Gast einladen",
228
225
  "customers.calendar.editor.addPeoplePlaceholder": "Mitarbeiter oder Kunden hinzufügen…",
229
226
  "customers.calendar.editor.addRecipientPlaceholder": "Empfänger hinzufügen…",
230
227
  "customers.calendar.editor.allDay": "Ganztägig",
@@ -250,7 +247,6 @@
250
247
  "customers.calendar.editor.description": "Beschreibung",
251
248
  "customers.calendar.editor.descriptionPlaceholder": "Details hinzufügen…",
252
249
  "customers.calendar.editor.error": "Termin konnte nicht gespeichert werden",
253
- "customers.calendar.editor.guestBadge": "Gast",
254
250
  "customers.calendar.editor.location": "Ort",
255
251
  "customers.calendar.editor.locationPlaceholder": "Ort oder Link hinzufügen…",
256
252
  "customers.calendar.editor.multiDayHint": "Mehrtägiger Termin · {count} Tage",
@@ -358,7 +354,7 @@
358
354
  "customers.calendar.settings.activityTypesHint": "Die Aktivitätstypen, die Ihr Kalender beim Erstellen eines Ereignisses anbietet. Aus dem Workspace-Wörterbuch übernommen.",
359
355
  "customers.calendar.settings.addCategory": "Kategorie hinzufügen…",
360
356
  "customers.calendar.settings.addType": "Typ hinzufügen…",
361
- "customers.calendar.settings.aiSummaries": "KI-Zusammenfassungen",
357
+ "customers.calendar.settings.aiSummaries": "KI-Zusammenfassungen & Schnellaktionen",
362
358
  "customers.calendar.settings.cancel": "Abbrechen",
363
359
  "customers.calendar.settings.close": "Schließen",
364
360
  "customers.calendar.settings.conflictScope": "Konfliktbereich",
@@ -1323,9 +1319,6 @@
1323
1319
  "customers.deals.kanban.filter.searchPlaceholder": "Search…",
1324
1320
  "customers.deals.kanban.filter.selected": "selected",
1325
1321
  "customers.deals.kanban.filter.status": "Status",
1326
- "customers.deals.kanban.filter.status.closed": "Geschlossen",
1327
- "customers.deals.kanban.filter.status.inProgress": "In Bearbeitung",
1328
- "customers.deals.kanban.filter.status.loading": "Status werden geladen…",
1329
1322
  "customers.deals.kanban.filter.status.lost": "Lost",
1330
1323
  "customers.deals.kanban.filter.status.open": "Open",
1331
1324
  "customers.deals.kanban.filter.status.title": "Filter · Status",
@@ -2416,7 +2409,6 @@
2416
2409
  "customers.personTags.newLabel": "New label",
2417
2410
  "customers.personTags.newLabelPlaceholder": "Label name...",
2418
2411
  "customers.personTags.newTag": "Neuer Tag",
2419
- "customers.personTags.retry": "Erneut versuchen",
2420
2412
  "customers.personTags.save": "Save",
2421
2413
  "customers.personTags.saveError": "Failed to save tags",
2422
2414
  "customers.personTags.saveSuccess": "Tags updated.",
@@ -28,8 +28,6 @@
28
28
  "customers.activities.card.overdue": "{count} overdue",
29
29
  "customers.activities.card.title": "Activities",
30
30
  "customers.activities.errors.dateRequired": "Date is required",
31
- "customers.activities.errors.participantEmailInvalid": "Enter a valid email address for a guest participant (e.g. guest@example.org)",
32
- "customers.activities.errors.participantIdentityRequired": "A participant needs either a user record or an email address",
33
31
  "customers.activities.errors.phoneInvalid": "Enter a valid phone number with country code (e.g. +1 212 555 1234)",
34
32
  "customers.activities.errors.phoneRequired": "Phone number is required for Call activities",
35
33
  "customers.activities.errors.timeRequired": "Time is required",
@@ -224,7 +222,6 @@
224
222
  "customers.calendar.day.thu": "THU",
225
223
  "customers.calendar.day.tue": "TUE",
226
224
  "customers.calendar.day.wed": "WED",
227
- "customers.calendar.editor.addGuest": "Invite {email} as a guest",
228
225
  "customers.calendar.editor.addPeoplePlaceholder": "Add staff or customer…",
229
226
  "customers.calendar.editor.addRecipientPlaceholder": "Add recipient…",
230
227
  "customers.calendar.editor.allDay": "All day",
@@ -250,7 +247,6 @@
250
247
  "customers.calendar.editor.description": "Description",
251
248
  "customers.calendar.editor.descriptionPlaceholder": "Add details…",
252
249
  "customers.calendar.editor.error": "Failed to save event",
253
- "customers.calendar.editor.guestBadge": "Guest",
254
250
  "customers.calendar.editor.location": "Location",
255
251
  "customers.calendar.editor.locationPlaceholder": "Add a location or link…",
256
252
  "customers.calendar.editor.multiDayHint": "Multi-day event · {count} days",
@@ -358,7 +354,7 @@
358
354
  "customers.calendar.settings.activityTypesHint": "The activity types your calendar surfaces when creating an event. Seeded from your workspace dictionary.",
359
355
  "customers.calendar.settings.addCategory": "Add a category…",
360
356
  "customers.calendar.settings.addType": "Add a type…",
361
- "customers.calendar.settings.aiSummaries": "AI summaries",
357
+ "customers.calendar.settings.aiSummaries": "AI summaries & quick actions",
362
358
  "customers.calendar.settings.cancel": "Cancel",
363
359
  "customers.calendar.settings.close": "Close",
364
360
  "customers.calendar.settings.conflictScope": "Conflict scope",
@@ -1323,9 +1319,6 @@
1323
1319
  "customers.deals.kanban.filter.searchPlaceholder": "Search…",
1324
1320
  "customers.deals.kanban.filter.selected": "selected",
1325
1321
  "customers.deals.kanban.filter.status": "Status",
1326
- "customers.deals.kanban.filter.status.closed": "Closed",
1327
- "customers.deals.kanban.filter.status.inProgress": "In progress",
1328
- "customers.deals.kanban.filter.status.loading": "Loading statuses…",
1329
1322
  "customers.deals.kanban.filter.status.lost": "Lost",
1330
1323
  "customers.deals.kanban.filter.status.open": "Open",
1331
1324
  "customers.deals.kanban.filter.status.title": "Filter · Status",
@@ -2416,7 +2409,6 @@
2416
2409
  "customers.personTags.newLabel": "New label",
2417
2410
  "customers.personTags.newLabelPlaceholder": "Label name...",
2418
2411
  "customers.personTags.newTag": "New tag",
2419
- "customers.personTags.retry": "Retry",
2420
2412
  "customers.personTags.save": "Save",
2421
2413
  "customers.personTags.saveError": "Failed to save tags",
2422
2414
  "customers.personTags.saveSuccess": "Tags updated.",
@@ -28,8 +28,6 @@
28
28
  "customers.activities.card.overdue": "{count} vencidas",
29
29
  "customers.activities.card.title": "Actividades",
30
30
  "customers.activities.errors.dateRequired": "La fecha es obligatoria",
31
- "customers.activities.errors.participantEmailInvalid": "Introduce una dirección de correo electrónico válida para un invitado (p. ej., invitado@example.org)",
32
- "customers.activities.errors.participantIdentityRequired": "Un participante necesita un registro de usuario o una dirección de correo electrónico",
33
31
  "customers.activities.errors.phoneInvalid": "Introduce un número de teléfono válido con prefijo internacional (p. ej., +34 912 345 678)",
34
32
  "customers.activities.errors.phoneRequired": "El número de teléfono es obligatorio para actividades de llamada",
35
33
  "customers.activities.errors.timeRequired": "La hora es obligatoria",
@@ -224,7 +222,6 @@
224
222
  "customers.calendar.day.thu": "JUE",
225
223
  "customers.calendar.day.tue": "MAR",
226
224
  "customers.calendar.day.wed": "MIÉ",
227
- "customers.calendar.editor.addGuest": "Invitar a {email} como invitado",
228
225
  "customers.calendar.editor.addPeoplePlaceholder": "Añadir personal o cliente…",
229
226
  "customers.calendar.editor.addRecipientPlaceholder": "Añadir destinatario…",
230
227
  "customers.calendar.editor.allDay": "Todo el día",
@@ -250,7 +247,6 @@
250
247
  "customers.calendar.editor.description": "Descripción",
251
248
  "customers.calendar.editor.descriptionPlaceholder": "Añadir detalles…",
252
249
  "customers.calendar.editor.error": "No se pudo guardar el evento",
253
- "customers.calendar.editor.guestBadge": "Invitado",
254
250
  "customers.calendar.editor.location": "Ubicación",
255
251
  "customers.calendar.editor.locationPlaceholder": "Añadir una ubicación o enlace…",
256
252
  "customers.calendar.editor.multiDayHint": "Evento de varios días · {count} días",
@@ -358,7 +354,7 @@
358
354
  "customers.calendar.settings.activityTypesHint": "Los tipos de actividad que muestra tu calendario al crear un evento. Tomados del diccionario del espacio de trabajo.",
359
355
  "customers.calendar.settings.addCategory": "Añadir una categoría…",
360
356
  "customers.calendar.settings.addType": "Añadir un tipo…",
361
- "customers.calendar.settings.aiSummaries": "Resúmenes de IA",
357
+ "customers.calendar.settings.aiSummaries": "Resúmenes de IA y acciones rápidas",
362
358
  "customers.calendar.settings.cancel": "Cancelar",
363
359
  "customers.calendar.settings.close": "Cerrar",
364
360
  "customers.calendar.settings.conflictScope": "Ámbito de conflictos",
@@ -1323,9 +1319,6 @@
1323
1319
  "customers.deals.kanban.filter.searchPlaceholder": "Search…",
1324
1320
  "customers.deals.kanban.filter.selected": "selected",
1325
1321
  "customers.deals.kanban.filter.status": "Status",
1326
- "customers.deals.kanban.filter.status.closed": "Cerrado",
1327
- "customers.deals.kanban.filter.status.inProgress": "En curso",
1328
- "customers.deals.kanban.filter.status.loading": "Cargando estados…",
1329
1322
  "customers.deals.kanban.filter.status.lost": "Lost",
1330
1323
  "customers.deals.kanban.filter.status.open": "Open",
1331
1324
  "customers.deals.kanban.filter.status.title": "Filter · Status",
@@ -2416,7 +2409,6 @@
2416
2409
  "customers.personTags.newLabel": "New label",
2417
2410
  "customers.personTags.newLabelPlaceholder": "Label name...",
2418
2411
  "customers.personTags.newTag": "Nueva etiqueta",
2419
- "customers.personTags.retry": "Reintentar",
2420
2412
  "customers.personTags.save": "Save",
2421
2413
  "customers.personTags.saveError": "Failed to save tags",
2422
2414
  "customers.personTags.saveSuccess": "Tags updated.",
@@ -28,8 +28,6 @@
28
28
  "customers.activities.card.overdue": "{count}건 기한 초과",
29
29
  "customers.activities.card.title": "활동",
30
30
  "customers.activities.errors.dateRequired": "날짜는 필수입니다",
31
- "customers.activities.errors.participantEmailInvalid": "게스트 참가자의 유효한 이메일 주소를 입력하세요(예: guest@example.org)",
32
- "customers.activities.errors.participantIdentityRequired": "참가자에게는 사용자 레코드 또는 이메일 주소가 필요합니다",
33
31
  "customers.activities.errors.phoneInvalid": "국가 코드를 포함한 유효한 전화번호를 입력하세요(예: +1 212 555 1234)",
34
32
  "customers.activities.errors.phoneRequired": "통화 활동에는 전화번호가 필요합니다",
35
33
  "customers.activities.errors.timeRequired": "시간은 필수입니다",
@@ -224,7 +222,6 @@
224
222
  "customers.calendar.day.thu": "목",
225
223
  "customers.calendar.day.tue": "화",
226
224
  "customers.calendar.day.wed": "수",
227
- "customers.calendar.editor.addGuest": "{email}을(를) 게스트로 초대",
228
225
  "customers.calendar.editor.addPeoplePlaceholder": "직원 또는 고객 추가…",
229
226
  "customers.calendar.editor.addRecipientPlaceholder": "받는 사람 추가…",
230
227
  "customers.calendar.editor.allDay": "종일",
@@ -250,7 +247,6 @@
250
247
  "customers.calendar.editor.description": "설명",
251
248
  "customers.calendar.editor.descriptionPlaceholder": "세부 정보 추가…",
252
249
  "customers.calendar.editor.error": "이벤트를 저장하지 못했습니다",
253
- "customers.calendar.editor.guestBadge": "게스트",
254
250
  "customers.calendar.editor.location": "장소",
255
251
  "customers.calendar.editor.locationPlaceholder": "장소 또는 링크 추가…",
256
252
  "customers.calendar.editor.multiDayHint": "여러 날 이벤트 · {count}일",
@@ -358,7 +354,7 @@
358
354
  "customers.calendar.settings.activityTypesHint": "이벤트를 생성할 때 캘린더에 표시되는 활동 유형입니다. 워크스페이스 사전에서 초기화됩니다.",
359
355
  "customers.calendar.settings.addCategory": "카테고리 추가…",
360
356
  "customers.calendar.settings.addType": "유형 추가…",
361
- "customers.calendar.settings.aiSummaries": "AI 요약",
357
+ "customers.calendar.settings.aiSummaries": "AI 요약 및 빠른 작업",
362
358
  "customers.calendar.settings.cancel": "취소",
363
359
  "customers.calendar.settings.close": "닫기",
364
360
  "customers.calendar.settings.conflictScope": "충돌 범위",
@@ -1323,9 +1319,6 @@
1323
1319
  "customers.deals.kanban.filter.searchPlaceholder": "검색…",
1324
1320
  "customers.deals.kanban.filter.selected": "선택됨",
1325
1321
  "customers.deals.kanban.filter.status": "상태",
1326
- "customers.deals.kanban.filter.status.closed": "마감",
1327
- "customers.deals.kanban.filter.status.inProgress": "진행 중",
1328
- "customers.deals.kanban.filter.status.loading": "상태 로드 중…",
1329
1322
  "customers.deals.kanban.filter.status.lost": "실패",
1330
1323
  "customers.deals.kanban.filter.status.open": "열림",
1331
1324
  "customers.deals.kanban.filter.status.title": "필터 · 상태",
@@ -2416,7 +2409,6 @@
2416
2409
  "customers.personTags.newLabel": "새 라벨",
2417
2410
  "customers.personTags.newLabelPlaceholder": "라벨 이름...",
2418
2411
  "customers.personTags.newTag": "새 태그",
2419
- "customers.personTags.retry": "다시 시도",
2420
2412
  "customers.personTags.save": "저장",
2421
2413
  "customers.personTags.saveError": "태그 저장에 실패했습니다",
2422
2414
  "customers.personTags.saveSuccess": "태그가 업데이트되었습니다.",
@@ -28,8 +28,6 @@
28
28
  "customers.activities.card.overdue": "{count} zaległych",
29
29
  "customers.activities.card.title": "Aktywności",
30
30
  "customers.activities.errors.dateRequired": "Data jest wymagana",
31
- "customers.activities.errors.participantEmailInvalid": "Wprowadź prawidłowy adres e-mail uczestnika zewnętrznego (np. gosc@example.org)",
32
- "customers.activities.errors.participantIdentityRequired": "Uczestnik wymaga rekordu użytkownika lub adresu e-mail",
33
31
  "customers.activities.errors.phoneInvalid": "Wprowadź prawidłowy numer telefonu z numerem kierunkowym kraju (np. +48 123 456 789)",
34
32
  "customers.activities.errors.phoneRequired": "Numer telefonu jest wymagany dla aktywności typu Połączenie",
35
33
  "customers.activities.errors.timeRequired": "Godzina jest wymagana",
@@ -224,7 +222,6 @@
224
222
  "customers.calendar.day.thu": "CZ",
225
223
  "customers.calendar.day.tue": "WT",
226
224
  "customers.calendar.day.wed": "ŚR",
227
- "customers.calendar.editor.addGuest": "Zaproś {email} jako gościa",
228
225
  "customers.calendar.editor.addPeoplePlaceholder": "Dodaj pracownika lub klienta…",
229
226
  "customers.calendar.editor.addRecipientPlaceholder": "Dodaj odbiorcę…",
230
227
  "customers.calendar.editor.allDay": "Cały dzień",
@@ -250,7 +247,6 @@
250
247
  "customers.calendar.editor.description": "Opis",
251
248
  "customers.calendar.editor.descriptionPlaceholder": "Dodaj szczegóły…",
252
249
  "customers.calendar.editor.error": "Nie udało się zapisać wydarzenia",
253
- "customers.calendar.editor.guestBadge": "Gość",
254
250
  "customers.calendar.editor.location": "Lokalizacja",
255
251
  "customers.calendar.editor.locationPlaceholder": "Dodaj lokalizację lub link…",
256
252
  "customers.calendar.editor.multiDayHint": "Wydarzenie wielodniowe · {count} dni",
@@ -358,7 +354,7 @@
358
354
  "customers.calendar.settings.activityTypesHint": "Typy aktywności udostępniane przez kalendarz podczas tworzenia wydarzenia. Pobrane ze słownika obszaru roboczego.",
359
355
  "customers.calendar.settings.addCategory": "Dodaj kategorię…",
360
356
  "customers.calendar.settings.addType": "Dodaj typ…",
361
- "customers.calendar.settings.aiSummaries": "Podsumowania AI",
357
+ "customers.calendar.settings.aiSummaries": "Podsumowania AI i szybkie akcje",
362
358
  "customers.calendar.settings.cancel": "Anuluj",
363
359
  "customers.calendar.settings.close": "Zamknij",
364
360
  "customers.calendar.settings.conflictScope": "Zakres konfliktów",
@@ -1323,9 +1319,6 @@
1323
1319
  "customers.deals.kanban.filter.searchPlaceholder": "Szukaj…",
1324
1320
  "customers.deals.kanban.filter.selected": "zaznaczono",
1325
1321
  "customers.deals.kanban.filter.status": "Status",
1326
- "customers.deals.kanban.filter.status.closed": "Zamknięta",
1327
- "customers.deals.kanban.filter.status.inProgress": "W toku",
1328
- "customers.deals.kanban.filter.status.loading": "Ładowanie statusów…",
1329
1322
  "customers.deals.kanban.filter.status.lost": "Przegrana",
1330
1323
  "customers.deals.kanban.filter.status.open": "Otwarta",
1331
1324
  "customers.deals.kanban.filter.status.title": "Filtr · Status",
@@ -2416,7 +2409,6 @@
2416
2409
  "customers.personTags.newLabel": "Nowa etykieta",
2417
2410
  "customers.personTags.newLabelPlaceholder": "Nazwa etykiety...",
2418
2411
  "customers.personTags.newTag": "Nowy tag",
2419
- "customers.personTags.retry": "Ponów próbę",
2420
2412
  "customers.personTags.save": "Zapisz",
2421
2413
  "customers.personTags.saveError": "Nie udało się zapisać tagów",
2422
2414
  "customers.personTags.saveSuccess": "Tagi zostały zaktualizowane.",
@@ -1,5 +1,4 @@
1
1
  import type { CalendarItem, CalendarItemStatus, CalendarParticipant } from '../../components/calendar/types'
2
- import { participantActorKey } from './participantIdentity'
3
2
  import type { ConflictScope } from './preferences'
4
3
 
5
4
  export const EDITOR_DRAFT_CONFLICT_ID = '__draft__'
@@ -15,15 +14,8 @@ export type FindConflictsOptions = {
15
14
  function sharesActor(first: CalendarItem, second: CalendarItem): boolean {
16
15
  if (first.ownerUserId && second.ownerUserId && first.ownerUserId === second.ownerUserId) return true
17
16
  if (first.participants.length === 0 || second.participants.length === 0) return false
18
- const firstActorKeys = new Set(
19
- first.participants
20
- .map(participantActorKey)
21
- .filter((actorKey): actorKey is string => actorKey !== null),
22
- )
23
- return second.participants.some((participant) => {
24
- const actorKey = participantActorKey(participant)
25
- return actorKey !== null && firstActorKeys.has(actorKey)
26
- })
17
+ const firstParticipantIds = new Set(first.participants.map((participant) => participant.userId))
18
+ return second.participants.some((participant) => firstParticipantIds.has(participant.userId))
27
19
  }
28
20
 
29
21
  function isActor(item: CalendarItem, userId: string): boolean {
@@ -112,7 +112,7 @@ export type EditorRelatedTo = {
112
112
  }
113
113
 
114
114
  export type EditorParticipant = {
115
- userId?: string
115
+ userId: string
116
116
  name: string
117
117
  email?: string
118
118
  isCustomer: boolean
@@ -405,14 +405,13 @@ function parseParticipants(item: CalendarItem): EditorParticipant[] {
405
405
  const rawParticipants = Array.isArray(item.raw.participants) ? item.raw.participants : []
406
406
  const statusByUserId = new Map<string, string | null>()
407
407
  for (const raw of rawParticipants) {
408
- if (!raw.userId) continue
409
408
  statusByUserId.set(raw.userId, readUnknownString((raw as Record<string, unknown>).status))
410
409
  }
411
410
  return item.participants.map((participant) => ({
412
411
  userId: participant.userId,
413
- name: participant.name ?? participant.email ?? participant.userId ?? '',
412
+ name: participant.name ?? participant.email ?? participant.userId,
414
413
  email: participant.email,
415
- isCustomer: participant.userId ? statusByUserId.get(participant.userId) === 'customer' : false,
414
+ isCustomer: statusByUserId.get(participant.userId) === 'customer',
416
415
  }))
417
416
  }
418
417
 
@@ -10,7 +10,6 @@ import type {
10
10
  CalendarPlatform,
11
11
  } from '../../components/calendar/types'
12
12
  import { categoryOf } from './categories'
13
- import { participantActorKey } from './participantIdentity'
14
13
 
15
14
  const DEFAULT_DURATION_MINUTES = 30
16
15
 
@@ -44,13 +43,9 @@ function mapParticipants(payload: CalendarInteractionPayload): CalendarParticipa
44
43
  const seen = new Set<string>()
45
44
  const mapped: CalendarParticipant[] = []
46
45
  for (const participant of participants) {
47
- const dedupeKey = participantActorKey(participant)
48
- if (dedupeKey) {
49
- if (seen.has(dedupeKey)) continue
50
- seen.add(dedupeKey)
51
- }
52
- const entry: CalendarParticipant = {}
53
- if (typeof participant.userId === 'string') entry.userId = participant.userId
46
+ if (seen.has(participant.userId)) continue
47
+ seen.add(participant.userId)
48
+ const entry: CalendarParticipant = { userId: participant.userId }
54
49
  if (typeof participant.name === 'string') entry.name = participant.name
55
50
  if (typeof participant.email === 'string') entry.email = participant.email
56
51
  mapped.push(entry)
@@ -46,45 +46,3 @@ export function isClosedDealStatus(value: string | null | undefined): boolean {
46
46
  export function isOpenDealStatus(value: string | null | undefined): boolean {
47
47
  return !isClosedDealStatus(value)
48
48
  }
49
-
50
- export function canonicalDealStatus(value: string): string {
51
- const lower = value.toLowerCase()
52
- if (lower === 'won') return DEAL_STATUS_WIN
53
- if (lower === 'lost') return DEAL_STATUS_LOSE
54
- // Canonical spellings normalize to lower-case too, so an upper-case selection still
55
- // matches the lower-case persisted values and dictionary options.
56
- if (lower === 'win' || lower === 'loose' || lower === 'open' || lower === 'closed') return lower
57
- return value
58
- }
59
-
60
- /**
61
- * Expand operator-selected status filter values into the canonical vocabulary so a
62
- * single selection matches every spelling the supported writers persist (#5107).
63
- *
64
- * Alias groups (`win`/`won`, `loose`/`lost`, `closed`) are matched case-insensitively,
65
- * expanded to their canonical spellings, and also keep the caller's original token so
66
- * the result is always a strict superset of a verbatim match. Unknown values emit both
67
- * the trimmed original and its lower-case form — mixed-case tenant dictionary statuses
68
- * match exactly while `?status=Open` still hits lower-case stored rows.
69
- */
70
- export function expandDealStatusAliases(values: string[]): string[] {
71
- const out = new Set<string>()
72
- for (const value of values) {
73
- const trimmed = value.trim()
74
- const lower = trimmed.toLowerCase()
75
- if (lower === 'win' || lower === 'won') {
76
- WON_DEAL_STATUS_LIST.forEach((entry) => out.add(entry))
77
- out.add(trimmed)
78
- } else if (lower === 'loose' || lower === 'lost') {
79
- LOST_DEAL_STATUS_LIST.forEach((entry) => out.add(entry))
80
- out.add(trimmed)
81
- } else if (lower === 'closed') {
82
- CLOSED_DEAL_STATUS_LIST.forEach((entry) => out.add(entry))
83
- out.add(trimmed)
84
- } else {
85
- out.add(trimmed)
86
- out.add(lower)
87
- }
88
- }
89
- return Array.from(out)
90
- }
@@ -32,15 +32,13 @@ export interface MatchedPerson {
32
32
  }
33
33
 
34
34
  /**
35
- * Max rows scanned by in-memory fallback matches over encrypted contact
36
- * columns (`primary_email` here, `primary_phone` in the check-phone route).
37
- * These columns are GDPR-encrypted with a random IV (see
38
- * `customers/encryption.ts`), so they cannot be filtered by value in SQL when
39
- * tenant data encryption is on fallbacks decrypt recent rows and compare in
40
- * memory instead. Bounded to keep interactive lookups cheap; a blind-index
41
- * (hash) column per field is the follow-up if tenants outgrow it (#5515).
35
+ * Max person rows scanned by the in-memory fallback match. `primary_email` is
36
+ * GDPR-encrypted with a random IV (see `customers/encryption.ts`), so it cannot
37
+ * be filtered by value in SQL when tenant data encryption is on — recent rows are
38
+ * decrypted and compared in memory instead. Bounded to keep the inbound path cheap;
39
+ * a `primary_email` blind-index (hash) column is the follow-up if tenants outgrow it.
42
40
  */
43
- export const MATCH_CANDIDATE_LIMIT = 500
41
+ const MATCH_CANDIDATE_LIMIT = 500
44
42
 
45
43
  /**
46
44
  * Batch lookup of CustomerEntity rows (kind='person') whose `primaryEmail`
@@ -56,136 +56,6 @@ async function requireCompany(
56
56
  return company
57
57
  }
58
58
 
59
- export type CompanyPersonUnionEntry = {
60
- entity: CustomerEntity
61
- profile: CustomerPersonProfile | null
62
- linkedAt: string | null
63
- }
64
-
65
- /**
66
- * Resolve "people belonging to this company" as the union of active
67
- * `CustomerPersonCompanyLink` rows and `CustomerPersonProfile.company`
68
- * profile-only assignments (data that never got a link row, e.g. from
69
- * migrated CRM imports). This is the single source of truth for both the
70
- * company People tab list and its badge count — see #5114.
71
- */
72
- export async function loadCompanyPeopleUnion(
73
- em: EntityManager,
74
- company: CustomerEntity,
75
- scope: { tenantId?: string | null; organizationId?: string | null },
76
- ): Promise<CompanyPersonUnionEntry[]> {
77
- const decryptionScope = {
78
- tenantId: scope.tenantId ?? company.tenantId ?? null,
79
- organizationId: scope.organizationId ?? company.organizationId ?? null,
80
- }
81
- const relatedPeopleById = new Map<string, CompanyPersonUnionEntry>()
82
-
83
- const companyLinkWhere = await withActiveCustomerPersonCompanyLinkFilter(
84
- em,
85
- { company: company.id, organizationId: company.organizationId, tenantId: company.tenantId },
86
- 'customers.companies.loadCompanyPeopleUnion',
87
- )
88
- const companyLinks = filterActivePersonCompanyLinks(
89
- await findWithDecryption(
90
- em,
91
- CustomerPersonCompanyLink,
92
- companyLinkWhere,
93
- { populate: ['person', 'person.personProfile'], orderBy: { isPrimary: 'desc', createdAt: 'asc' } },
94
- decryptionScope,
95
- ),
96
- )
97
- companyLinks.forEach((link) => {
98
- const entity = typeof link.person === 'string' ? null : link.person
99
- if (!entity || entity.kind !== 'person' || entity.deletedAt) return
100
- const personProfile =
101
- entity.personProfile && typeof entity.personProfile !== 'string' ? entity.personProfile : null
102
- relatedPeopleById.set(entity.id, {
103
- entity,
104
- profile: personProfile,
105
- linkedAt: link.createdAt instanceof Date ? link.createdAt.toISOString() : null,
106
- })
107
- })
108
-
109
- const profiles = await findWithDecryption(
110
- em,
111
- CustomerPersonProfile,
112
- {
113
- company: company.id,
114
- tenantId: company.tenantId,
115
- organizationId: company.organizationId,
116
- entity: { deletedAt: null },
117
- },
118
- { populate: ['entity'] },
119
- decryptionScope,
120
- )
121
- profiles.forEach((entry) => {
122
- const entity = entry.entity as CustomerEntity | null
123
- if (!entity || entity.kind !== 'person' || entity.deletedAt) return
124
- if (!relatedPeopleById.has(entity.id)) {
125
- relatedPeopleById.set(entity.id, {
126
- entity,
127
- profile: entry ?? null,
128
- linkedAt: entry.createdAt instanceof Date ? entry.createdAt.toISOString() : null,
129
- })
130
- }
131
- })
132
-
133
- return Array.from(relatedPeopleById.values())
134
- }
135
-
136
- /**
137
- * Count-only sibling of `loadCompanyPeopleUnion` for the company People badge, which
138
- * needs the size of the union and nothing else. Both queries project just the foreign
139
- * key column and push the `kind: 'person'` / `deletedAt: null` predicates into the
140
- * WHERE clause, so no person row is hydrated and no PII is decrypted to produce a
141
- * number — `findWithDecryption` is deliberately not used here because the projections
142
- * select no encrypted column.
143
- */
144
- export async function countCompanyPeopleUnion(
145
- em: EntityManager,
146
- company: CustomerEntity,
147
- ): Promise<number> {
148
- const personIds = new Set<string>()
149
-
150
- const companyLinkWhere = await withActiveCustomerPersonCompanyLinkFilter(
151
- em,
152
- {
153
- company: company.id,
154
- organizationId: company.organizationId,
155
- tenantId: company.tenantId,
156
- person: { kind: 'person', deletedAt: null },
157
- },
158
- 'customers.companies.countCompanyPeopleUnion',
159
- )
160
- const companyLinks = filterActivePersonCompanyLinks(
161
- await em.find(CustomerPersonCompanyLink, companyLinkWhere as any, {
162
- fields: ['person', 'deletedAt'],
163
- } as any),
164
- )
165
- companyLinks.forEach((link) => {
166
- const personId = typeof link.person === 'string' ? link.person : link.person?.id
167
- if (personId) personIds.add(personId)
168
- })
169
-
170
- const profiles = await em.find(
171
- CustomerPersonProfile,
172
- {
173
- company: company.id,
174
- tenantId: company.tenantId,
175
- organizationId: company.organizationId,
176
- entity: { kind: 'person', deletedAt: null },
177
- } as any,
178
- { fields: ['entity'] } as any,
179
- )
180
- profiles.forEach((entry) => {
181
- const entity = entry.entity as CustomerEntity | string | null
182
- const entityId = typeof entity === 'string' ? entity : entity?.id
183
- if (entityId) personIds.add(entityId)
184
- })
185
-
186
- return personIds.size
187
- }
188
-
189
59
  export async function loadPersonCompanyLinks(
190
60
  em: EntityManager,
191
61
  person: CustomerEntity,
@@ -428,12 +298,7 @@ export async function removePersonCompanyLink(
428
298
 
429
299
  if (!link) {
430
300
  if (profile.company && typeof profile.company !== 'string' && profile.company.id === linkId) {
431
- // Profile-only assignment: no link row backs it, so only the legacy field is
432
- // cleared. It must keep mirroring the primary link the way every other detach
433
- // path leaves it, so promote a remaining primary link instead of nulling blindly.
434
- const primary = existingLinks.find((entry) => entry.isPrimary) ?? null
435
- const primaryCompany = primary ? resolveLinkedCompany(primary) : null
436
- profile.company = primaryCompany ?? null
301
+ profile.company = null
437
302
  return
438
303
  }
439
304
  throw notFound('Company link not found')