@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
@@ -55,7 +55,6 @@ type ApiDocument = {
55
55
  customerEntityId?: string | null
56
56
  customerSnapshot?: Record<string, unknown> | null
57
57
  channelId?: string | null
58
- channelName?: string | null
59
58
  lineItemCount?: number | null
60
59
  grandTotalNetAmount?: number | null
61
60
  grandTotalGrossAmount?: number | null
@@ -71,7 +70,6 @@ type DocumentsResponse = {
71
70
  items?: Array<Record<string, unknown>>
72
71
  total?: number
73
72
  totalPages?: number
74
- totalIsCapped?: boolean
75
73
  }
76
74
 
77
75
  type SalesDocumentRow = {
@@ -81,7 +79,6 @@ type SalesDocumentRow = {
81
79
  customerName?: string | null
82
80
  customerEmail?: string | null
83
81
  channelId?: string | null
84
- channelName?: string | null
85
82
  lineItemCount?: number | null
86
83
  totalNet?: number | null
87
84
  totalGross?: number | null
@@ -92,20 +89,6 @@ type SalesDocumentRow = {
92
89
 
93
90
  const PAGE_SIZE = 20
94
91
 
95
- // Not a uuid on purpose: the API drops non-uuid entries from channelIds, so a leak of this sentinel
96
- // into the id list narrows the filter instead of erroring.
97
- const UNASSIGNED_CHANNEL_VALUE = '__unassigned__'
98
-
99
- // Perspectives persist filterValues, so snapshots saved while this filter was a single-value select
100
- // hold a bare string. Without this the multi-select would read it as an unknown shape and silently
101
- // clear the user's saved filter.
102
- function normalizeChannelSelection(value: unknown): string[] {
103
- const raw = Array.isArray(value) ? value : typeof value === 'string' ? [value] : []
104
- return raw
105
- .map((entry) => (typeof entry === 'string' ? entry.trim() : String(entry || '').trim()))
106
- .filter((entry) => entry.length > 0)
107
- }
108
-
109
92
  function resolveCustomerName(snapshot: CustomerSnapshot | null | undefined, fallback?: string | null) {
110
93
  if (!snapshot) return fallback ?? null
111
94
  const base = snapshot.customer?.displayName ?? null
@@ -174,7 +157,6 @@ export function SalesDocumentsTable({ kind }: { kind: SalesDocumentKind }) {
174
157
  const [page, setPage] = React.useState(1)
175
158
  const [total, setTotal] = React.useState(0)
176
159
  const [totalPages, setTotalPages] = React.useState(1)
177
- const [totalIsCapped, setTotalIsCapped] = React.useState(false)
178
160
  const [sorting, setSorting] = React.useState<SortingState>([{ id: 'createdAt', desc: true }])
179
161
  const [search, setSearch] = React.useState('')
180
162
  const [filterValues, setFilterValues] = React.useState<FilterValues>({})
@@ -196,7 +178,9 @@ export function SalesDocumentsTable({ kind }: { kind: SalesDocumentKind }) {
196
178
  'Review documents with customer context, totals, and channels.'
197
179
  )
198
180
 
199
- const fetchChannelOptionsBy = React.useCallback(async (params: URLSearchParams): Promise<FilterOption[]> => {
181
+ const fetchChannelOptions = React.useCallback(async (query?: string): Promise<FilterOption[]> => {
182
+ const params = new URLSearchParams({ page: '1', pageSize: '50' })
183
+ if (query && query.trim()) params.set('search', query.trim())
200
184
  try {
201
185
  const call = await apiCall<{ items?: unknown[] }>(`/api/sales/channels?${params.toString()}`)
202
186
  if (!call.ok) return []
@@ -214,32 +198,6 @@ export function SalesDocumentsTable({ kind }: { kind: SalesDocumentKind }) {
214
198
  }
215
199
  }, [])
216
200
 
217
- const fetchChannelOptions = React.useCallback(
218
- (query?: string) => {
219
- const params = new URLSearchParams({ page: '1', pageSize: '50' })
220
- if (query && query.trim()) params.set('search', query.trim())
221
- return fetchChannelOptionsBy(params)
222
- },
223
- [fetchChannelOptionsBy]
224
- )
225
-
226
- // A selected channel outside the first options page — restored from a perspective, or simply the
227
- // 51st channel — would otherwise render as a bare uuid in the filter chip and the selected tag,
228
- // which is the same defect this change removes from the column. The route supports `ids=`, so
229
- // fetch exactly the selected ones and merge them in. See
230
- // `.ai/lessons/async-edit-selects-must-be-hydrated-as-value-plus.md`.
231
- const seedChannelOptionsForIds = React.useCallback(
232
- async (ids: string[]) => {
233
- const missing = ids.filter((id) => id !== UNASSIGNED_CHANNEL_VALUE)
234
- if (!missing.length) return
235
- const params = new URLSearchParams({ page: '1', pageSize: String(missing.length) })
236
- params.set('ids', missing.join(','))
237
- const opts = await fetchChannelOptionsBy(params)
238
- if (opts.length) setChannelOptions((prev) => mergeOptions(prev, opts))
239
- },
240
- [fetchChannelOptionsBy]
241
- )
242
-
243
201
  const fetchTagOptions = React.useCallback(async (query?: string): Promise<FilterOption[]> => {
244
202
  const params = new URLSearchParams({ page: '1', pageSize: '50' })
245
203
  if (query && query.trim()) params.set('search', query.trim())
@@ -320,32 +278,6 @@ export function SalesDocumentsTable({ kind }: { kind: SalesDocumentKind }) {
320
278
  [fetchChannelOptions]
321
279
  )
322
280
 
323
- const unassignedChannelOption = React.useMemo<FilterOption>(
324
- () => ({
325
- value: UNASSIGNED_CHANNEL_VALUE,
326
- label: t('sales.documents.list.filters.channelUnassigned', '(No channel)'),
327
- }),
328
- [t]
329
- )
330
-
331
- // The sentinel is offered alongside the real channels so "these channels or unassigned" is one
332
- // selection. It is stripped back out when the query is built — the API takes it as a separate
333
- // channelIdsEmpty flag, not as an id.
334
- const channelFilterOptions = React.useMemo<FilterOption[]>(
335
- () => [unassignedChannelOption, ...channelOptions],
336
- [channelOptions, unassignedChannelOption]
337
- )
338
-
339
- const loadChannelFilterOptions = React.useCallback(
340
- async (query?: string) => {
341
- const opts = await loadChannelOptions(query)
342
- // Only offer the sentinel when the user is browsing rather than searching — typing "web"
343
- // should not suggest "(No channel)".
344
- return query && query.trim() ? opts : [unassignedChannelOption, ...opts]
345
- },
346
- [loadChannelOptions, unassignedChannelOption]
347
- )
348
-
349
281
  const loadTagOptions = React.useCallback(
350
282
  async (query?: string) => {
351
283
  const opts = await fetchTagOptions(query)
@@ -375,14 +307,9 @@ export function SalesDocumentsTable({ kind }: { kind: SalesDocumentKind }) {
375
307
  ...(channelsEnabled ? [{
376
308
  id: 'channelId',
377
309
  label: t('sales.documents.list.filters.channel', 'Channel'),
378
- type: 'tags',
379
- options: channelFilterOptions,
380
- loadOptions: loadChannelFilterOptions,
381
- placeholder: t('sales.documents.list.filters.channelPlaceholder', 'Search channels'),
382
- formatValue: (val: string) =>
383
- val === UNASSIGNED_CHANNEL_VALUE
384
- ? t('sales.documents.list.filters.channelUnassigned', '(No channel)')
385
- : channelOptions.find((opt) => opt.value === val)?.label ?? val,
310
+ type: 'select',
311
+ options: channelOptions,
312
+ loadOptions: loadChannelOptions,
386
313
  } satisfies FilterDef] : []),
387
314
  {
388
315
  id: 'date',
@@ -440,7 +367,7 @@ export function SalesDocumentsTable({ kind }: { kind: SalesDocumentKind }) {
440
367
  formatValue: (val: string) => tagOptions.find((o) => o.value === val)?.label ?? val,
441
368
  formatDescription: (val: string) => tagOptions.find((o) => o.value === val)?.description ?? null,
442
369
  },
443
- ], [channelsEnabled, channelFilterOptions, channelOptions, loadChannelFilterOptions, customerOptions, loadCustomerOptions, loadTagOptions, tagOptions, t])
370
+ ], [channelsEnabled, channelOptions, loadChannelOptions, customerOptions, loadCustomerOptions, loadTagOptions, tagOptions, t])
444
371
 
445
372
  const queryParams = React.useMemo(() => {
446
373
  const params = new URLSearchParams()
@@ -452,10 +379,8 @@ export function SalesDocumentsTable({ kind }: { kind: SalesDocumentKind }) {
452
379
  params.set('sortField', sort.id)
453
380
  params.set('sortDir', sort.desc ? 'desc' : 'asc')
454
381
  }
455
- const channelSelection = normalizeChannelSelection(filterValues.channelId)
456
- const channelIds = channelSelection.filter((value) => value !== UNASSIGNED_CHANNEL_VALUE)
457
- if (channelIds.length > 0) params.set('channelIds', channelIds.join(','))
458
- if (channelSelection.includes(UNASSIGNED_CHANNEL_VALUE)) params.set('channelIdsEmpty', 'true')
382
+ const channelId = typeof filterValues.channelId === 'string' ? filterValues.channelId : ''
383
+ if (channelId) params.set('channelId', channelId)
459
384
  const customerIds = Array.isArray(filterValues.customerId)
460
385
  ? filterValues.customerId
461
386
  .map((value) => (typeof value === 'string' ? value.trim() : String(value || '').trim()))
@@ -544,7 +469,6 @@ export function SalesDocumentsTable({ kind }: { kind: SalesDocumentKind }) {
544
469
  customerName,
545
470
  customerEmail,
546
471
  channelId: doc.channelId ?? null,
547
- channelName: doc.channelName ?? null,
548
472
  lineItemCount: doc.lineItemCount ?? null,
549
473
  totalNet,
550
474
  totalGross,
@@ -566,7 +490,6 @@ export function SalesDocumentsTable({ kind }: { kind: SalesDocumentKind }) {
566
490
  setRows([])
567
491
  setTotal(0)
568
492
  setTotalPages(1)
569
- setTotalIsCapped(false)
570
493
  return
571
494
  }
572
495
  const payload = call.result ?? {}
@@ -578,7 +501,6 @@ export function SalesDocumentsTable({ kind }: { kind: SalesDocumentKind }) {
578
501
  ? payload.totalPages
579
502
  : Math.max(1, Math.ceil(count / PAGE_SIZE))
580
503
  setTotalPages(pages)
581
- setTotalIsCapped(payload.totalIsCapped === true)
582
504
  setCacheStatus(call.cacheStatus ?? null)
583
505
  } catch (err) {
584
506
  logger.error('sales.documents.list', { err })
@@ -592,22 +514,10 @@ export function SalesDocumentsTable({ kind }: { kind: SalesDocumentKind }) {
592
514
  void loadDocuments()
593
515
  }, [loadDocuments, reloadToken, scopeVersion])
594
516
 
595
- // Normalize at the hydration boundary, not only where the query string is built: a perspective
596
- // saved while this filter was a single-value select restores `channelId` as a bare string, and
597
- // the `tags` control renders nothing for a non-array value. Storing the normalized shape keeps
598
- // the control, the active-filter chip and the query builder all reading one shape — otherwise the
599
- // list is filtered while the field looks empty, and the next channel the user picks replaces the
600
- // restored one instead of joining it.
601
517
  const handleFiltersApply = React.useCallback((values: FilterValues) => {
602
- if (values.channelId === undefined) {
603
- setFilterValues(values)
604
- } else {
605
- const channelSelection = normalizeChannelSelection(values.channelId)
606
- setFilterValues({ ...values, channelId: channelSelection })
607
- void seedChannelOptionsForIds(channelSelection)
608
- }
518
+ setFilterValues(values)
609
519
  setPage(1)
610
- }, [seedChannelOptionsForIds])
520
+ }, [])
611
521
 
612
522
  const handleFiltersClear = React.useCallback(() => {
613
523
  setFilterValues({})
@@ -715,10 +625,9 @@ export function SalesDocumentsTable({ kind }: { kind: SalesDocumentKind }) {
715
625
  cell: ({ row }) => {
716
626
  const channelId = row.original.channelId
717
627
  if (!channelId) return <span className="text-xs text-muted-foreground">{t('sales.documents.list.table.unassigned', 'Unassigned')}</span>
718
- // Server-resolved, so this no longer depends on the channel being inside the options page.
719
- // The uuid remains only for a channel the list response could not resolve.
628
+ const channel = channelOptions.find((opt) => opt.value === channelId)
720
629
  return (
721
- <span className="text-sm">{row.original.channelName ?? channelId}</span>
630
+ <span className="text-sm">{channel?.label ?? channelId}</span>
722
631
  )
723
632
  },
724
633
  enableSorting: false,
@@ -756,7 +665,7 @@ export function SalesDocumentsTable({ kind }: { kind: SalesDocumentKind }) {
756
665
  ? <span className="text-xs text-muted-foreground">{new Date(row.original.date).toLocaleString()}</span>
757
666
  : <span className="text-xs text-muted-foreground">—</span>,
758
667
  },
759
- ], [channelsEnabled, kind, statusMap, t])
668
+ ], [channelsEnabled, channelOptions, kind, statusMap, t])
760
669
 
761
670
  const emptyLabel = kind === 'order'
762
671
  ? t('sales.documents.list.table.emptyOrders', 'No orders yet.')
@@ -804,7 +713,6 @@ export function SalesDocumentsTable({ kind }: { kind: SalesDocumentKind }) {
804
713
  pageSize: PAGE_SIZE,
805
714
  total,
806
715
  totalPages,
807
- totalIsCapped,
808
716
  onPageChange: setPage,
809
717
  cacheStatus,
810
718
  }}
@@ -7,7 +7,7 @@ import { DataTable } from '@open-mercato/ui/backend/DataTable'
7
7
  import { RowActions } from '@open-mercato/ui/backend/RowActions'
8
8
  import { EmptyState } from '@open-mercato/ui/primitives/empty-state'
9
9
  import { Button } from '@open-mercato/ui/primitives/button'
10
- import { useLocale, useT } from '@open-mercato/shared/lib/i18n/context'
10
+ import { useT } from '@open-mercato/shared/lib/i18n/context'
11
11
  import { LineItemDialog } from './LineItemDialog'
12
12
  import type { SalesLineRecord } from './lineItemTypes'
13
13
  import { formatMoney, normalizeNumber } from './lineItemUtils'
@@ -93,7 +93,6 @@ export function SalesOrderDraftLines({
93
93
  onChange,
94
94
  }: SalesOrderDraftLinesProps) {
95
95
  const t = useT()
96
- const locale = useLocale()
97
96
  const [dialogOpen, setDialogOpen] = React.useState(false)
98
97
  const [editing, setEditing] = React.useState<SalesOrderLineDraft | null>(null)
99
98
 
@@ -113,14 +112,14 @@ export function SalesOrderDraftLines({
113
112
  {
114
113
  id: 'unitPrice',
115
114
  header: t('sales.documents.items.table.unit', 'Unit price'),
116
- cell: ({ row }) => formatMoney(row.original.record.unitPriceGross, row.original.record.currencyCode ?? currencyCode ?? undefined, locale),
115
+ cell: ({ row }) => formatMoney(row.original.record.unitPriceGross, row.original.record.currencyCode ?? currencyCode ?? undefined),
117
116
  },
118
117
  {
119
118
  id: 'total',
120
119
  header: t('sales.documents.items.table.total', 'Total'),
121
- cell: ({ row }) => formatMoney(row.original.record.totalGross, row.original.record.currencyCode ?? currencyCode ?? undefined, locale),
120
+ cell: ({ row }) => formatMoney(row.original.record.totalGross, row.original.record.currencyCode ?? currencyCode ?? undefined),
122
121
  },
123
- ], [currencyCode, locale, t])
122
+ ], [currencyCode, t])
124
123
 
125
124
  const openCreate = React.useCallback(() => {
126
125
  setEditing(null)
@@ -162,7 +161,7 @@ export function SalesOrderDraftLines({
162
161
  {t('sales.documents.items.add', 'Add item')}
163
162
  </Button>
164
163
  </div>
165
- {error ? <p className="text-sm text-status-error-text" role="alert">{error}</p> : null}
164
+ {error ? <p className="text-sm text-destructive" role="alert">{error}</p> : null}
166
165
  <DataTable
167
166
  columns={columns}
168
167
  data={lines}
@@ -20,7 +20,7 @@ import { flash } from '@open-mercato/ui/backend/FlashMessages'
20
20
  import { cn } from '@open-mercato/shared/lib/utils'
21
21
  import { E } from '#generated/entities.ids.generated'
22
22
  import { emitSalesDocumentTotalsRefresh } from '@open-mercato/core/modules/sales/lib/frontend/documentTotalsEvents'
23
- import { useT, useLocale } from '@open-mercato/shared/lib/i18n/context'
23
+ import { useT } from '@open-mercato/shared/lib/i18n/context'
24
24
  import { formatMoney, normalizeNumber } from './lineItemUtils'
25
25
  import type { OrderLine, ShipmentRow } from './shipmentTypes'
26
26
  import { formatAddressString, type AddressFormatStrategy, type AddressValue } from '@open-mercato/core/modules/customers/utils/addressFormat'
@@ -290,7 +290,6 @@ export function ShipmentDialog({
290
290
  onAddComment,
291
291
  }: ShipmentDialogProps) {
292
292
  const t = useT()
293
- const locale = useLocale()
294
293
  const [formResetKey, setFormResetKey] = React.useState(0)
295
294
  const [shippingMethods, setShippingMethods] = React.useState<ShippingMethodOption[]>([])
296
295
  const [shippingMethodLoading, setShippingMethodLoading] = React.useState(false)
@@ -541,21 +540,21 @@ export function ShipmentDialog({
541
540
  if (option.avgPrice !== null) {
542
541
  parts.push(
543
542
  t('sales.documents.shipments.shippingMethodAvg', 'Avg {{price}}', {
544
- price: formatMoney(option.avgPrice, currency ?? null, locale),
543
+ price: formatMoney(option.avgPrice, currency ?? null),
545
544
  }),
546
545
  )
547
546
  }
548
547
  if (option.minPrice !== null) {
549
548
  parts.push(
550
549
  t('sales.documents.shipments.shippingMethodMin', 'Min {{price}}', {
551
- price: formatMoney(option.minPrice, currency ?? null, locale),
550
+ price: formatMoney(option.minPrice, currency ?? null),
552
551
  }),
553
552
  )
554
553
  }
555
554
  if (parts.length === 0) return undefined
556
555
  return parts.join(' · ')
557
556
  },
558
- [currencyCode, locale, t],
557
+ [currencyCode, t],
559
558
  )
560
559
 
561
560
  const mapShippingMethod = React.useCallback(
@@ -10,7 +10,7 @@ import { apiCall, withScopedApiRequestHeaders } from '@open-mercato/ui/backend/u
10
10
  import { buildOptimisticLockHeader } from '@open-mercato/ui/backend/utils/optimisticLock'
11
11
  import { deleteCrud } from '@open-mercato/ui/backend/utils/crud'
12
12
  import { useOrganizationScopeDetail } from '@open-mercato/shared/lib/frontend/useOrganizationScope'
13
- import { useT, useLocale } from '@open-mercato/shared/lib/i18n/context'
13
+ import { useT } from '@open-mercato/shared/lib/i18n/context'
14
14
  import { useConfirmDialog } from '@open-mercato/ui/backend/confirm-dialog'
15
15
  import {
16
16
  emitSalesDocumentTotalsRefresh,
@@ -41,11 +41,11 @@ type SalesShipmentsSectionProps = {
41
41
  onAddComment?: (body: string) => Promise<void>
42
42
  }
43
43
 
44
- export function formatDisplayDate(value: string | null | undefined, locale?: string): string | null {
44
+ function formatDisplayDate(value: string | null | undefined): string | null {
45
45
  if (!value) return null
46
46
  const date = new Date(value)
47
47
  if (Number.isNaN(date.getTime())) return null
48
- return new Intl.DateTimeFormat(locale, { dateStyle: 'medium' }).format(date)
48
+ return new Intl.DateTimeFormat(undefined, { dateStyle: 'medium' }).format(date)
49
49
  }
50
50
 
51
51
  const formatShipmentAddress = (metadata?: Record<string, unknown> | null): string | null => {
@@ -123,7 +123,6 @@ export function SalesShipmentsSection({
123
123
  onAddComment,
124
124
  }: SalesShipmentsSectionProps) {
125
125
  const t = useT()
126
- const locale = useLocale()
127
126
  const { organizationId, tenantId } = useOrganizationScopeDetail()
128
127
  const { confirm, ConfirmDialogElement } = useConfirmDialog()
129
128
  const resolvedOrganizationId = organizationIdProp ?? organizationId ?? null
@@ -487,8 +486,8 @@ export function SalesShipmentsSection({
487
486
  ) : (
488
487
  <div className="grid gap-3 md:grid-cols-2">
489
488
  {shipments.map((shipment) => {
490
- const shippedAt = formatDisplayDate(shipment.shippedAt, locale)
491
- const deliveredAt = formatDisplayDate(shipment.deliveredAt, locale)
489
+ const shippedAt = formatDisplayDate(shipment.shippedAt)
490
+ const deliveredAt = formatDisplayDate(shipment.deliveredAt)
492
491
  const addressSummary = formatShipmentAddress(shipment.metadata)
493
492
  const statusLabel =
494
493
  shipment.statusLabel ??
@@ -9,14 +9,9 @@ export function normalizeNumber(value: unknown, fallback = 0): number {
9
9
  return fallback
10
10
  }
11
11
 
12
- /**
13
- * Pass `locale` to format in the application locale (`useLocale()` in client components).
14
- * Omitting it keeps the runtime default, which varies per machine and is therefore not
15
- * assertable in tests.
16
- */
17
- export function formatMoney(value: number, currency: string | null | undefined, locale?: string): string {
12
+ export function formatMoney(value: number, currency: string | null | undefined): string {
18
13
  if (!currency) return value.toFixed(2)
19
- return new Intl.NumberFormat(locale, { style: 'currency', currency }).format(value)
14
+ return new Intl.NumberFormat(undefined, { style: 'currency', currency }).format(value)
20
15
  }
21
16
 
22
17
  export type LineDiscountDisplay = {
@@ -1790,9 +1790,6 @@ export class SalesPaymentAllocation {
1790
1790
 
1791
1791
  @Entity({ tableName: 'sales_notes' })
1792
1792
  @Index({ name: 'sales_notes_scope_idx', properties: ['organizationId', 'tenantId'] })
1793
- @Index({ name: 'sales_notes_context_idx', properties: ['contextId'] })
1794
- @Index({ name: 'sales_notes_order_idx', properties: ['order'] })
1795
- @Index({ name: 'sales_notes_quote_idx', properties: ['quote'] })
1796
1793
  export class SalesNote {
1797
1794
  @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })
1798
1795
  id!: string
@@ -1839,9 +1836,6 @@ export class SalesNote {
1839
1836
 
1840
1837
  @Entity({ tableName: 'sales_document_addresses' })
1841
1838
  @Index({ name: 'sales_document_addresses_scope_idx', properties: ['organizationId', 'tenantId'] })
1842
- @Index({ name: 'sales_document_addresses_document_idx', properties: ['documentId'] })
1843
- @Index({ name: 'sales_document_addresses_order_idx', properties: ['order'] })
1844
- @Index({ name: 'sales_document_addresses_quote_idx', properties: ['quote'] })
1845
1839
  export class SalesDocumentAddress {
1846
1840
  @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })
1847
1841
  id!: string
@@ -5,7 +5,6 @@ export const extensionPoints = defineModuleExtensionPoints({
5
5
  hosts: {
6
6
  ordersTable: dataTableExtensionHost({ tableId: 'sales.orders', source: 'components/documents/SalesDocumentsTable.tsx' }),
7
7
  quotesTable: dataTableExtensionHost({ tableId: 'sales.quotes', source: 'components/documents/SalesDocumentsTable.tsx' }),
8
- paymentsTable: dataTableExtensionHost({ tableId: 'sales.payments', source: 'components/documents/PaymentsSection.tsx' }),
9
8
  orderItemColumns: injectionExtensionHost({
10
9
  family: 'detail',
11
10
  spotId: 'data-table:sales.order.items:columns',
@@ -932,22 +932,59 @@
932
932
  "sales.documents.history.changedFields": "Geänderte Felder: {fields}",
933
933
  "sales.documents.history.empty": "Noch keine Verlaufseinträge.",
934
934
  "sales.documents.history.error": "Verlauf konnte nicht geladen werden.",
935
+ "sales.documents.history.fields.adjustments": "Anpassungen",
936
+ "sales.documents.history.fields.billingAddress": "Rechnungsadresse",
937
+ "sales.documents.history.fields.channel": "Kanal",
935
938
  "sales.documents.history.fields.comment": "Kommentar",
939
+ "sales.documents.history.fields.comments": "Kommentare",
936
940
  "sales.documents.history.fields.configuration": "Konfiguration",
937
941
  "sales.documents.history.fields.currency": "Währung",
938
942
  "sales.documents.history.fields.customFields": "Benutzerdefinierte Felder",
943
+ "sales.documents.history.fields.customer": "Kunde",
944
+ "sales.documents.history.fields.customerContact": "Kundenkontakt",
945
+ "sales.documents.history.fields.customerReference": "Kundenreferenz",
946
+ "sales.documents.history.fields.customerSnapshot": "Kundendaten",
947
+ "sales.documents.history.fields.deliveryWindow": "Lieferfenster",
939
948
  "sales.documents.history.fields.description": "Beschreibung",
940
949
  "sales.documents.history.fields.discountAmount": "Rabattbetrag",
941
950
  "sales.documents.history.fields.discountPercent": "Rabattprozentsatz",
951
+ "sales.documents.history.fields.discountTotal": "Rabattsumme",
952
+ "sales.documents.history.fields.dueAt": "Fälligkeitsdatum",
953
+ "sales.documents.history.fields.exchangeRate": "Wechselkurs",
954
+ "sales.documents.history.fields.expectedDeliveryAt": "Voraussichtliche Lieferung",
955
+ "sales.documents.history.fields.externalReference": "Externe Referenz",
956
+ "sales.documents.history.fields.fulfillmentStatus": "Erfüllungsstatus",
957
+ "sales.documents.history.fields.grandTotalGross": "Gesamtsumme brutto",
958
+ "sales.documents.history.fields.grandTotalNet": "Gesamtsumme netto",
959
+ "sales.documents.history.fields.internalNotes": "Interne Notizen",
960
+ "sales.documents.history.fields.lineItemCount": "Anzahl Positionen",
961
+ "sales.documents.history.fields.metadata": "Metadaten",
942
962
  "sales.documents.history.fields.name": "Name",
963
+ "sales.documents.history.fields.outstanding": "Offener Betrag",
964
+ "sales.documents.history.fields.paidTotal": "Bezahlt gesamt",
965
+ "sales.documents.history.fields.paymentMethod": "Zahlungsart",
966
+ "sales.documents.history.fields.paymentStatus": "Zahlungsstatus",
967
+ "sales.documents.history.fields.placedAt": "Bestelldatum",
943
968
  "sales.documents.history.fields.product": "Produkt",
944
969
  "sales.documents.history.fields.promotionCode": "Aktionscode",
945
970
  "sales.documents.history.fields.quantity": "Menge",
946
971
  "sales.documents.history.fields.quantityUnit": "Mengeneinheit",
972
+ "sales.documents.history.fields.refundedTotal": "Erstattet gesamt",
973
+ "sales.documents.history.fields.shippingAddress": "Lieferadresse",
974
+ "sales.documents.history.fields.shippingGross": "Versand brutto",
975
+ "sales.documents.history.fields.shippingMethod": "Versandart",
976
+ "sales.documents.history.fields.shippingNet": "Versand netto",
947
977
  "sales.documents.history.fields.status": "Status",
978
+ "sales.documents.history.fields.subtotalGross": "Zwischensumme brutto",
979
+ "sales.documents.history.fields.subtotalNet": "Zwischensumme netto",
980
+ "sales.documents.history.fields.surchargeTotal": "Zuschlagssumme",
981
+ "sales.documents.history.fields.taxInfo": "Steuerdetails",
948
982
  "sales.documents.history.fields.taxRate": "Steuerklasse",
983
+ "sales.documents.history.fields.taxTotal": "Steuersumme",
984
+ "sales.documents.history.fields.totals": "Summen",
949
985
  "sales.documents.history.fields.unitPriceGross": "Bruttostückpreis",
950
986
  "sales.documents.history.fields.unitPriceNet": "Nettostückpreis",
987
+ "sales.documents.history.fields.validUntil": "Gültig bis",
951
988
  "sales.documents.history.fields.variant": "Variante",
952
989
  "sales.documents.history.filter.actions": "Aktionen",
953
990
  "sales.documents.history.filter.all": "Alle",
@@ -979,7 +1016,6 @@
979
1016
  "sales.documents.items.errorProductRequired": "Wähle ein Produkt aus, um fortzufahren.",
980
1017
  "sales.documents.items.errorQuantity": "Die Menge muss größer als 0 sein.",
981
1018
  "sales.documents.items.errorQuantityBelowShipped": "Die Menge kann nicht unter die bereits versandten {{shipped}} gesenkt werden.",
982
- "sales.documents.items.errorQuantityShipmentsUnknown": "Die Menge kann erst gesenkt werden, wenn die Sendungen dieses Auftrags geladen wurden. Öffnen Sie den Auftrag erneut, um es noch einmal zu versuchen.",
983
1019
  "sales.documents.items.errorSave": "Position konnte nicht gespeichert werden.",
984
1020
  "sales.documents.items.errorScope": "Organisation und Mandant sind erforderlich.",
985
1021
  "sales.documents.items.errorUnitPrice": "Der Stückpreis muss größer als 0 sein.",
@@ -1023,8 +1059,6 @@
1023
1059
  "sales.documents.items.save": "Änderungen speichern",
1024
1060
  "sales.documents.items.selectedProduct": "Ausgewählt {{id}}",
1025
1061
  "sales.documents.items.selectedVariant": "Ausgewählt {{id}}",
1026
- "sales.documents.items.shippedLineLockPending": "Die Preisangaben sind gesperrt, bis die Sendungen dieses Auftrags geladen wurden. Öffnen Sie den Auftrag erneut, um es noch einmal zu versuchen — Name und eine Erhöhung der Menge können weiterhin bearbeitet werden.",
1027
- "sales.documents.items.shippedLineLocked": "Die Preisangaben dieser Position sind gesperrt, da bereits Artikel versandt wurden. Name und Menge können weiterhin bearbeitet werden.",
1028
1062
  "sales.documents.items.status": "Status",
1029
1063
  "sales.documents.items.statusEmpty": "Kein Status",
1030
1064
  "sales.documents.items.statusLoading": "Status werden geladen…",
@@ -1059,8 +1093,6 @@
1059
1093
  "sales.documents.items.variantSearch": "Variante suchen",
1060
1094
  "sales.documents.list.errors.load": "Dokumente konnten nicht geladen werden.",
1061
1095
  "sales.documents.list.filters.channel": "Kanal",
1062
- "sales.documents.list.filters.channelPlaceholder": "Kanäle suchen",
1063
- "sales.documents.list.filters.channelUnassigned": "(Kein Kanal)",
1064
1096
  "sales.documents.list.filters.customer": "Kunden-ID",
1065
1097
  "sales.documents.list.filters.customerPlaceholder": "Kunden-ID",
1066
1098
  "sales.documents.list.filters.date": "Datum",
@@ -1289,16 +1321,13 @@
1289
1321
  "sales.quotes.email.subject": "Angebot {quoteNumber}",
1290
1322
  "sales.quotes.email.total": "Gesamt: {amount} {currency}",
1291
1323
  "sales.quotes.email.validUntil": "Gültig bis: {date}",
1292
- "sales.quotes.exchange_rate_unsupported": "Der Wechselkurs ist für Angebote nicht verfügbar.",
1293
1324
  "sales.quotes.form.general": "Allgemein",
1294
1325
  "sales.quotes.form.lines": "Positionen",
1295
1326
  "sales.quotes.form.notes": "Notizen",
1296
- "sales.quotes.fulfillment_status_unsupported": "Der Fulfillment-Status ist für Angebote nicht verfügbar.",
1297
1327
  "sales.quotes.internal_notes_unsupported": "Interne Notizen sind für Angebote nicht verfügbar.",
1298
1328
  "sales.quotes.lines.delete": "Angebotsposition löschen",
1299
1329
  "sales.quotes.lines.upsert": "Angebotsposition aktualisieren",
1300
1330
  "sales.quotes.list.title": "Angebote",
1301
- "sales.quotes.payment_status_unsupported": "Der Zahlungsstatus ist für Angebote nicht verfügbar.",
1302
1331
  "sales.quotes.public.acceptButton": "Angebot annehmen",
1303
1332
  "sales.quotes.public.acceptFailed": "Angebot konnte nicht angenommen werden.",
1304
1333
  "sales.quotes.public.acceptedMessage": "Auftrag erstellt: {{orderNumber}}",
@@ -932,22 +932,59 @@
932
932
  "sales.documents.history.changedFields": "Changed fields: {fields}",
933
933
  "sales.documents.history.empty": "No history entries yet.",
934
934
  "sales.documents.history.error": "Failed to load history.",
935
+ "sales.documents.history.fields.adjustments": "Adjustments",
936
+ "sales.documents.history.fields.billingAddress": "Billing address",
937
+ "sales.documents.history.fields.channel": "Channel",
935
938
  "sales.documents.history.fields.comment": "Comment",
939
+ "sales.documents.history.fields.comments": "Comments",
936
940
  "sales.documents.history.fields.configuration": "Configuration",
937
941
  "sales.documents.history.fields.currency": "Currency",
938
942
  "sales.documents.history.fields.customFields": "Custom fields",
943
+ "sales.documents.history.fields.customer": "Customer",
944
+ "sales.documents.history.fields.customerContact": "Customer contact",
945
+ "sales.documents.history.fields.customerReference": "Customer reference",
946
+ "sales.documents.history.fields.customerSnapshot": "Customer details",
947
+ "sales.documents.history.fields.deliveryWindow": "Delivery window",
939
948
  "sales.documents.history.fields.description": "Description",
940
949
  "sales.documents.history.fields.discountAmount": "Discount amount",
941
950
  "sales.documents.history.fields.discountPercent": "Discount percent",
951
+ "sales.documents.history.fields.discountTotal": "Discount total",
952
+ "sales.documents.history.fields.dueAt": "Due at",
953
+ "sales.documents.history.fields.exchangeRate": "Exchange rate",
954
+ "sales.documents.history.fields.expectedDeliveryAt": "Expected delivery",
955
+ "sales.documents.history.fields.externalReference": "External reference",
956
+ "sales.documents.history.fields.fulfillmentStatus": "Fulfillment status",
957
+ "sales.documents.history.fields.grandTotalGross": "Gross grand total",
958
+ "sales.documents.history.fields.grandTotalNet": "Net grand total",
959
+ "sales.documents.history.fields.internalNotes": "Internal notes",
960
+ "sales.documents.history.fields.lineItemCount": "Line item count",
961
+ "sales.documents.history.fields.metadata": "Metadata",
942
962
  "sales.documents.history.fields.name": "Name",
963
+ "sales.documents.history.fields.outstanding": "Outstanding amount",
964
+ "sales.documents.history.fields.paidTotal": "Paid total",
965
+ "sales.documents.history.fields.paymentMethod": "Payment method",
966
+ "sales.documents.history.fields.paymentStatus": "Payment status",
967
+ "sales.documents.history.fields.placedAt": "Placed at",
943
968
  "sales.documents.history.fields.product": "Product",
944
969
  "sales.documents.history.fields.promotionCode": "Promotion code",
945
970
  "sales.documents.history.fields.quantity": "Quantity",
946
971
  "sales.documents.history.fields.quantityUnit": "Quantity unit",
972
+ "sales.documents.history.fields.refundedTotal": "Refunded total",
973
+ "sales.documents.history.fields.shippingAddress": "Shipping address",
974
+ "sales.documents.history.fields.shippingGross": "Gross shipping",
975
+ "sales.documents.history.fields.shippingMethod": "Shipping method",
976
+ "sales.documents.history.fields.shippingNet": "Net shipping",
947
977
  "sales.documents.history.fields.status": "Status",
978
+ "sales.documents.history.fields.subtotalGross": "Gross subtotal",
979
+ "sales.documents.history.fields.subtotalNet": "Net subtotal",
980
+ "sales.documents.history.fields.surchargeTotal": "Surcharge total",
981
+ "sales.documents.history.fields.taxInfo": "Tax details",
948
982
  "sales.documents.history.fields.taxRate": "Tax class",
983
+ "sales.documents.history.fields.taxTotal": "Tax total",
984
+ "sales.documents.history.fields.totals": "Totals",
949
985
  "sales.documents.history.fields.unitPriceGross": "Gross unit price",
950
986
  "sales.documents.history.fields.unitPriceNet": "Net unit price",
987
+ "sales.documents.history.fields.validUntil": "Valid until",
951
988
  "sales.documents.history.fields.variant": "Variant",
952
989
  "sales.documents.history.filter.actions": "Actions",
953
990
  "sales.documents.history.filter.all": "All",
@@ -979,7 +1016,6 @@
979
1016
  "sales.documents.items.errorProductRequired": "Select a product to continue.",
980
1017
  "sales.documents.items.errorQuantity": "Quantity must be greater than 0.",
981
1018
  "sales.documents.items.errorQuantityBelowShipped": "You cannot lower the quantity below the {{shipped}} already shipped.",
982
- "sales.documents.items.errorQuantityShipmentsUnknown": "The quantity cannot be lowered until this order's shipments have been read. Reopen the order to try again.",
983
1019
  "sales.documents.items.errorSave": "Failed to save line.",
984
1020
  "sales.documents.items.errorScope": "Organization and tenant are required.",
985
1021
  "sales.documents.items.errorUnitPrice": "Unit price must be greater than 0.",
@@ -1023,8 +1059,6 @@
1023
1059
  "sales.documents.items.save": "Save changes",
1024
1060
  "sales.documents.items.selectedProduct": "Selected {{id}}",
1025
1061
  "sales.documents.items.selectedVariant": "Selected {{id}}",
1026
- "sales.documents.items.shippedLineLockPending": "Pricing is locked until this order's shipments have been read. Reopen the order to try again — you can still edit the name and raise the quantity.",
1027
- "sales.documents.items.shippedLineLocked": "Pricing is locked on this line because it already has shipped items. You can still edit the name and quantity.",
1028
1062
  "sales.documents.items.status": "Status",
1029
1063
  "sales.documents.items.statusEmpty": "No status",
1030
1064
  "sales.documents.items.statusLoading": "Loading statuses…",
@@ -1059,8 +1093,6 @@
1059
1093
  "sales.documents.items.variantSearch": "Search variant",
1060
1094
  "sales.documents.list.errors.load": "Failed to load documents.",
1061
1095
  "sales.documents.list.filters.channel": "Channel",
1062
- "sales.documents.list.filters.channelPlaceholder": "Search channels",
1063
- "sales.documents.list.filters.channelUnassigned": "(No channel)",
1064
1096
  "sales.documents.list.filters.customer": "Customer id",
1065
1097
  "sales.documents.list.filters.customerPlaceholder": "Customer id",
1066
1098
  "sales.documents.list.filters.date": "Date",
@@ -1289,16 +1321,13 @@
1289
1321
  "sales.quotes.email.subject": "Quote {quoteNumber}",
1290
1322
  "sales.quotes.email.total": "Total: {amount} {currency}",
1291
1323
  "sales.quotes.email.validUntil": "Valid until: {date}",
1292
- "sales.quotes.exchange_rate_unsupported": "Exchange rate is not available on quotes.",
1293
1324
  "sales.quotes.form.general": "General",
1294
1325
  "sales.quotes.form.lines": "Line Items",
1295
1326
  "sales.quotes.form.notes": "Notes",
1296
- "sales.quotes.fulfillment_status_unsupported": "Fulfillment status is not available on quotes.",
1297
1327
  "sales.quotes.internal_notes_unsupported": "Internal notes are not available on quotes.",
1298
1328
  "sales.quotes.lines.delete": "Delete quote line",
1299
1329
  "sales.quotes.lines.upsert": "Update quote line",
1300
1330
  "sales.quotes.list.title": "Quotes",
1301
- "sales.quotes.payment_status_unsupported": "Payment status is not available on quotes.",
1302
1331
  "sales.quotes.public.acceptButton": "Accept quote",
1303
1332
  "sales.quotes.public.acceptFailed": "Failed to accept quote.",
1304
1333
  "sales.quotes.public.acceptedMessage": "Order created: {{orderNumber}}",