@open-mercato/core 0.7.0 → 0.7.1-develop.7103.1.41ff100d93

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 (847) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/helpers/integration/api.js +13 -1
  3. package/dist/helpers/integration/api.js.map +2 -2
  4. package/dist/helpers/integration/communicationChannelsFixtures.js +19 -0
  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 +3 -1
  9. package/dist/modules/api_keys/backend/api-keys/page.js.map +2 -2
  10. package/dist/modules/api_keys/di.js +9 -0
  11. package/dist/modules/api_keys/di.js.map +7 -0
  12. package/dist/modules/api_keys/services/principalService.js +31 -0
  13. package/dist/modules/api_keys/services/principalService.js.map +7 -0
  14. package/dist/modules/attachments/api/route.js +2 -2
  15. package/dist/modules/attachments/api/route.js.map +2 -2
  16. package/dist/modules/attachments/components/AttachmentLibrary.js +2 -0
  17. package/dist/modules/attachments/components/AttachmentLibrary.js.map +2 -2
  18. package/dist/modules/attachments/di.js +11 -1
  19. package/dist/modules/attachments/di.js.map +2 -2
  20. package/dist/modules/attachments/index.js.map +1 -1
  21. package/dist/modules/attachments/lib/attachment-service.js +313 -0
  22. package/dist/modules/attachments/lib/attachment-service.js.map +7 -0
  23. package/dist/modules/attachments/lib/scoped-upload-service.js +15 -2
  24. package/dist/modules/attachments/lib/scoped-upload-service.js.map +2 -2
  25. package/dist/modules/attachments/lib/upload-limits.js +6 -2
  26. package/dist/modules/attachments/lib/upload-limits.js.map +2 -2
  27. package/dist/modules/audit_logs/backend/audit-logs/page.js +6 -0
  28. package/dist/modules/audit_logs/backend/audit-logs/page.js.map +2 -2
  29. package/dist/modules/audit_logs/lib/display-helpers.js +19 -11
  30. package/dist/modules/audit_logs/lib/display-helpers.js.map +2 -2
  31. package/dist/modules/audit_logs/services/actionLogService.js +57 -12
  32. package/dist/modules/audit_logs/services/actionLogService.js.map +3 -3
  33. package/dist/modules/auth/acl.js +30 -5
  34. package/dist/modules/auth/acl.js.map +2 -2
  35. package/dist/modules/auth/api/feature-check.js +8 -2
  36. package/dist/modules/auth/api/feature-check.js.map +2 -2
  37. package/dist/modules/auth/api/login.js +4 -1
  38. package/dist/modules/auth/api/login.js.map +2 -2
  39. package/dist/modules/auth/api/reset/validate.js +55 -0
  40. package/dist/modules/auth/api/reset/validate.js.map +7 -0
  41. package/dist/modules/auth/api/roles/acl/route.js +28 -33
  42. package/dist/modules/auth/api/roles/acl/route.js.map +2 -2
  43. package/dist/modules/auth/api/session/refresh.js +25 -1
  44. package/dist/modules/auth/api/session/refresh.js.map +2 -2
  45. package/dist/modules/auth/api/users/acl/route.js +96 -51
  46. package/dist/modules/auth/api/users/acl/route.js.map +2 -2
  47. package/dist/modules/auth/api/users/route.js +13 -5
  48. package/dist/modules/auth/api/users/route.js.map +2 -2
  49. package/dist/modules/auth/backend/roles/[id]/edit/page.meta.js +5 -1
  50. package/dist/modules/auth/backend/roles/[id]/edit/page.meta.js.map +2 -2
  51. package/dist/modules/auth/backend/roles/page.js +3 -1
  52. package/dist/modules/auth/backend/roles/page.js.map +2 -2
  53. package/dist/modules/auth/backend/users/[id]/edit/page.meta.js +5 -1
  54. package/dist/modules/auth/backend/users/[id]/edit/page.meta.js.map +2 -2
  55. package/dist/modules/auth/backend/users/page.js +2 -1
  56. package/dist/modules/auth/backend/users/page.js.map +2 -2
  57. package/dist/modules/auth/commands/acl.js +254 -0
  58. package/dist/modules/auth/commands/acl.js.map +7 -0
  59. package/dist/modules/auth/components/AclEditor.js +39 -30
  60. package/dist/modules/auth/components/AclEditor.js.map +2 -2
  61. package/dist/modules/auth/data/entities.js.map +2 -2
  62. package/dist/modules/auth/data/validators.js +5 -1
  63. package/dist/modules/auth/data/validators.js.map +2 -2
  64. package/dist/modules/auth/di.js +35 -9
  65. package/dist/modules/auth/di.js.map +2 -2
  66. package/dist/modules/auth/frontend/reset/[token]/page.js +46 -0
  67. package/dist/modules/auth/frontend/reset/[token]/page.js.map +2 -2
  68. package/dist/modules/auth/lib/grantChecks.js.map +2 -2
  69. package/dist/modules/auth/lib/userIdFilter.js +16 -0
  70. package/dist/modules/auth/lib/userIdFilter.js.map +7 -0
  71. package/dist/modules/auth/services/authService.js +16 -2
  72. package/dist/modules/auth/services/authService.js.map +2 -2
  73. package/dist/modules/auth/services/principalService.js +200 -0
  74. package/dist/modules/auth/services/principalService.js.map +7 -0
  75. package/dist/modules/auth/services/rbacService.js +67 -24
  76. package/dist/modules/auth/services/rbacService.js.map +3 -3
  77. package/dist/modules/auth/services/roleOrganizationScope.js +41 -0
  78. package/dist/modules/auth/services/roleOrganizationScope.js.map +7 -0
  79. package/dist/modules/business_rules/backend/logs/page.js +3 -1
  80. package/dist/modules/business_rules/backend/logs/page.js.map +2 -2
  81. package/dist/modules/business_rules/backend/rules/page.js +3 -1
  82. package/dist/modules/business_rules/backend/rules/page.js.map +2 -2
  83. package/dist/modules/business_rules/backend/sets/page.js +3 -1
  84. package/dist/modules/business_rules/backend/sets/page.js.map +2 -2
  85. package/dist/modules/business_rules/lib/expression-evaluator.js +9 -9
  86. package/dist/modules/business_rules/lib/expression-evaluator.js.map +2 -2
  87. package/dist/modules/business_rules/lib/rule-evaluator.js +10 -9
  88. package/dist/modules/business_rules/lib/rule-evaluator.js.map +2 -2
  89. package/dist/modules/catalog/ai-agents.js +1 -1
  90. package/dist/modules/catalog/ai-agents.js.map +1 -1
  91. package/dist/modules/catalog/ai-tools/merchandising-pack.js +2 -2
  92. package/dist/modules/catalog/ai-tools/merchandising-pack.js.map +2 -2
  93. package/dist/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.js +5 -2
  94. package/dist/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.js.map +2 -2
  95. package/dist/modules/catalog/components/categories/CategoriesDataTable.js +2 -0
  96. package/dist/modules/catalog/components/categories/CategoriesDataTable.js.map +2 -2
  97. package/dist/modules/catalog/components/products/ProductsDataTable.js +7 -1
  98. package/dist/modules/catalog/components/products/ProductsDataTable.js.map +2 -2
  99. package/dist/modules/catalog/widgets/injection/merchandising-assistant-trigger/widget.client.js +2 -0
  100. package/dist/modules/catalog/widgets/injection/merchandising-assistant-trigger/widget.client.js.map +2 -2
  101. package/dist/modules/communication_channels/api/post/channels/[id]/test-send/route.js +9 -1
  102. package/dist/modules/communication_channels/api/post/channels/[id]/test-send/route.js.map +2 -2
  103. package/dist/modules/communication_channels/api/post/test-seed/route.js +95 -10
  104. package/dist/modules/communication_channels/api/post/test-seed/route.js.map +2 -2
  105. package/dist/modules/communication_channels/backend/communication_channels/channels/page.js +3 -0
  106. package/dist/modules/communication_channels/backend/communication_channels/channels/page.js.map +2 -2
  107. package/dist/modules/communication_channels/commands/ingest-inbound-message.js +14 -1
  108. package/dist/modules/communication_channels/commands/ingest-inbound-message.js.map +2 -2
  109. package/dist/modules/communication_channels/di.js +7 -1
  110. package/dist/modules/communication_channels/di.js.map +2 -2
  111. package/dist/modules/communication_channels/lib/email-capabilities.js +4 -1
  112. package/dist/modules/communication_channels/lib/email-capabilities.js.map +2 -2
  113. package/dist/modules/communication_channels/lib/outbound-recipient.js +33 -0
  114. package/dist/modules/communication_channels/lib/outbound-recipient.js.map +7 -0
  115. package/dist/modules/communication_channels/lib/resolve-channel-type.js +51 -0
  116. package/dist/modules/communication_channels/lib/resolve-channel-type.js.map +7 -0
  117. package/dist/modules/communication_channels/lib/test-seed.js +41 -2
  118. package/dist/modules/communication_channels/lib/test-seed.js.map +2 -2
  119. package/dist/modules/configs/lib/system-status.js +9 -0
  120. package/dist/modules/configs/lib/system-status.js.map +2 -2
  121. package/dist/modules/currencies/backend/currencies/page.js +3 -1
  122. package/dist/modules/currencies/backend/currencies/page.js.map +2 -2
  123. package/dist/modules/currencies/backend/exchange-rates/page.js +3 -1
  124. package/dist/modules/currencies/backend/exchange-rates/page.js.map +2 -2
  125. package/dist/modules/currencies/services/rateFetchingService.js +6 -1
  126. package/dist/modules/currencies/services/rateFetchingService.js.map +2 -2
  127. package/dist/modules/customer_accounts/api/admin/domain-mappings.js +9 -0
  128. package/dist/modules/customer_accounts/api/admin/domain-mappings.js.map +2 -2
  129. package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.js +3 -1
  130. package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.js.map +2 -2
  131. package/dist/modules/customer_accounts/backend/customer_accounts/users/PortalUsersPageClient.js +3 -1
  132. package/dist/modules/customer_accounts/backend/customer_accounts/users/PortalUsersPageClient.js.map +2 -2
  133. package/dist/modules/customer_accounts/services/domainMappingService.js +10 -0
  134. package/dist/modules/customer_accounts/services/domainMappingService.js.map +2 -2
  135. package/dist/modules/customers/ai-tools/companies-pack.js +4 -1
  136. package/dist/modules/customers/ai-tools/companies-pack.js.map +2 -2
  137. package/dist/modules/customers/ai-tools/deal-analyzer-pack.js +13 -2
  138. package/dist/modules/customers/ai-tools/deal-analyzer-pack.js.map +2 -2
  139. package/dist/modules/customers/ai-tools/deals-pack.js +52 -6
  140. package/dist/modules/customers/ai-tools/deals-pack.js.map +2 -2
  141. package/dist/modules/customers/ai-tools/people-pack.js +4 -1
  142. package/dist/modules/customers/ai-tools/people-pack.js.map +2 -2
  143. package/dist/modules/customers/api/activities/route.js +48 -6
  144. package/dist/modules/customers/api/activities/route.js.map +2 -2
  145. package/dist/modules/customers/api/companies/[id]/people/route.js +20 -64
  146. package/dist/modules/customers/api/companies/[id]/people/route.js.map +2 -2
  147. package/dist/modules/customers/api/companies/[id]/route.js +17 -94
  148. package/dist/modules/customers/api/companies/[id]/route.js.map +2 -2
  149. package/dist/modules/customers/api/dashboard/widgets/customer-todos/route.js +8 -5
  150. package/dist/modules/customers/api/dashboard/widgets/customer-todos/route.js.map +2 -2
  151. package/dist/modules/customers/api/deals/[id]/companies/route.js +1 -1
  152. package/dist/modules/customers/api/deals/[id]/companies/route.js.map +2 -2
  153. package/dist/modules/customers/api/deals/[id]/people/route.js +1 -1
  154. package/dist/modules/customers/api/deals/[id]/people/route.js.map +2 -2
  155. package/dist/modules/customers/api/deals/[id]/route.js +8 -25
  156. package/dist/modules/customers/api/deals/[id]/route.js.map +2 -2
  157. package/dist/modules/customers/api/deals/[id]/stats/route.js +3 -22
  158. package/dist/modules/customers/api/deals/[id]/stats/route.js.map +2 -2
  159. package/dist/modules/customers/api/deals/aggregate/route.js +14 -9
  160. package/dist/modules/customers/api/deals/aggregate/route.js.map +2 -2
  161. package/dist/modules/customers/api/deals/map/route.js +5 -5
  162. package/dist/modules/customers/api/deals/map/route.js.map +2 -2
  163. package/dist/modules/customers/api/deals/route.js +38 -1
  164. package/dist/modules/customers/api/deals/route.js.map +2 -2
  165. package/dist/modules/customers/api/entity-roles-factory.js +4 -4
  166. package/dist/modules/customers/api/entity-roles-factory.js.map +2 -2
  167. package/dist/modules/customers/api/interactions/route.js +3 -1
  168. package/dist/modules/customers/api/interactions/route.js.map +2 -2
  169. package/dist/modules/customers/api/interactions/tasks/route.js +27 -4
  170. package/dist/modules/customers/api/interactions/tasks/route.js.map +2 -2
  171. package/dist/modules/customers/api/people/[id]/companies/[linkId]/route.js +4 -3
  172. package/dist/modules/customers/api/people/[id]/companies/[linkId]/route.js.map +2 -2
  173. package/dist/modules/customers/api/people/[id]/companies/context.js +1 -1
  174. package/dist/modules/customers/api/people/[id]/companies/context.js.map +2 -2
  175. package/dist/modules/customers/api/people/[id]/companies/enriched/route.js +1 -1
  176. package/dist/modules/customers/api/people/[id]/companies/enriched/route.js.map +2 -2
  177. package/dist/modules/customers/api/people/[id]/route.js +11 -10
  178. package/dist/modules/customers/api/people/[id]/route.js.map +2 -2
  179. package/dist/modules/customers/api/people/check-phone/route.js +51 -9
  180. package/dist/modules/customers/api/people/check-phone/route.js.map +2 -2
  181. package/dist/modules/customers/api/todos/route.js +30 -5
  182. package/dist/modules/customers/api/todos/route.js.map +2 -2
  183. package/dist/modules/customers/backend/customers/companies/page.js +4 -2
  184. package/dist/modules/customers/backend/customers/companies/page.js.map +2 -2
  185. package/dist/modules/customers/backend/customers/deals/[id]/page.js +6 -1
  186. package/dist/modules/customers/backend/customers/deals/[id]/page.js.map +2 -2
  187. package/dist/modules/customers/backend/customers/deals/page.js +5 -2
  188. package/dist/modules/customers/backend/customers/deals/page.js.map +2 -2
  189. package/dist/modules/customers/backend/customers/deals/pipeline/components/Lane.js +4 -13
  190. package/dist/modules/customers/backend/customers/deals/pipeline/components/Lane.js.map +2 -2
  191. package/dist/modules/customers/backend/customers/deals/pipeline/components/StatusFilterPopover.js +85 -14
  192. package/dist/modules/customers/backend/customers/deals/pipeline/components/StatusFilterPopover.js.map +2 -2
  193. package/dist/modules/customers/backend/customers/deals/pipeline/components/toneClasses.js +18 -0
  194. package/dist/modules/customers/backend/customers/deals/pipeline/components/toneClasses.js.map +7 -0
  195. package/dist/modules/customers/backend/customers/people/page.js +4 -2
  196. package/dist/modules/customers/backend/customers/people/page.js.map +2 -2
  197. package/dist/modules/customers/backend/hooks/useEmailDuplicateCheck.js +9 -3
  198. package/dist/modules/customers/backend/hooks/useEmailDuplicateCheck.js.map +2 -2
  199. package/dist/modules/customers/commands/deals.js +21 -34
  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 +131 -2
  203. package/dist/modules/customers/commands/personCompanyLinks.js.map +2 -2
  204. package/dist/modules/customers/components/CustomerTodosTable.js +1 -0
  205. package/dist/modules/customers/components/CustomerTodosTable.js.map +2 -2
  206. package/dist/modules/customers/components/DealsKpiStrip.js +7 -6
  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 +3 -2
  219. package/dist/modules/customers/components/calendar/EventPeekPopover.js.map +2 -2
  220. package/dist/modules/customers/components/calendar/editor/PeopleField.js +40 -5
  221. package/dist/modules/customers/components/calendar/editor/PeopleField.js.map +2 -2
  222. package/dist/modules/customers/components/calendar/editor/hooks.js +2 -1
  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/CompanyKpiBar.js +5 -4
  227. package/dist/modules/customers/components/detail/CompanyKpiBar.js.map +2 -2
  228. package/dist/modules/customers/components/detail/CompanyPeopleSection.js +3 -1
  229. package/dist/modules/customers/components/detail/CompanyPeopleSection.js.map +2 -2
  230. package/dist/modules/customers/components/detail/DealForm.js +19 -7
  231. package/dist/modules/customers/components/detail/DealForm.js.map +2 -2
  232. package/dist/modules/customers/components/detail/DealsSection.js +6 -5
  233. package/dist/modules/customers/components/detail/DealsSection.js.map +2 -2
  234. package/dist/modules/customers/components/detail/EntityTagsDialog.js +35 -11
  235. package/dist/modules/customers/components/detail/EntityTagsDialog.js.map +2 -2
  236. package/dist/modules/customers/components/detail/PersonCompaniesSection.js +3 -1
  237. package/dist/modules/customers/components/detail/PersonCompaniesSection.js.map +2 -2
  238. package/dist/modules/customers/components/detail/hooks/usePersonTasks.js +19 -13
  239. package/dist/modules/customers/components/detail/hooks/usePersonTasks.js.map +2 -2
  240. package/dist/modules/customers/components/detail/schedule/ParticipantsField.js +4 -4
  241. package/dist/modules/customers/components/detail/schedule/ParticipantsField.js.map +2 -2
  242. package/dist/modules/customers/components/detail/schedule/useScheduleFormState.js +3 -3
  243. package/dist/modules/customers/components/detail/schedule/useScheduleFormState.js.map +2 -2
  244. package/dist/modules/customers/components/detail/utils.js +5 -5
  245. package/dist/modules/customers/components/detail/utils.js.map +2 -2
  246. package/dist/modules/customers/data/entities.js.map +1 -1
  247. package/dist/modules/customers/data/validators.js +32 -3
  248. package/dist/modules/customers/data/validators.js.map +2 -2
  249. package/dist/modules/customers/events.js +5 -0
  250. package/dist/modules/customers/events.js.map +2 -2
  251. package/dist/modules/customers/lib/calendar/conflicts.js +8 -2
  252. package/dist/modules/customers/lib/calendar/conflicts.js.map +2 -2
  253. package/dist/modules/customers/lib/calendar/editorPayload.js +3 -2
  254. package/dist/modules/customers/lib/calendar/editorPayload.js.map +2 -2
  255. package/dist/modules/customers/lib/calendar/mapItem.js +8 -3
  256. package/dist/modules/customers/lib/calendar/mapItem.js.map +2 -2
  257. package/dist/modules/customers/lib/calendar/participantIdentity.js +9 -0
  258. package/dist/modules/customers/lib/calendar/participantIdentity.js.map +7 -0
  259. package/dist/modules/customers/lib/closureStage.js +45 -0
  260. package/dist/modules/customers/lib/closureStage.js.map +7 -0
  261. package/dist/modules/customers/lib/dealStatus.js +30 -0
  262. package/dist/modules/customers/lib/dealStatus.js.map +2 -2
  263. package/dist/modules/customers/lib/detailReadAccess.js +12 -0
  264. package/dist/modules/customers/lib/detailReadAccess.js.map +7 -0
  265. package/dist/modules/customers/lib/findPeopleByAddresses.js +1 -0
  266. package/dist/modules/customers/lib/findPeopleByAddresses.js.map +2 -2
  267. package/dist/modules/customers/lib/personCompanies.js +100 -2
  268. package/dist/modules/customers/lib/personCompanies.js.map +2 -2
  269. package/dist/modules/customers/lib/todoCompatibility.js +12 -0
  270. package/dist/modules/customers/lib/todoCompatibility.js.map +2 -2
  271. package/dist/modules/dashboards/lib/widgetScope.js +6 -1
  272. package/dist/modules/dashboards/lib/widgetScope.js.map +2 -2
  273. package/dist/modules/data_sync/backend/data-sync/page.js +3 -1
  274. package/dist/modules/data_sync/backend/data-sync/page.js.map +2 -2
  275. package/dist/modules/data_sync/lib/abandoned-run.js +19 -0
  276. package/dist/modules/data_sync/lib/abandoned-run.js.map +7 -0
  277. package/dist/modules/data_sync/lib/sync-engine.js +72 -6
  278. package/dist/modules/data_sync/lib/sync-engine.js.map +2 -2
  279. package/dist/modules/data_sync/workers/sync-export.js +5 -1
  280. package/dist/modules/data_sync/workers/sync-export.js.map +2 -2
  281. package/dist/modules/data_sync/workers/sync-import.js +5 -1
  282. package/dist/modules/data_sync/workers/sync-import.js.map +2 -2
  283. package/dist/modules/devices/acl.js +9 -1
  284. package/dist/modules/devices/acl.js.map +2 -2
  285. package/dist/modules/devices/api/admin/devices/[id]/route.js +5 -32
  286. package/dist/modules/devices/api/admin/devices/[id]/route.js.map +2 -2
  287. package/dist/modules/devices/api/admin/devices/route.js +14 -1
  288. package/dist/modules/devices/api/admin/devices/route.js.map +2 -2
  289. package/dist/modules/devices/api/deviceList.js +99 -12
  290. package/dist/modules/devices/api/deviceList.js.map +2 -2
  291. package/dist/modules/devices/api/deviceSerialization.js +46 -0
  292. package/dist/modules/devices/api/deviceSerialization.js.map +7 -0
  293. package/dist/modules/devices/api/openapi.js +3 -1
  294. package/dist/modules/devices/api/openapi.js.map +2 -2
  295. package/dist/modules/devices/api/route.js +9 -1
  296. package/dist/modules/devices/api/route.js.map +2 -2
  297. package/dist/modules/devices/backend/devices/[id]/page.js +10 -26
  298. package/dist/modules/devices/backend/devices/[id]/page.js.map +2 -2
  299. package/dist/modules/devices/backend/devices/create/page.js +17 -1
  300. package/dist/modules/devices/backend/devices/create/page.js.map +2 -2
  301. package/dist/modules/devices/backend/devices/page.js +28 -34
  302. package/dist/modules/devices/backend/devices/page.js.map +2 -2
  303. package/dist/modules/devices/backend/devices/useDeviceUserLabels.js +34 -0
  304. package/dist/modules/devices/backend/devices/useDeviceUserLabels.js.map +7 -0
  305. package/dist/modules/devices/backend/devices/userOptions.js +52 -0
  306. package/dist/modules/devices/backend/devices/userOptions.js.map +7 -0
  307. package/dist/modules/devices/setup.js +6 -2
  308. package/dist/modules/devices/setup.js.map +2 -2
  309. package/dist/modules/directory/backend/directory/organizations/page.js +2 -1
  310. package/dist/modules/directory/backend/directory/organizations/page.js.map +2 -2
  311. package/dist/modules/directory/backend/directory/tenants/page.js +2 -1
  312. package/dist/modules/directory/backend/directory/tenants/page.js.map +2 -2
  313. package/dist/modules/directory/di.js +9 -0
  314. package/dist/modules/directory/di.js.map +2 -2
  315. package/dist/modules/directory/services/organizationHierarchyService.js +29 -0
  316. package/dist/modules/directory/services/organizationHierarchyService.js.map +7 -0
  317. package/dist/modules/directory/services/organizationScopeService.js +56 -0
  318. package/dist/modules/directory/services/organizationScopeService.js.map +7 -0
  319. package/dist/modules/directory/utils/organizationScope.js.map +2 -2
  320. package/dist/modules/entities/api/records.js +4 -2
  321. package/dist/modules/entities/api/records.js.map +2 -2
  322. package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js +3 -1
  323. package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js.map +2 -2
  324. package/dist/modules/eudr/api/plots/route.js +5 -1
  325. package/dist/modules/eudr/api/plots/route.js.map +2 -2
  326. package/dist/modules/eudr/backend/eudr/evidence-submissions/page.js +3 -0
  327. package/dist/modules/eudr/backend/eudr/evidence-submissions/page.js.map +2 -2
  328. package/dist/modules/eudr/backend/eudr/plots/page.js +3 -0
  329. package/dist/modules/eudr/backend/eudr/plots/page.js.map +2 -2
  330. package/dist/modules/eudr/backend/eudr/product-mappings/page.js +3 -0
  331. package/dist/modules/eudr/backend/eudr/product-mappings/page.js.map +2 -2
  332. package/dist/modules/eudr/backend/eudr/risk-assessments/page.js +3 -0
  333. package/dist/modules/eudr/backend/eudr/risk-assessments/page.js.map +2 -2
  334. package/dist/modules/eudr/backend/eudr/statements/page.js +3 -0
  335. package/dist/modules/eudr/backend/eudr/statements/page.js.map +2 -2
  336. package/dist/modules/eudr/commands/statements.js +0 -3
  337. package/dist/modules/eudr/commands/statements.js.map +2 -2
  338. package/dist/modules/eudr/data/validators.js +4 -1
  339. package/dist/modules/eudr/data/validators.js.map +2 -2
  340. package/dist/modules/feature_toggles/components/FeatureTogglesTable.js +1 -0
  341. package/dist/modules/feature_toggles/components/FeatureTogglesTable.js.map +2 -2
  342. package/dist/modules/feature_toggles/components/OverridesTable.js +1 -0
  343. package/dist/modules/feature_toggles/components/OverridesTable.js.map +2 -2
  344. package/dist/modules/feature_toggles/defaults.json +0 -8
  345. package/dist/modules/inbox_ops/backend/inbox-ops/log/page.js +3 -0
  346. package/dist/modules/inbox_ops/backend/inbox-ops/log/page.js.map +2 -2
  347. package/dist/modules/inbox_ops/backend/inbox-ops/page.js +3 -0
  348. package/dist/modules/inbox_ops/backend/inbox-ops/page.js.map +2 -2
  349. package/dist/modules/inbox_ops/lib/htmlToPlainText.js +1 -12
  350. package/dist/modules/inbox_ops/lib/htmlToPlainText.js.map +2 -2
  351. package/dist/modules/integrations/api/[id]/credentials/route.js +6 -1
  352. package/dist/modules/integrations/api/[id]/credentials/route.js.map +2 -2
  353. package/dist/modules/integrations/backend/integrations/[id]/page.js +38 -29
  354. package/dist/modules/integrations/backend/integrations/[id]/page.js.map +2 -2
  355. package/dist/modules/integrations/backend/integrations/bundle/[id]/page.js +36 -9
  356. package/dist/modules/integrations/backend/integrations/bundle/[id]/page.js.map +2 -2
  357. package/dist/modules/integrations/backend/integrations/credential-secret-fields.js +55 -0
  358. package/dist/modules/integrations/backend/integrations/credential-secret-fields.js.map +7 -0
  359. package/dist/modules/integrations/data/validators.js +11 -3
  360. package/dist/modules/integrations/data/validators.js.map +2 -2
  361. package/dist/modules/integrations/lib/credentials-masking.js +6 -2
  362. package/dist/modules/integrations/lib/credentials-masking.js.map +2 -2
  363. package/dist/modules/messages/api/[id]/route.js +29 -1
  364. package/dist/modules/messages/api/[id]/route.js.map +2 -2
  365. package/dist/modules/messages/api/openapi.js +17 -2
  366. package/dist/modules/messages/api/openapi.js.map +2 -2
  367. package/dist/modules/messages/api/route.js +17 -2
  368. package/dist/modules/messages/api/route.js.map +2 -2
  369. package/dist/modules/messages/components/MessagesInboxPageClient.js +7 -14
  370. package/dist/modules/messages/components/MessagesInboxPageClient.js.map +2 -2
  371. package/dist/modules/messages/components/inboxFilters.js +15 -0
  372. package/dist/modules/messages/components/inboxFilters.js.map +2 -2
  373. package/dist/modules/messages/components/message-detail/hooks/useMessageDetailsConversation.js +11 -1
  374. package/dist/modules/messages/components/message-detail/hooks/useMessageDetailsConversation.js.map +2 -2
  375. package/dist/modules/messages/components/message-detail/panels/MessageHeader.js +3 -1
  376. package/dist/modules/messages/components/message-detail/panels/MessageHeader.js.map +2 -2
  377. package/dist/modules/messages/components/message-detail/panels/thread-panel.js +2 -1
  378. package/dist/modules/messages/components/message-detail/panels/thread-panel.js.map +2 -2
  379. package/dist/modules/messages/components/messageListLabels.js +14 -2
  380. package/dist/modules/messages/components/messageListLabels.js.map +2 -2
  381. package/dist/modules/messages/data/validators.js +18 -4
  382. package/dist/modules/messages/data/validators.js.map +2 -2
  383. package/dist/modules/messages/lib/channel-sender-identity.js +26 -0
  384. package/dist/modules/messages/lib/channel-sender-identity.js.map +7 -0
  385. package/dist/modules/messages/lib/composeSourceChannelType.js +41 -0
  386. package/dist/modules/messages/lib/composeSourceChannelType.js.map +7 -0
  387. package/dist/modules/payment_gateways/api/webhook/[provider]/route.js +4 -6
  388. package/dist/modules/payment_gateways/api/webhook/[provider]/route.js.map +2 -2
  389. package/dist/modules/payment_gateways/backend/payment-gateways/page.js +3 -1
  390. package/dist/modules/payment_gateways/backend/payment-gateways/page.js.map +2 -2
  391. package/dist/modules/payment_gateways/lib/webhook-processor.js +7 -0
  392. package/dist/modules/payment_gateways/lib/webhook-processor.js.map +2 -2
  393. package/dist/modules/planner/backend/planner/availability-rulesets/page.js +3 -0
  394. package/dist/modules/planner/backend/planner/availability-rulesets/page.js.map +2 -2
  395. package/dist/modules/push_notifications/backend/push_notifications/page.js +3 -1
  396. package/dist/modules/push_notifications/backend/push_notifications/page.js.map +2 -2
  397. package/dist/modules/push_notifications/backend/push_notifications/send/page.js +1 -1
  398. package/dist/modules/push_notifications/backend/push_notifications/send/page.js.map +2 -2
  399. package/dist/modules/query_index/lib/engine.js +150 -51
  400. package/dist/modules/query_index/lib/engine.js.map +2 -2
  401. package/dist/modules/query_index/lib/search-entity-policy.js +14 -0
  402. package/dist/modules/query_index/lib/search-entity-policy.js.map +7 -0
  403. package/dist/modules/query_index/lib/search-tokens.js +79 -3
  404. package/dist/modules/query_index/lib/search-tokens.js.map +2 -2
  405. package/dist/modules/resources/backend/resources/resource-types/page.js +3 -1
  406. package/dist/modules/resources/backend/resources/resource-types/page.js.map +2 -2
  407. package/dist/modules/resources/backend/resources/resources/page.js +3 -1
  408. package/dist/modules/resources/backend/resources/resources/page.js.map +2 -2
  409. package/dist/modules/sales/backend/sales/channels/offers/page.js +3 -0
  410. package/dist/modules/sales/backend/sales/channels/offers/page.js.map +2 -2
  411. package/dist/modules/sales/backend/sales/channels/page.js +3 -0
  412. package/dist/modules/sales/backend/sales/channels/page.js.map +2 -2
  413. package/dist/modules/sales/backend/sales/documents/[id]/page.js +10 -8
  414. package/dist/modules/sales/backend/sales/documents/[id]/page.js.map +2 -2
  415. package/dist/modules/sales/commands/documents.js +79 -1
  416. package/dist/modules/sales/commands/documents.js.map +2 -2
  417. package/dist/modules/sales/components/PriceWithCurrency.js +7 -5
  418. package/dist/modules/sales/components/PriceWithCurrency.js.map +2 -2
  419. package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js +3 -0
  420. package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js.map +2 -2
  421. package/dist/modules/sales/components/documents/AdjustmentsSection.js +8 -6
  422. package/dist/modules/sales/components/documents/AdjustmentsSection.js.map +2 -2
  423. package/dist/modules/sales/components/documents/ItemsSection.js +51 -22
  424. package/dist/modules/sales/components/documents/ItemsSection.js.map +2 -2
  425. package/dist/modules/sales/components/documents/LineItemDialog.js +83 -18
  426. package/dist/modules/sales/components/documents/LineItemDialog.js.map +2 -2
  427. package/dist/modules/sales/components/documents/PaymentsSection.js +23 -9
  428. package/dist/modules/sales/components/documents/PaymentsSection.js.map +2 -2
  429. package/dist/modules/sales/components/documents/ReturnsSection.js +8 -6
  430. package/dist/modules/sales/components/documents/ReturnsSection.js.map +2 -2
  431. package/dist/modules/sales/components/documents/SalesDocumentsTable.js +68 -14
  432. package/dist/modules/sales/components/documents/SalesDocumentsTable.js.map +2 -2
  433. package/dist/modules/sales/components/documents/SalesOrderDraftLines.js +6 -5
  434. package/dist/modules/sales/components/documents/SalesOrderDraftLines.js.map +2 -2
  435. package/dist/modules/sales/components/documents/ShipmentDialog.js +5 -4
  436. package/dist/modules/sales/components/documents/ShipmentDialog.js.map +2 -2
  437. package/dist/modules/sales/components/documents/ShipmentsSection.js +8 -6
  438. package/dist/modules/sales/components/documents/ShipmentsSection.js.map +2 -2
  439. package/dist/modules/sales/components/documents/lineItemShipmentLock.js +54 -0
  440. package/dist/modules/sales/components/documents/lineItemShipmentLock.js.map +7 -0
  441. package/dist/modules/sales/components/documents/lineItemUtils.js +2 -2
  442. package/dist/modules/sales/components/documents/lineItemUtils.js.map +2 -2
  443. package/dist/modules/sales/data/entities.js +8 -2
  444. package/dist/modules/sales/data/entities.js.map +2 -2
  445. package/dist/modules/sales/extension-points.js +1 -0
  446. package/dist/modules/sales/extension-points.js.map +2 -2
  447. package/dist/modules/sales/lib/salesChannelsToggleSeed.js +33 -0
  448. package/dist/modules/sales/lib/salesChannelsToggleSeed.js.map +7 -0
  449. package/dist/modules/sales/migrations/Migration20260821120000_sales_notes_addresses_context_idx.js +32 -0
  450. package/dist/modules/sales/migrations/Migration20260821120000_sales_notes_addresses_context_idx.js.map +7 -0
  451. package/dist/modules/sales/setup.js +2 -0
  452. package/dist/modules/sales/setup.js.map +2 -2
  453. package/dist/modules/sales/widgets/injection/payment-gateway-status-column/widget.js +10 -2
  454. package/dist/modules/sales/widgets/injection/payment-gateway-status-column/widget.js.map +2 -2
  455. package/dist/modules/sales/widgets/injection-table.js +4 -7
  456. package/dist/modules/sales/widgets/injection-table.js.map +2 -2
  457. package/dist/modules/staff/backend/staff/leave-requests/page.js +3 -0
  458. package/dist/modules/staff/backend/staff/leave-requests/page.js.map +2 -2
  459. package/dist/modules/staff/backend/staff/my-leave-requests/page.js +3 -0
  460. package/dist/modules/staff/backend/staff/my-leave-requests/page.js.map +2 -2
  461. package/dist/modules/staff/backend/staff/team-members/page.js +3 -0
  462. package/dist/modules/staff/backend/staff/team-members/page.js.map +2 -2
  463. package/dist/modules/staff/backend/staff/team-roles/page.js +3 -0
  464. package/dist/modules/staff/backend/staff/team-roles/page.js.map +2 -2
  465. package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js +3 -0
  466. package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js.map +2 -2
  467. package/dist/modules/staff/backend/staff/teams/page.js +3 -0
  468. package/dist/modules/staff/backend/staff/teams/page.js.map +2 -2
  469. package/dist/modules/staff/backend/staff/timesheets/page.js +29 -18
  470. package/dist/modules/staff/backend/staff/timesheets/page.js.map +2 -2
  471. package/dist/modules/staff/backend/staff/timesheets/projects/page.js +3 -0
  472. package/dist/modules/staff/backend/staff/timesheets/projects/page.js.map +2 -2
  473. package/dist/modules/sync_excel/lib/adapters/customers.js +1 -0
  474. package/dist/modules/sync_excel/lib/adapters/customers.js.map +2 -2
  475. package/dist/modules/warranty_claims/api/assignees/route.js +3 -3
  476. package/dist/modules/warranty_claims/api/assignees/route.js.map +2 -2
  477. package/dist/modules/warranty_claims/api/portal/attachments/route.js +2 -2
  478. package/dist/modules/warranty_claims/api/portal/attachments/route.js.map +2 -2
  479. package/dist/modules/warranty_claims/api/portal/claims/route.js +12 -9
  480. package/dist/modules/warranty_claims/api/portal/claims/route.js.map +2 -2
  481. package/dist/modules/warranty_claims/backend/page.js +3 -0
  482. package/dist/modules/warranty_claims/backend/page.js.map +2 -2
  483. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/page.js +3 -0
  484. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/page.js.map +2 -2
  485. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.js +3 -0
  486. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.js.map +2 -2
  487. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.js +3 -0
  488. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.js.map +2 -2
  489. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.js +3 -0
  490. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.js.map +2 -2
  491. package/dist/modules/wms/api/warehouseSearch.js +21 -0
  492. package/dist/modules/wms/api/warehouseSearch.js.map +7 -0
  493. package/dist/modules/wms/api/warehouses/route.js +13 -9
  494. package/dist/modules/wms/api/warehouses/route.js.map +2 -2
  495. package/dist/modules/wms/api/zones/route.js +15 -2
  496. package/dist/modules/wms/api/zones/route.js.map +2 -2
  497. package/dist/modules/wms/commands/configuration.js +121 -9
  498. package/dist/modules/wms/commands/configuration.js.map +2 -2
  499. package/dist/modules/wms/commands/inventory-actions.js +3 -0
  500. package/dist/modules/wms/commands/inventory-actions.js.map +2 -2
  501. package/dist/modules/wms/commands/shared.js +9 -1
  502. package/dist/modules/wms/commands/shared.js.map +2 -2
  503. package/dist/modules/wms/components/backend/WarehouseEditDialog.js +158 -0
  504. package/dist/modules/wms/components/backend/WarehouseEditDialog.js.map +7 -0
  505. package/dist/modules/wms/components/backend/WmsConfigurationPage.js +76 -111
  506. package/dist/modules/wms/components/backend/WmsConfigurationPage.js.map +3 -3
  507. package/dist/modules/wms/components/backend/WmsInventoryConsolePage.js +1 -0
  508. package/dist/modules/wms/components/backend/WmsInventoryConsolePage.js.map +2 -2
  509. package/dist/modules/wms/components/backend/WmsLotsListPage.js +1 -0
  510. package/dist/modules/wms/components/backend/WmsLotsListPage.js.map +2 -2
  511. package/dist/modules/wms/components/backend/inventoryMutationLoaders.js +27 -20
  512. package/dist/modules/wms/components/backend/inventoryMutationLoaders.js.map +2 -2
  513. package/dist/modules/wms/components/backend/warehouseFormOptions.js +66 -0
  514. package/dist/modules/wms/components/backend/warehouseFormOptions.js.map +7 -0
  515. package/dist/modules/workflows/backend/definitions/page.js +3 -1
  516. package/dist/modules/workflows/backend/definitions/page.js.map +2 -2
  517. package/dist/modules/workflows/backend/events/page.js +3 -1
  518. package/dist/modules/workflows/backend/events/page.js.map +2 -2
  519. package/dist/modules/workflows/backend/instances/page.js +3 -1
  520. package/dist/modules/workflows/backend/instances/page.js.map +2 -2
  521. package/dist/modules/workflows/backend/tasks/page.js +3 -1
  522. package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
  523. package/dist/modules/workflows/lib/activity-executor.js +4 -0
  524. package/dist/modules/workflows/lib/activity-executor.js.map +2 -2
  525. package/package.json +9 -10
  526. package/src/helpers/integration/api.ts +33 -1
  527. package/src/helpers/integration/communicationChannelsFixtures.ts +69 -1
  528. package/src/modules/api_keys/api/keys/route.ts +3 -1
  529. package/src/modules/api_keys/backend/api-keys/page.tsx +4 -1
  530. package/src/modules/api_keys/di.ts +7 -0
  531. package/src/modules/api_keys/services/principalService.ts +33 -0
  532. package/src/modules/attachments/AGENTS.md +15 -0
  533. package/src/modules/attachments/api/route.ts +2 -2
  534. package/src/modules/attachments/components/AttachmentLibrary.tsx +3 -0
  535. package/src/modules/attachments/di.ts +16 -0
  536. package/src/modules/attachments/i18n/de.json +5 -0
  537. package/src/modules/attachments/i18n/en.json +5 -0
  538. package/src/modules/attachments/i18n/es.json +5 -0
  539. package/src/modules/attachments/i18n/ko.json +5 -0
  540. package/src/modules/attachments/i18n/pl.json +5 -0
  541. package/src/modules/attachments/index.ts +10 -0
  542. package/src/modules/attachments/lib/attachment-service.ts +468 -0
  543. package/src/modules/attachments/lib/scoped-upload-service.ts +46 -0
  544. package/src/modules/attachments/lib/upload-limits.ts +6 -2
  545. package/src/modules/audit_logs/backend/audit-logs/page.tsx +8 -0
  546. package/src/modules/audit_logs/lib/display-helpers.tsx +42 -32
  547. package/src/modules/audit_logs/services/actionLogService.ts +74 -11
  548. package/src/modules/auth/acl.ts +30 -6
  549. package/src/modules/auth/api/feature-check.ts +10 -3
  550. package/src/modules/auth/api/login.ts +9 -1
  551. package/src/modules/auth/api/reset/validate.ts +57 -0
  552. package/src/modules/auth/api/roles/acl/route.ts +42 -39
  553. package/src/modules/auth/api/session/refresh.ts +32 -1
  554. package/src/modules/auth/api/users/acl/route.ts +177 -53
  555. package/src/modules/auth/api/users/route.ts +18 -5
  556. package/src/modules/auth/backend/roles/[id]/edit/page.meta.ts +5 -2
  557. package/src/modules/auth/backend/roles/page.tsx +4 -2
  558. package/src/modules/auth/backend/users/[id]/edit/page.meta.ts +5 -2
  559. package/src/modules/auth/backend/users/page.tsx +3 -2
  560. package/src/modules/auth/commands/acl.ts +495 -0
  561. package/src/modules/auth/components/AclEditor.tsx +63 -33
  562. package/src/modules/auth/data/entities.ts +4 -1
  563. package/src/modules/auth/data/validators.ts +5 -0
  564. package/src/modules/auth/di.ts +46 -16
  565. package/src/modules/auth/frontend/reset/[token]/page.tsx +74 -0
  566. package/src/modules/auth/i18n/de.json +389 -0
  567. package/src/modules/auth/i18n/en.json +389 -0
  568. package/src/modules/auth/i18n/es.json +389 -0
  569. package/src/modules/auth/i18n/ko.json +389 -0
  570. package/src/modules/auth/i18n/pl.json +391 -2
  571. package/src/modules/auth/lib/grantChecks.ts +6 -0
  572. package/src/modules/auth/lib/userIdFilter.ts +31 -0
  573. package/src/modules/auth/services/authService.ts +18 -2
  574. package/src/modules/auth/services/principalService.ts +266 -0
  575. package/src/modules/auth/services/rbacService.ts +110 -24
  576. package/src/modules/auth/services/roleOrganizationScope.ts +70 -0
  577. package/src/modules/business_rules/backend/logs/page.tsx +4 -1
  578. package/src/modules/business_rules/backend/rules/page.tsx +4 -1
  579. package/src/modules/business_rules/backend/sets/page.tsx +4 -1
  580. package/src/modules/business_rules/lib/expression-evaluator.ts +9 -9
  581. package/src/modules/business_rules/lib/rule-evaluator.ts +10 -9
  582. package/src/modules/catalog/ai-agents.ts +1 -1
  583. package/src/modules/catalog/ai-tools/merchandising-pack.ts +2 -2
  584. package/src/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.tsx +12 -5
  585. package/src/modules/catalog/components/categories/CategoriesDataTable.tsx +3 -0
  586. package/src/modules/catalog/components/products/ProductsDataTable.tsx +7 -0
  587. package/src/modules/catalog/i18n/de.json +1 -0
  588. package/src/modules/catalog/i18n/en.json +1 -0
  589. package/src/modules/catalog/i18n/es.json +1 -0
  590. package/src/modules/catalog/i18n/ko.json +1 -0
  591. package/src/modules/catalog/i18n/pl.json +1 -0
  592. package/src/modules/catalog/widgets/injection/merchandising-assistant-trigger/widget.client.tsx +4 -0
  593. package/src/modules/communication_channels/api/post/channels/[id]/test-send/route.ts +17 -1
  594. package/src/modules/communication_channels/api/post/test-seed/route.ts +155 -16
  595. package/src/modules/communication_channels/backend/communication_channels/channels/page.tsx +4 -0
  596. package/src/modules/communication_channels/commands/ingest-inbound-message.ts +38 -1
  597. package/src/modules/communication_channels/di.ts +7 -0
  598. package/src/modules/communication_channels/lib/adapter.ts +14 -0
  599. package/src/modules/communication_channels/lib/email-capabilities.ts +4 -0
  600. package/src/modules/communication_channels/lib/outbound-recipient.ts +71 -0
  601. package/src/modules/communication_channels/lib/resolve-channel-type.ts +99 -0
  602. package/src/modules/communication_channels/lib/test-seed.ts +64 -4
  603. package/src/modules/configs/i18n/de.json +2 -0
  604. package/src/modules/configs/i18n/en.json +2 -0
  605. package/src/modules/configs/i18n/es.json +2 -0
  606. package/src/modules/configs/i18n/ko.json +2 -0
  607. package/src/modules/configs/i18n/pl.json +2 -0
  608. package/src/modules/configs/lib/system-status.ts +9 -0
  609. package/src/modules/currencies/AGENTS.md +3 -0
  610. package/src/modules/currencies/backend/currencies/page.tsx +4 -1
  611. package/src/modules/currencies/backend/exchange-rates/page.tsx +4 -1
  612. package/src/modules/currencies/services/README.md +45 -0
  613. package/src/modules/currencies/services/rateFetchingService.ts +6 -1
  614. package/src/modules/customer_accounts/api/admin/domain-mappings.ts +7 -0
  615. package/src/modules/customer_accounts/backend/customer_accounts/roles/page.tsx +4 -1
  616. package/src/modules/customer_accounts/backend/customer_accounts/users/PortalUsersPageClient.tsx +4 -1
  617. package/src/modules/customer_accounts/services/domainMappingService.ts +10 -0
  618. package/src/modules/customers/ai-tools/companies-pack.ts +4 -1
  619. package/src/modules/customers/ai-tools/deal-analyzer-pack.ts +17 -2
  620. package/src/modules/customers/ai-tools/deals-pack.ts +66 -1
  621. package/src/modules/customers/ai-tools/people-pack.ts +4 -1
  622. package/src/modules/customers/api/activities/route.ts +45 -0
  623. package/src/modules/customers/api/companies/[id]/people/route.ts +24 -73
  624. package/src/modules/customers/api/companies/[id]/route.ts +24 -107
  625. package/src/modules/customers/api/dashboard/widgets/customer-todos/route.ts +16 -8
  626. package/src/modules/customers/api/deals/[id]/companies/route.ts +4 -1
  627. package/src/modules/customers/api/deals/[id]/people/route.ts +4 -1
  628. package/src/modules/customers/api/deals/[id]/route.ts +17 -28
  629. package/src/modules/customers/api/deals/[id]/stats/route.ts +10 -25
  630. package/src/modules/customers/api/deals/aggregate/route.ts +17 -9
  631. package/src/modules/customers/api/deals/map/route.ts +4 -4
  632. package/src/modules/customers/api/deals/route.ts +50 -1
  633. package/src/modules/customers/api/entity-roles-factory.ts +8 -4
  634. package/src/modules/customers/api/interactions/route.ts +8 -2
  635. package/src/modules/customers/api/interactions/tasks/route.ts +24 -1
  636. package/src/modules/customers/api/people/[id]/companies/[linkId]/route.ts +12 -4
  637. package/src/modules/customers/api/people/[id]/companies/context.ts +4 -1
  638. package/src/modules/customers/api/people/[id]/companies/enriched/route.ts +4 -1
  639. package/src/modules/customers/api/people/[id]/route.ts +16 -11
  640. package/src/modules/customers/api/people/check-phone/route.ts +75 -10
  641. package/src/modules/customers/api/todos/route.ts +27 -2
  642. package/src/modules/customers/backend/customers/companies/page.tsx +5 -2
  643. package/src/modules/customers/backend/customers/deals/[id]/page.tsx +7 -2
  644. package/src/modules/customers/backend/customers/deals/page.tsx +8 -2
  645. package/src/modules/customers/backend/customers/deals/pipeline/components/Lane.tsx +5 -14
  646. package/src/modules/customers/backend/customers/deals/pipeline/components/StatusFilterPopover.tsx +109 -27
  647. package/src/modules/customers/backend/customers/deals/pipeline/components/toneClasses.ts +21 -0
  648. package/src/modules/customers/backend/customers/people/page.tsx +5 -2
  649. package/src/modules/customers/backend/hooks/useEmailDuplicateCheck.ts +12 -4
  650. package/src/modules/customers/commands/deals.ts +34 -59
  651. package/src/modules/customers/commands/interactions.ts +1 -1
  652. package/src/modules/customers/commands/personCompanyLinks.ts +224 -8
  653. package/src/modules/customers/components/CustomerTodosTable.tsx +2 -0
  654. package/src/modules/customers/components/DealsKpiStrip.tsx +7 -7
  655. package/src/modules/customers/components/calendar/AgendaList.tsx +3 -3
  656. package/src/modules/customers/components/calendar/CalendarEventEditor.tsx +1 -1
  657. package/src/modules/customers/components/calendar/CalendarScreen.tsx +1 -1
  658. package/src/modules/customers/components/calendar/CalendarSettingsModal.tsx +1 -1
  659. package/src/modules/customers/components/calendar/EventBlock.tsx +2 -2
  660. package/src/modules/customers/components/calendar/EventPeekPopover.tsx +4 -2
  661. package/src/modules/customers/components/calendar/editor/PeopleField.tsx +61 -5
  662. package/src/modules/customers/components/calendar/editor/hooks.ts +7 -1
  663. package/src/modules/customers/components/calendar/types.ts +2 -2
  664. package/src/modules/customers/components/detail/CompanyKpiBar.tsx +5 -4
  665. package/src/modules/customers/components/detail/CompanyPeopleSection.tsx +8 -1
  666. package/src/modules/customers/components/detail/DealForm.tsx +22 -2
  667. package/src/modules/customers/components/detail/DealsSection.tsx +11 -5
  668. package/src/modules/customers/components/detail/EntityTagsDialog.tsx +58 -12
  669. package/src/modules/customers/components/detail/PersonCompaniesSection.tsx +8 -1
  670. package/src/modules/customers/components/detail/hooks/usePersonTasks.ts +23 -14
  671. package/src/modules/customers/components/detail/schedule/ParticipantsField.tsx +5 -5
  672. package/src/modules/customers/components/detail/schedule/useScheduleFormState.ts +5 -5
  673. package/src/modules/customers/components/detail/types.ts +1 -1
  674. package/src/modules/customers/components/detail/utils.ts +15 -5
  675. package/src/modules/customers/data/entities.ts +1 -1
  676. package/src/modules/customers/data/validators.ts +50 -9
  677. package/src/modules/customers/events.ts +5 -0
  678. package/src/modules/customers/i18n/de.json +9 -1
  679. package/src/modules/customers/i18n/en.json +9 -1
  680. package/src/modules/customers/i18n/es.json +9 -1
  681. package/src/modules/customers/i18n/ko.json +9 -1
  682. package/src/modules/customers/i18n/pl.json +9 -1
  683. package/src/modules/customers/lib/calendar/conflicts.ts +10 -2
  684. package/src/modules/customers/lib/calendar/editorPayload.ts +4 -3
  685. package/src/modules/customers/lib/calendar/mapItem.ts +8 -3
  686. package/src/modules/customers/lib/calendar/participantIdentity.ts +17 -0
  687. package/src/modules/customers/lib/closureStage.ts +76 -0
  688. package/src/modules/customers/lib/dealStatus.ts +42 -0
  689. package/src/modules/customers/lib/detailReadAccess.ts +35 -0
  690. package/src/modules/customers/lib/findPeopleByAddresses.ts +8 -6
  691. package/src/modules/customers/lib/personCompanies.ts +136 -1
  692. package/src/modules/customers/lib/todoCompatibility.ts +19 -1
  693. package/src/modules/dashboards/i18n/es.json +4 -4
  694. package/src/modules/dashboards/i18n/pl.json +7 -7
  695. package/src/modules/dashboards/lib/widgetScope.ts +6 -0
  696. package/src/modules/data_sync/AGENTS.md +1 -1
  697. package/src/modules/data_sync/backend/data-sync/page.tsx +4 -1
  698. package/src/modules/data_sync/lib/abandoned-run.ts +56 -0
  699. package/src/modules/data_sync/lib/adapter.ts +36 -0
  700. package/src/modules/data_sync/lib/sync-engine.ts +113 -5
  701. package/src/modules/data_sync/workers/sync-export.ts +4 -0
  702. package/src/modules/data_sync/workers/sync-import.ts +4 -0
  703. package/src/modules/devices/AGENTS.md +20 -1
  704. package/src/modules/devices/acl.ts +9 -1
  705. package/src/modules/devices/api/admin/devices/[id]/route.ts +5 -34
  706. package/src/modules/devices/api/admin/devices/route.ts +14 -1
  707. package/src/modules/devices/api/deviceList.ts +135 -11
  708. package/src/modules/devices/api/deviceSerialization.ts +50 -0
  709. package/src/modules/devices/api/openapi.ts +9 -1
  710. package/src/modules/devices/api/route.ts +9 -1
  711. package/src/modules/devices/backend/devices/[id]/page.tsx +18 -32
  712. package/src/modules/devices/backend/devices/create/page.tsx +17 -1
  713. package/src/modules/devices/backend/devices/page.tsx +44 -45
  714. package/src/modules/devices/backend/devices/useDeviceUserLabels.ts +45 -0
  715. package/src/modules/devices/backend/devices/userOptions.ts +99 -0
  716. package/src/modules/devices/i18n/de.json +3 -2
  717. package/src/modules/devices/i18n/en.json +3 -2
  718. package/src/modules/devices/i18n/es.json +3 -2
  719. package/src/modules/devices/i18n/ko.json +3 -2
  720. package/src/modules/devices/i18n/pl.json +3 -2
  721. package/src/modules/devices/setup.ts +6 -2
  722. package/src/modules/directory/backend/directory/organizations/page.tsx +3 -1
  723. package/src/modules/directory/backend/directory/tenants/page.tsx +3 -1
  724. package/src/modules/directory/di.ts +14 -2
  725. package/src/modules/directory/services/organizationHierarchyService.ts +34 -0
  726. package/src/modules/directory/services/organizationScopeService.ts +85 -0
  727. package/src/modules/directory/utils/organizationScope.ts +4 -15
  728. package/src/modules/entities/api/records.ts +2 -0
  729. package/src/modules/entities/backend/entities/user/[entityId]/records/page.tsx +4 -1
  730. package/src/modules/eudr/api/plots/route.ts +4 -0
  731. package/src/modules/eudr/backend/eudr/evidence-submissions/page.tsx +4 -0
  732. package/src/modules/eudr/backend/eudr/plots/page.tsx +4 -0
  733. package/src/modules/eudr/backend/eudr/product-mappings/page.tsx +4 -0
  734. package/src/modules/eudr/backend/eudr/risk-assessments/page.tsx +4 -0
  735. package/src/modules/eudr/backend/eudr/statements/page.tsx +4 -0
  736. package/src/modules/eudr/commands/statements.ts +0 -3
  737. package/src/modules/eudr/data/validators.ts +16 -1
  738. package/src/modules/feature_toggles/components/FeatureTogglesTable.tsx +2 -1
  739. package/src/modules/feature_toggles/components/OverridesTable.tsx +2 -1
  740. package/src/modules/feature_toggles/defaults.json +0 -8
  741. package/src/modules/inbox_ops/backend/inbox-ops/log/page.tsx +4 -0
  742. package/src/modules/inbox_ops/backend/inbox-ops/page.tsx +4 -0
  743. package/src/modules/inbox_ops/lib/htmlToPlainText.ts +1 -17
  744. package/src/modules/integrations/api/[id]/credentials/route.ts +6 -4
  745. package/src/modules/integrations/backend/integrations/[id]/page.tsx +61 -31
  746. package/src/modules/integrations/backend/integrations/bundle/[id]/page.tsx +44 -9
  747. package/src/modules/integrations/backend/integrations/credential-secret-fields.ts +84 -0
  748. package/src/modules/integrations/data/validators.ts +12 -2
  749. package/src/modules/integrations/i18n/de.json +1 -0
  750. package/src/modules/integrations/i18n/en.json +1 -0
  751. package/src/modules/integrations/i18n/es.json +1 -0
  752. package/src/modules/integrations/i18n/ko.json +1 -0
  753. package/src/modules/integrations/i18n/pl.json +1 -0
  754. package/src/modules/integrations/lib/credentials-masking.ts +10 -6
  755. package/src/modules/messages/api/[id]/route.ts +55 -1
  756. package/src/modules/messages/api/openapi.ts +20 -0
  757. package/src/modules/messages/api/route.ts +31 -2
  758. package/src/modules/messages/components/MessagesInboxPageClient.tsx +9 -16
  759. package/src/modules/messages/components/inboxFilters.ts +36 -0
  760. package/src/modules/messages/components/message-detail/hooks/useMessageDetailsConversation.ts +14 -1
  761. package/src/modules/messages/components/message-detail/panels/MessageHeader.tsx +3 -1
  762. package/src/modules/messages/components/message-detail/panels/thread-panel.tsx +2 -1
  763. package/src/modules/messages/components/message-detail/types.ts +3 -0
  764. package/src/modules/messages/components/messageListLabels.ts +52 -3
  765. package/src/modules/messages/data/validators.ts +43 -4
  766. package/src/modules/messages/lib/channel-sender-identity.ts +55 -0
  767. package/src/modules/messages/lib/composeSourceChannelType.ts +95 -0
  768. package/src/modules/payment_gateways/api/webhook/[provider]/route.ts +4 -6
  769. package/src/modules/payment_gateways/backend/payment-gateways/page.tsx +4 -1
  770. package/src/modules/payment_gateways/lib/webhook-processor.ts +11 -0
  771. package/src/modules/planner/backend/planner/availability-rulesets/page.tsx +4 -0
  772. package/src/modules/push_notifications/backend/push_notifications/page.tsx +4 -1
  773. package/src/modules/push_notifications/backend/push_notifications/send/page.tsx +4 -4
  774. package/src/modules/query_index/lib/engine.ts +249 -61
  775. package/src/modules/query_index/lib/search-entity-policy.ts +46 -0
  776. package/src/modules/query_index/lib/search-tokens.ts +135 -3
  777. package/src/modules/resources/backend/resources/resource-types/page.tsx +4 -1
  778. package/src/modules/resources/backend/resources/resources/page.tsx +4 -1
  779. package/src/modules/sales/backend/sales/channels/offers/page.tsx +4 -0
  780. package/src/modules/sales/backend/sales/channels/page.tsx +4 -0
  781. package/src/modules/sales/backend/sales/documents/[id]/page.tsx +14 -8
  782. package/src/modules/sales/commands/documents.ts +93 -0
  783. package/src/modules/sales/components/PriceWithCurrency.tsx +17 -5
  784. package/src/modules/sales/components/channels/SalesChannelOffersPanel.tsx +4 -0
  785. package/src/modules/sales/components/documents/AdjustmentsSection.tsx +6 -5
  786. package/src/modules/sales/components/documents/ItemsSection.tsx +56 -18
  787. package/src/modules/sales/components/documents/LineItemDialog.tsx +137 -20
  788. package/src/modules/sales/components/documents/PaymentsSection.tsx +20 -9
  789. package/src/modules/sales/components/documents/ReturnsSection.tsx +6 -5
  790. package/src/modules/sales/components/documents/SalesDocumentsTable.tsx +106 -14
  791. package/src/modules/sales/components/documents/SalesOrderDraftLines.tsx +6 -5
  792. package/src/modules/sales/components/documents/ShipmentDialog.tsx +5 -4
  793. package/src/modules/sales/components/documents/ShipmentsSection.tsx +6 -5
  794. package/src/modules/sales/components/documents/lineItemShipmentLock.ts +74 -0
  795. package/src/modules/sales/components/documents/lineItemUtils.ts +7 -2
  796. package/src/modules/sales/data/entities.ts +6 -0
  797. package/src/modules/sales/extension-points.ts +1 -0
  798. package/src/modules/sales/i18n/de.json +8 -0
  799. package/src/modules/sales/i18n/en.json +8 -0
  800. package/src/modules/sales/i18n/es.json +8 -0
  801. package/src/modules/sales/i18n/ko.json +8 -0
  802. package/src/modules/sales/i18n/pl.json +8 -0
  803. package/src/modules/sales/lib/salesChannelsToggleSeed.ts +42 -0
  804. package/src/modules/sales/migrations/.snapshot-open-mercato.json +60 -0
  805. package/src/modules/sales/migrations/Migration20260821120000_sales_notes_addresses_context_idx.ts +87 -0
  806. package/src/modules/sales/setup.ts +2 -0
  807. package/src/modules/sales/widgets/injection/payment-gateway-status-column/widget.ts +9 -1
  808. package/src/modules/sales/widgets/injection-table.ts +4 -7
  809. package/src/modules/staff/backend/staff/leave-requests/page.tsx +4 -0
  810. package/src/modules/staff/backend/staff/my-leave-requests/page.tsx +4 -0
  811. package/src/modules/staff/backend/staff/team-members/page.tsx +6 -0
  812. package/src/modules/staff/backend/staff/team-roles/page.tsx +4 -0
  813. package/src/modules/staff/backend/staff/teams/[id]/edit/page.tsx +4 -0
  814. package/src/modules/staff/backend/staff/teams/page.tsx +4 -0
  815. package/src/modules/staff/backend/staff/timesheets/page.tsx +12 -1
  816. package/src/modules/staff/backend/staff/timesheets/projects/page.tsx +4 -0
  817. package/src/modules/sync_excel/lib/adapters/customers.ts +5 -0
  818. package/src/modules/warranty_claims/api/assignees/route.ts +3 -3
  819. package/src/modules/warranty_claims/api/portal/attachments/route.ts +2 -2
  820. package/src/modules/warranty_claims/api/portal/claims/route.ts +12 -9
  821. package/src/modules/warranty_claims/backend/page.tsx +4 -0
  822. package/src/modules/warranty_claims/backend/warranty_claims/registrations/page.tsx +4 -0
  823. package/src/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.tsx +4 -0
  824. package/src/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.tsx +4 -0
  825. package/src/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.tsx +4 -0
  826. package/src/modules/wms/api/warehouseSearch.ts +23 -0
  827. package/src/modules/wms/api/warehouses/route.ts +13 -9
  828. package/src/modules/wms/api/zones/route.ts +16 -0
  829. package/src/modules/wms/commands/configuration.ts +159 -10
  830. package/src/modules/wms/commands/inventory-actions.ts +3 -0
  831. package/src/modules/wms/commands/shared.ts +17 -0
  832. package/src/modules/wms/components/backend/WarehouseEditDialog.tsx +216 -0
  833. package/src/modules/wms/components/backend/WmsConfigurationPage.tsx +95 -141
  834. package/src/modules/wms/components/backend/WmsInventoryConsolePage.tsx +2 -0
  835. package/src/modules/wms/components/backend/WmsLotsListPage.tsx +2 -0
  836. package/src/modules/wms/components/backend/inventoryMutationLoaders.ts +36 -20
  837. package/src/modules/wms/components/backend/warehouseFormOptions.ts +72 -0
  838. package/src/modules/wms/i18n/de.json +2 -0
  839. package/src/modules/wms/i18n/en.json +2 -0
  840. package/src/modules/wms/i18n/es.json +2 -0
  841. package/src/modules/wms/i18n/ko.json +2 -0
  842. package/src/modules/wms/i18n/pl.json +2 -0
  843. package/src/modules/workflows/backend/definitions/page.tsx +4 -1
  844. package/src/modules/workflows/backend/events/page.tsx +4 -1
  845. package/src/modules/workflows/backend/instances/page.tsx +4 -1
  846. package/src/modules/workflows/backend/tasks/page.tsx +4 -1
  847. package/src/modules/workflows/lib/activity-executor.ts +9 -0
@@ -3,6 +3,7 @@
3
3
  "auth.accessDenied.home": "Przejdź na stronę główną",
4
4
  "auth.accessDenied.message": "Nie masz uprawnień do wyświetlenia tej strony. Skontaktuj się z administratorem.",
5
5
  "auth.accessDenied.title": "Brak dostępu",
6
+ "auth.acl.allModuleFeatures": "Wszystkie",
6
7
  "auth.acl.allowAllOrganizations": "Zezwól na wszystkie organizacje",
7
8
  "auth.acl.deps.missing.add": "Dodaj \"{dep}\"",
8
9
  "auth.acl.deps.missing.item": "\"{feature}\" wymaga:",
@@ -12,15 +13,399 @@
12
13
  "auth.acl.deps.orphaned.restore": "Przywróć \"{dependency}\"",
13
14
  "auth.acl.deps.orphaned.title": "Usuwasz uprawnienie wymagane przez inne przyznane uprawnienia:",
14
15
  "auth.acl.deps.unknown.title": "Niektóre zadeklarowane zależności nie pasują do żadnego znanego uprawnienia:",
15
- "auth.acl.organizationWarning": "Ograniczenia organizacyjne zapisywane tylko wtedy, gdy wybrano co najmniej jedno nadpisanie uprawnień. Dodaj uprawnienie lub włącz wildcard modułu przed zapisaniem.",
16
+ "auth.acl.features.ai_assistant.conversations.manage": "Zarządzaj rozmowami Asystenta AI",
17
+ "auth.acl.features.ai_assistant.conversations.share": "Udostępniaj rozmowy Asystenta AI",
18
+ "auth.acl.features.ai_assistant.mcp.serve": "Uruchamiaj serwer MCP",
19
+ "auth.acl.features.ai_assistant.mcp_servers.manage": "Zarządzaj konfiguracjami serwerów MCP",
20
+ "auth.acl.features.ai_assistant.mcp_servers.view": "Wyświetl konfiguracje serwerów MCP",
21
+ "auth.acl.features.ai_assistant.settings.manage": "Zarządzaj ustawieniami Asystenta AI",
22
+ "auth.acl.features.ai_assistant.tools.list": "Wyświetl listę narzędzi MCP",
23
+ "auth.acl.features.ai_assistant.view": "Wyświetl ustawienia Asystenta AI",
24
+ "auth.acl.features.analytics.view": "Wyświetl widżety analityczne",
25
+ "auth.acl.features.api_keys.create": "Twórz klucze API",
26
+ "auth.acl.features.api_keys.delete": "Usuwaj klucze API",
27
+ "auth.acl.features.api_keys.view": "Wyświetl klucze API",
28
+ "auth.acl.features.attachments.manage": "Zarządzaj załącznikami",
29
+ "auth.acl.features.attachments.view": "Wyświetl załączniki",
30
+ "auth.acl.features.audit_logs.redo_self": "Ponawiaj własne operacje",
31
+ "auth.acl.features.audit_logs.redo_tenant": "Ponawiaj operacje najemcy",
32
+ "auth.acl.features.audit_logs.undo_self": "Cofaj własne operacje",
33
+ "auth.acl.features.audit_logs.undo_tenant": "Cofaj operacje najemcy",
34
+ "auth.acl.features.audit_logs.view_self": "Wyświetl własne dzienniki audytu",
35
+ "auth.acl.features.audit_logs.view_tenant": "Wyświetl dzienniki audytu najemcy",
36
+ "auth.acl.features.auth.acl.manage": "Zarządzaj listami kontroli dostępu",
37
+ "auth.acl.features.auth.roles.list": "Wyświetl listę ról",
38
+ "auth.acl.features.auth.roles.manage": "Zarządzaj rolami",
39
+ "auth.acl.features.auth.sidebar.manage": "Zarządzaj ustawieniami paska bocznego",
40
+ "auth.acl.features.auth.users.create": "Twórz użytkowników",
41
+ "auth.acl.features.auth.users.delete": "Usuwaj użytkowników",
42
+ "auth.acl.features.auth.users.edit": "Edytuj użytkowników",
43
+ "auth.acl.features.auth.users.list": "Wyświetl listę użytkowników",
44
+ "auth.acl.features.business_rules.execute": "Uruchamiaj reguły biznesowe ręcznie",
45
+ "auth.acl.features.business_rules.manage": "Twórz, edytuj i usuwaj reguły biznesowe",
46
+ "auth.acl.features.business_rules.manage_sets": "Zarządzaj zestawami reguł",
47
+ "auth.acl.features.business_rules.view": "Wyświetl reguły biznesowe",
48
+ "auth.acl.features.business_rules.view_logs": "Wyświetl dzienniki wykonywania reguł",
49
+ "auth.acl.features.catalog.categories.manage": "Zarządzaj kategoriami katalogu",
50
+ "auth.acl.features.catalog.categories.view": "Wyświetl kategorie katalogu",
51
+ "auth.acl.features.catalog.pricing.manage": "Zarządzaj cenami w katalogu",
52
+ "auth.acl.features.catalog.products.manage": "Zarządzaj produktami w katalogu",
53
+ "auth.acl.features.catalog.products.view": "Wyświetl produkty w katalogu",
54
+ "auth.acl.features.catalog.settings.manage": "Zarządzaj ustawieniami katalogu",
55
+ "auth.acl.features.catalog.variants.manage": "Zarządzaj wariantami w katalogu",
56
+ "auth.acl.features.channel_apns.configure": "Konfiguruj dane dostępowe APNs",
57
+ "auth.acl.features.channel_apns.view": "Wyświetl konfigurację kanału APNs",
58
+ "auth.acl.features.channel_discord.ai_auto_reply.run": "Uruchamiaj agenta automatycznych odpowiedzi AI na Discordzie",
59
+ "auth.acl.features.channel_discord.configure": "Konfiguruj kanał bota Discord",
60
+ "auth.acl.features.channel_discord.view": "Wyświetl konfigurację kanału Discord",
61
+ "auth.acl.features.channel_expo.configure": "Konfiguruj dane dostępowe powiadomień push Expo",
62
+ "auth.acl.features.channel_expo.view": "Wyświetl konfigurację kanału push Expo",
63
+ "auth.acl.features.channel_fcm.configure": "Konfiguruj dane dostępowe FCM",
64
+ "auth.acl.features.channel_fcm.view": "Wyświetl konfigurację kanału FCM",
65
+ "auth.acl.features.channel_gmail.configure": "Konfiguruj domyślne ustawienia OAuth Gmaila",
66
+ "auth.acl.features.channel_gmail.view": "Wyświetl konfigurację kanału Gmail",
67
+ "auth.acl.features.channel_imap.configure": "Konfiguruj domyślne ustawienia kanału IMAP",
68
+ "auth.acl.features.channel_imap.view": "Wyświetl konfigurację kanału IMAP",
69
+ "auth.acl.features.checkout.create": "Twórz linki i szablony płatności",
70
+ "auth.acl.features.checkout.delete": "Usuwaj linki i szablony płatności",
71
+ "auth.acl.features.checkout.edit": "Edytuj linki i szablony płatności",
72
+ "auth.acl.features.checkout.export": "Eksportuj transakcje płatnicze",
73
+ "auth.acl.features.checkout.view": "Wyświetl linki i transakcje płatnicze",
74
+ "auth.acl.features.checkout.viewPii": "Wyświetl dane osobowe klientów dokonujących płatności",
75
+ "auth.acl.features.communication_channels.admin": "Administruj wszystkimi kanałami komunikacji najemcy",
76
+ "auth.acl.features.communication_channels.assign": "Przypisuj rozmowy z kanałów",
77
+ "auth.acl.features.communication_channels.channel.import_history": "Importuj historię kanału",
78
+ "auth.acl.features.communication_channels.channel.push.manage": "Zarządzaj dostarczaniem powiadomień push",
79
+ "auth.acl.features.communication_channels.connect_tenant_channel": "Podłączaj kanały komunikacji najemcy",
80
+ "auth.acl.features.communication_channels.connect_user_channel": "Podłączaj własne kanały komunikacji",
81
+ "auth.acl.features.communication_channels.manage": "Zarządzaj kanałami komunikacji",
82
+ "auth.acl.features.communication_channels.react": "Reaguj na wiadomości w kanałach",
83
+ "auth.acl.features.communication_channels.view": "Wyświetl kanały komunikacji",
84
+ "auth.acl.features.configs.cache.manage": "Zarządzaj pamięcią podręczną",
85
+ "auth.acl.features.configs.cache.view": "Wyświetl przegląd pamięci podręcznej",
86
+ "auth.acl.features.configs.manage": "Zarządzaj konfiguracją",
87
+ "auth.acl.features.configs.system_status.view": "Wyświetl stan systemu",
88
+ "auth.acl.features.currencies.fetch.manage": "Zarządzaj konfiguracją pobierania walut",
89
+ "auth.acl.features.currencies.fetch.view": "Wyświetl konfigurację pobierania walut",
90
+ "auth.acl.features.currencies.manage": "Zarządzaj walutami",
91
+ "auth.acl.features.currencies.rates.manage": "Zarządzaj kursami walut",
92
+ "auth.acl.features.currencies.rates.view": "Wyświetl kursy walut",
93
+ "auth.acl.features.currencies.view": "Wyświetl waluty",
94
+ "auth.acl.features.customer_accounts.domain.manage": "Zarządzaj własnymi domenami portalu",
95
+ "auth.acl.features.customer_accounts.invite": "Zapraszaj użytkowników klientów",
96
+ "auth.acl.features.customer_accounts.manage": "Zarządzaj kontami klientów",
97
+ "auth.acl.features.customer_accounts.roles.manage": "Zarządzaj rolami klientów",
98
+ "auth.acl.features.customer_accounts.view": "Wyświetl konta klientów",
99
+ "auth.acl.features.customers.activities.manage": "Zarządzaj aktywnościami",
100
+ "auth.acl.features.customers.activities.view": "Wyświetl aktywności",
101
+ "auth.acl.features.customers.companies.manage": "Zarządzaj firmami",
102
+ "auth.acl.features.customers.companies.view": "Wyświetl firmy",
103
+ "auth.acl.features.customers.deals.manage": "Zarządzaj szansami sprzedaży",
104
+ "auth.acl.features.customers.deals.view": "Wyświetl szanse sprzedaży",
105
+ "auth.acl.features.customers.email.compose": "Twórz i wysyłaj wiadomości e-mail z CRM",
106
+ "auth.acl.features.customers.email.view_private": "Wyświetl prywatne wiadomości e-mail innych użytkowników (zarezerwowane — nieaktywne w wersji 1)",
107
+ "auth.acl.features.customers.interactions.manage": "Zarządzaj interakcjami",
108
+ "auth.acl.features.customers.interactions.view": "Wyświetl interakcje",
109
+ "auth.acl.features.customers.people.manage": "Zarządzaj osobami",
110
+ "auth.acl.features.customers.people.view": "Wyświetl osoby",
111
+ "auth.acl.features.customers.pipelines.manage": "Zarządzaj lejkami sprzedażowymi",
112
+ "auth.acl.features.customers.pipelines.view": "Wyświetl lejki sprzedażowe",
113
+ "auth.acl.features.customers.roles.manage": "Zarządzaj rolami encji",
114
+ "auth.acl.features.customers.roles.view": "Wyświetl role encji",
115
+ "auth.acl.features.customers.settings.manage": "Zarządzaj ustawieniami klientów",
116
+ "auth.acl.features.customers.widgets.new-customers": "Używaj widżetu nowych klientów",
117
+ "auth.acl.features.customers.widgets.new-deals": "Używaj widżetu nowych szans sprzedaży",
118
+ "auth.acl.features.customers.widgets.next-interactions": "Używaj widżetu nadchodzących interakcji",
119
+ "auth.acl.features.customers.widgets.todos": "Używaj widżetu zadań klientów",
120
+ "auth.acl.features.dashboards.admin.assign-widgets": "Zarządzaj dostępnością widżetów panelu",
121
+ "auth.acl.features.dashboards.configure": "Dostosowuj układ panelu",
122
+ "auth.acl.features.dashboards.view": "Wyświetl panel",
123
+ "auth.acl.features.data_sync.configure": "Konfiguruj mapowania i harmonogramy synchronizacji",
124
+ "auth.acl.features.data_sync.run": "Uruchamiaj synchronizację",
125
+ "auth.acl.features.data_sync.view": "Wyświetl przebiegi synchronizacji",
126
+ "auth.acl.features.design_system.view": "Wyświetl galerię systemu projektowego",
127
+ "auth.acl.features.devices.admin": "Zarządzaj urządzeniami wszystkich użytkowników",
128
+ "auth.acl.features.devices.manage": "Zarządzaj własnymi urządzeniami",
129
+ "auth.acl.features.devices.view": "Wyświetl własne urządzenia",
130
+ "auth.acl.features.dictionaries.manage": "Zarządzaj współdzielonymi słownikami",
131
+ "auth.acl.features.dictionaries.view": "Wyświetl współdzielone słowniki",
132
+ "auth.acl.features.directory.organizations.manage": "Zarządzaj organizacjami",
133
+ "auth.acl.features.directory.organizations.view": "Wyświetl organizacje",
134
+ "auth.acl.features.directory.tenants.manage": "Zarządzaj najemcami",
135
+ "auth.acl.features.directory.tenants.view": "Wyświetl najemców",
136
+ "auth.acl.features.documents.create": "Twórz dokumenty",
137
+ "auth.acl.features.documents.delete": "Usuwaj dokumenty",
138
+ "auth.acl.features.documents.edit": "Edytuj dokumenty",
139
+ "auth.acl.features.documents.manage": "Zarządzaj wszystkimi dokumentami",
140
+ "auth.acl.features.documents.share": "Udostępniaj dokumenty",
141
+ "auth.acl.features.documents.templates.manage": "Zarządzaj szablonami dokumentów",
142
+ "auth.acl.features.documents.view": "Wyświetl dokumenty",
143
+ "auth.acl.features.entities.definitions.manage": "Zarządzaj definicjami pól własnych",
144
+ "auth.acl.features.entities.definitions.view": "Wyświetl definicje pól własnych",
145
+ "auth.acl.features.entities.records.manage": "Zarządzaj rekordami",
146
+ "auth.acl.features.entities.records.view": "Wyświetl rekordy",
147
+ "auth.acl.features.eudr.mappings.manage": "Zarządzaj mapowaniami EUDR",
148
+ "auth.acl.features.eudr.mappings.view": "Wyświetl mapowania EUDR",
149
+ "auth.acl.features.eudr.plots.manage": "Zarządzaj działkami EUDR",
150
+ "auth.acl.features.eudr.plots.view": "Wyświetl działki EUDR",
151
+ "auth.acl.features.eudr.risk.manage": "Zarządzaj ocenami ryzyka EUDR",
152
+ "auth.acl.features.eudr.risk.view": "Wyświetl oceny ryzyka EUDR",
153
+ "auth.acl.features.eudr.statements.manage": "Zarządzaj oświadczeniami EUDR",
154
+ "auth.acl.features.eudr.statements.view": "Wyświetl oświadczenia EUDR",
155
+ "auth.acl.features.eudr.submissions.manage": "Zarządzaj zgłoszeniami EUDR",
156
+ "auth.acl.features.eudr.submissions.view": "Wyświetl zgłoszenia EUDR",
157
+ "auth.acl.features.example.backend": "Uzyskaj dostęp do przykładowego zaplecza",
158
+ "auth.acl.features.example.manage": "Zarządzaj przykładem (test nadpisania)",
159
+ "auth.acl.features.example.todos.manage": "Zarządzaj zadaniami",
160
+ "auth.acl.features.example.todos.view": "Wyświetl zadania",
161
+ "auth.acl.features.example.view": "Wyświetl przykładowe rozszerzenia danych",
162
+ "auth.acl.features.example.widgets.injection": "Używaj widżetów wstrzykiwanych",
163
+ "auth.acl.features.example.widgets.notes": "Używaj widżetu notatek panelu",
164
+ "auth.acl.features.example.widgets.todo": "Używaj widżetu zadań panelu",
165
+ "auth.acl.features.example.widgets.welcome": "Używaj widżetu powitalnego panelu",
166
+ "auth.acl.features.example_customers_sync.manage": "Zarządzaj przykładową synchronizacją klientów",
167
+ "auth.acl.features.example_customers_sync.view": "Wyświetl diagnostykę przykładowej synchronizacji klientów",
168
+ "auth.acl.features.feature_toggles.global.manage": "Zarządzaj globalnymi przełącznikami funkcji w całym systemie",
169
+ "auth.acl.features.feature_toggles.manage": "Zarządzaj przełącznikami funkcji poszczególnych najemców",
170
+ "auth.acl.features.feature_toggles.view": "Wyświetl przełączniki funkcji",
171
+ "auth.acl.features.gateway_stripe.configure": "Konfiguruj ustawienia bramki Stripe",
172
+ "auth.acl.features.gateway_stripe.view": "Wyświetl konfigurację bramki Stripe",
173
+ "auth.acl.features.inbox_ops.log.view": "Wyświetl dziennik przetwarzania",
174
+ "auth.acl.features.inbox_ops.proposals.manage": "Zarządzaj propozycjami",
175
+ "auth.acl.features.inbox_ops.proposals.view": "Wyświetl propozycje",
176
+ "auth.acl.features.inbox_ops.replies.send": "Wysyłaj wersje robocze odpowiedzi",
177
+ "auth.acl.features.inbox_ops.settings.manage": "Zarządzaj ustawieniami skrzynki odbiorczej",
178
+ "auth.acl.features.integrations.credentials.manage": "Zarządzaj danymi dostępowymi integracji",
179
+ "auth.acl.features.integrations.manage": "Zarządzaj konfiguracjami integracji",
180
+ "auth.acl.features.integrations.view": "Wyświetl integracje i mapowania identyfikatorów zewnętrznych",
181
+ "auth.acl.features.messages.actions": "Wykonuj operacje na wiadomościach",
182
+ "auth.acl.features.messages.attach": "Dołączaj rekordy do wiadomości",
183
+ "auth.acl.features.messages.attach_files": "Dołączaj pliki do wiadomości",
184
+ "auth.acl.features.messages.compose": "Twórz wiadomości",
185
+ "auth.acl.features.messages.email": "Wysyłaj wiadomości e-mailem",
186
+ "auth.acl.features.messages.manage": "Zarządzaj wszystkimi wiadomościami",
187
+ "auth.acl.features.messages.view": "Wyświetl wiadomości",
188
+ "auth.acl.features.notifications.create": "Twórz powiadomienia dla innych osób",
189
+ "auth.acl.features.notifications.manage": "Zarządzaj wszystkimi powiadomieniami",
190
+ "auth.acl.features.notifications.manage_preferences": "Zarządzaj własnymi preferencjami powiadomień",
191
+ "auth.acl.features.notifications.manage_user_preferences": "Zarządzaj preferencjami powiadomień innych użytkowników",
192
+ "auth.acl.features.notifications.view": "Wyświetl własne powiadomienia",
193
+ "auth.acl.features.onboarding.access": "Uzyskaj dostęp do procesu wdrożenia",
194
+ "auth.acl.features.onboarding.submit": "Przesyłaj wnioski wdrożeniowe",
195
+ "auth.acl.features.onboarding.verify": "Weryfikuj wnioski wdrożeniowe",
196
+ "auth.acl.features.payment_gateways.capture": "Przechwytuj autoryzowane płatności",
197
+ "auth.acl.features.payment_gateways.manage": "Twórz sesje płatności i zarządzaj nimi",
198
+ "auth.acl.features.payment_gateways.refund": "Zwracaj przechwycone płatności",
199
+ "auth.acl.features.payment_gateways.view": "Wyświetl transakcje bramek płatniczych",
200
+ "auth.acl.features.perspectives.role_defaults": "Zarządzaj domyślnymi perspektywami ról",
201
+ "auth.acl.features.perspectives.use": "Używaj perspektyw tabel",
202
+ "auth.acl.features.planner.manage_availability": "Zarządzaj dostępnością",
203
+ "auth.acl.features.planner.view": "Wyświetl harmonogramy",
204
+ "auth.acl.features.progress.cancel": "Anuluj zadania postępu",
205
+ "auth.acl.features.progress.create": "Twórz zadania postępu",
206
+ "auth.acl.features.progress.manage": "Zarządzaj wszystkimi zadaniami postępu",
207
+ "auth.acl.features.progress.update": "Aktualizuj zadania postępu",
208
+ "auth.acl.features.progress.view": "Wyświetl zadania postępu",
209
+ "auth.acl.features.push_notifications.send_custom": "Wysyłaj własne powiadomienia push",
210
+ "auth.acl.features.push_notifications.view_deliveries": "Wyświetl dziennik dostarczania powiadomień push",
211
+ "auth.acl.features.query_index.purge": "Czyść indeks",
212
+ "auth.acl.features.query_index.reindex": "Uruchamiaj ponowne indeksowanie",
213
+ "auth.acl.features.query_index.status.view": "Wyświetl stan indeksu",
214
+ "auth.acl.features.record_locks.force_release": "Wymuszaj zwolnienie blokad innych użytkowników",
215
+ "auth.acl.features.record_locks.manage": "Zarządzaj ustawieniami blokowania rekordów",
216
+ "auth.acl.features.record_locks.override_incoming": "Nadpisuj przychodzące zmiany powodujące konflikt",
217
+ "auth.acl.features.record_locks.view": "Wyświetl blokady rekordów i używaj ich",
218
+ "auth.acl.features.resources.manage_resources": "Zarządzaj zasobami",
219
+ "auth.acl.features.resources.view": "Wyświetl zasoby",
220
+ "auth.acl.features.sales.channels.manage": "Zarządzaj kanałami sprzedaży",
221
+ "auth.acl.features.sales.channels.view": "Wyświetl kanały sprzedaży",
222
+ "auth.acl.features.sales.credit_memos.manage": "Zarządzaj notami kredytowymi",
223
+ "auth.acl.features.sales.documents.number.edit": "Edytuj numery dokumentów sprzedaży",
224
+ "auth.acl.features.sales.invoices.manage": "Zarządzaj fakturami sprzedaży",
225
+ "auth.acl.features.sales.orders.approve": "Zatwierdzaj zamówienia sprzedaży",
226
+ "auth.acl.features.sales.orders.manage": "Zarządzaj zamówieniami sprzedaży",
227
+ "auth.acl.features.sales.orders.view": "Wyświetl zamówienia sprzedaży",
228
+ "auth.acl.features.sales.payments.manage": "Zarządzaj płatnościami za zamówienia",
229
+ "auth.acl.features.sales.quotes.manage": "Zarządzaj ofertami sprzedaży",
230
+ "auth.acl.features.sales.quotes.view": "Wyświetl oferty sprzedaży",
231
+ "auth.acl.features.sales.returns.create": "Twórz zwroty zamówień",
232
+ "auth.acl.features.sales.returns.manage": "Edytuj i usuwaj zwroty zamówień",
233
+ "auth.acl.features.sales.returns.view": "Wyświetl zwroty zamówień",
234
+ "auth.acl.features.sales.settings.manage": "Zarządzaj konfiguracją sprzedaży",
235
+ "auth.acl.features.sales.settings.view": "Wyświetl konfigurację sprzedaży",
236
+ "auth.acl.features.sales.shipments.manage": "Zarządzaj wysyłkami zamówień",
237
+ "auth.acl.features.sales.widgets.new-orders": "Wyświetl widżet nowych zamówień",
238
+ "auth.acl.features.sales.widgets.new-quotes": "Wyświetl widżet nowych ofert",
239
+ "auth.acl.features.scheduler.jobs.manage": "Zarządzaj harmonogramami",
240
+ "auth.acl.features.scheduler.jobs.trigger": "Uruchamiaj harmonogramy",
241
+ "auth.acl.features.scheduler.jobs.view": "Wyświetl harmonogramy",
242
+ "auth.acl.features.search.embeddings.manage": "Zarządzaj ustawieniami osadzeń",
243
+ "auth.acl.features.search.embeddings.view": "Wyświetl ustawienia osadzeń",
244
+ "auth.acl.features.search.global": "Używaj wyszukiwania globalnego (Cmd+K)",
245
+ "auth.acl.features.search.manage": "Zarządzaj ustawieniami wyszukiwania",
246
+ "auth.acl.features.search.reindex": "Ponownie indeksuj dane wyszukiwania",
247
+ "auth.acl.features.search.view": "Wyświetl ustawienia wyszukiwania",
248
+ "auth.acl.features.security.admin.manage": "Zarządzaj zasadami bezpieczeństwa",
249
+ "auth.acl.features.security.mfa.manage": "Zarządzaj ustawieniami MFA",
250
+ "auth.acl.features.security.profile.manage": "Zarządzaj profilem bezpieczeństwa",
251
+ "auth.acl.features.security.profile.password": "Zmieniaj własne hasło",
252
+ "auth.acl.features.security.profile.view": "Wyświetl profil bezpieczeństwa",
253
+ "auth.acl.features.security.sudo.manage": "Zarządzaj ochroną sudo",
254
+ "auth.acl.features.security.sudo.view": "Wyświetl ochronę sudo",
255
+ "auth.acl.features.shipping_carriers.manage": "Zarządzaj operacjami przewoźników",
256
+ "auth.acl.features.shipping_carriers.view": "Wyświetl przesyłki przewoźników",
257
+ "auth.acl.features.sso.config.manage": "Zarządzaj konfiguracją SSO",
258
+ "auth.acl.features.sso.config.view": "Wyświetl konfigurację SSO",
259
+ "auth.acl.features.sso.scim.manage": "Zarządzaj tokenami aprowizacji SCIM",
260
+ "auth.acl.features.staff.leave_requests.manage": "Zarządzaj wnioskami urlopowymi",
261
+ "auth.acl.features.staff.leave_requests.send": "Wysyłaj wnioski urlopowe",
262
+ "auth.acl.features.staff.manage_team": "Zarządzaj pracownikami",
263
+ "auth.acl.features.staff.my_availability.manage": "Zarządzaj własną dostępnością",
264
+ "auth.acl.features.staff.my_availability.unavailability": "Zarządzaj własną niedostępnością",
265
+ "auth.acl.features.staff.my_availability.view": "Wyświetl własną dostępność",
266
+ "auth.acl.features.staff.my_leave_requests.send": "Wysyłaj własne wnioski urlopowe",
267
+ "auth.acl.features.staff.my_leave_requests.view": "Wyświetl własne wnioski urlopowe",
268
+ "auth.acl.features.staff.timesheets.approve": "Zatwierdzaj czas pracy podwładnych",
269
+ "auth.acl.features.staff.timesheets.lock": "Blokuj okresy rozliczeniowe",
270
+ "auth.acl.features.staff.timesheets.manage_all": "Zarządzaj wpisami wszystkich pracowników",
271
+ "auth.acl.features.staff.timesheets.manage_own": "Twórz, edytuj i usuwaj własne wpisy",
272
+ "auth.acl.features.staff.timesheets.projects.manage": "Zarządzaj projektami czasu pracy",
273
+ "auth.acl.features.staff.timesheets.projects.view": "Wyświetl projekty czasu pracy",
274
+ "auth.acl.features.staff.timesheets.view": "Wyświetl własne wpisy czasu pracy",
275
+ "auth.acl.features.staff.view": "Wyświetl pracowników",
276
+ "auth.acl.features.storage_providers.manage": "Zarządzaj dostawcami pamięci masowej",
277
+ "auth.acl.features.sync_excel.run": "Przesyłaj pliki CSV i przygotowuj importy",
278
+ "auth.acl.features.sync_excel.view": "Wyświetl przesłane pliki i podglądy importu Excel / CSV",
279
+ "auth.acl.features.translations.manage": "Zarządzaj tłumaczeniami encji",
280
+ "auth.acl.features.translations.manage_locales": "Konfiguruj obsługiwane ustawienia regionalne",
281
+ "auth.acl.features.translations.view": "Wyświetl tłumaczenia",
282
+ "auth.acl.features.warranty_claims.claim.create": "Twórz zgłoszenia gwarancyjne",
283
+ "auth.acl.features.warranty_claims.claim.delete": "Usuwaj zgłoszenia gwarancyjne",
284
+ "auth.acl.features.warranty_claims.claim.manage": "Zarządzaj zgłoszeniami gwarancyjnymi",
285
+ "auth.acl.features.warranty_claims.claim.view": "Wyświetl zgłoszenia gwarancyjne",
286
+ "auth.acl.features.warranty_claims.external.submit": "Przesyłaj zewnętrzne zgłoszenia gwarancyjne",
287
+ "auth.acl.features.warranty_claims.external.view": "Wyświetl zewnętrzne zgłoszenia gwarancyjne",
288
+ "auth.acl.features.warranty_claims.receiving.manage": "Zarządzaj przyjęciem i oceną reklamacji gwarancyjnych",
289
+ "auth.acl.features.warranty_claims.registration.manage": "Zarządzaj rejestracjami gwarancji",
290
+ "auth.acl.features.warranty_claims.registration.view": "Wyświetl rejestracje gwarancji",
291
+ "auth.acl.features.warranty_claims.settings.manage": "Zarządzaj ustawieniami zgłoszeń gwarancyjnych",
292
+ "auth.acl.features.warranty_claims.troubleshooting.manage": "Zarządzaj przewodnikami rozwiązywania problemów gwarancyjnych",
293
+ "auth.acl.features.warranty_claims.vendor_policy.manage": "Zarządzaj zasadami gwarancji dostawców",
294
+ "auth.acl.features.webhooks.manage": "Zarządzaj webhookami",
295
+ "auth.acl.features.webhooks.secrets": "Wyświetlaj i zmieniaj sekrety webhooków",
296
+ "auth.acl.features.webhooks.test": "Testuj webhooki",
297
+ "auth.acl.features.webhooks.view": "Wyświetl webhooki",
298
+ "auth.acl.features.wms.adjust_inventory": "Koryguj i przemieszczaj zapasy",
299
+ "auth.acl.features.wms.cycle_count": "Przeprowadzaj inwentaryzacje cykliczne",
300
+ "auth.acl.features.wms.import": "Importuj zapasy z pliku CSV",
301
+ "auth.acl.features.wms.manage_inventory": "Zarządzaj profilami zapasów i stanami magazynowymi",
302
+ "auth.acl.features.wms.manage_locations": "Zarządzaj lokalizacjami magazynowymi",
303
+ "auth.acl.features.wms.manage_reservations": "Zarządzaj rezerwacjami zapasów",
304
+ "auth.acl.features.wms.manage_warehouses": "Zarządzaj magazynami",
305
+ "auth.acl.features.wms.manage_zones": "Zarządzaj strefami magazynowymi",
306
+ "auth.acl.features.wms.receive_inventory": "Przyjmuj zapasy do magazynu",
307
+ "auth.acl.features.wms.view": "Wyświetl dane WMS",
308
+ "auth.acl.features.workflows.definitions.create": "Twórz definicje przepływów pracy",
309
+ "auth.acl.features.workflows.definitions.delete": "Usuwaj definicje przepływów pracy",
310
+ "auth.acl.features.workflows.definitions.edit": "Edytuj definicje przepływów pracy",
311
+ "auth.acl.features.workflows.definitions.view": "Wyświetl definicje przepływów pracy",
312
+ "auth.acl.features.workflows.events.view": "Wyświetl zdarzenia przepływów pracy",
313
+ "auth.acl.features.workflows.instances.cancel": "Anuluj instancje przepływów pracy",
314
+ "auth.acl.features.workflows.instances.create": "Uruchamiaj instancje przepływów pracy",
315
+ "auth.acl.features.workflows.instances.retry": "Ponawiaj instancje przepływów pracy",
316
+ "auth.acl.features.workflows.instances.signal": "Wysyłaj sygnały do instancji przepływów pracy",
317
+ "auth.acl.features.workflows.instances.view": "Wyświetl instancje przepływów pracy",
318
+ "auth.acl.features.workflows.manage": "Zarządzaj przepływami pracy",
319
+ "auth.acl.features.workflows.signals.send": "Wysyłaj sygnały przepływów pracy",
320
+ "auth.acl.features.workflows.tasks.claim": "Podejmuj zadania przepływów pracy",
321
+ "auth.acl.features.workflows.tasks.complete": "Kończ zadania przepływów pracy",
322
+ "auth.acl.features.workflows.tasks.view": "Wyświetl zadania użytkowników",
323
+ "auth.acl.features.workflows.view": "Wyświetl przepływy pracy",
324
+ "auth.acl.features.workflows.view_logs": "Wyświetl dzienniki przepływów pracy",
325
+ "auth.acl.features.workflows.view_tasks": "Wyświetl zadania przepływów pracy",
326
+ "auth.acl.globalWildcard.description": "Zapewnia to dostęp do wszystkich funkcji w systemie.",
327
+ "auth.acl.globalWildcard.remove": "Usuń globalny symbol wieloznaczny",
328
+ "auth.acl.globalWildcard.title": "Globalny symbol wieloznaczny (*) jest włączony",
329
+ "auth.acl.inherited.assignedRoles": "Przypisane role:",
330
+ "auth.acl.inherited.description": "Ten użytkownik dziedziczy obecnie uprawnienia z przypisanych ról.",
331
+ "auth.acl.inherited.override": "Nadpisz uprawnienia tylko dla tego użytkownika",
332
+ "auth.acl.inherited.title": "Uprawnienia odziedziczone z ról",
333
+ "auth.acl.loading": "Ładowanie kontroli dostępu…",
334
+ "auth.acl.manageViaSuperAdmin": "(zarządzaj przez superadministratora)",
335
+ "auth.acl.modules.ai_assistant": "Asystent AI",
336
+ "auth.acl.modules.api_keys": "Klucze API",
337
+ "auth.acl.modules.attachments": "Załączniki",
338
+ "auth.acl.modules.audit_logs": "Dzienniki audytu i operacji",
339
+ "auth.acl.modules.auth": "Uwierzytelnianie i konta",
340
+ "auth.acl.modules.business_rules": "Reguły biznesowe",
341
+ "auth.acl.modules.catalog": "Katalog produktów",
342
+ "auth.acl.modules.channel_apns": "Kanał powiadomień push Apple",
343
+ "auth.acl.modules.channel_expo": "Kanał push Expo",
344
+ "auth.acl.modules.channel_fcm": "Kanał Firebase Cloud Messaging",
345
+ "auth.acl.modules.channel_gmail": "Kanał e-mail Gmail",
346
+ "auth.acl.modules.channel_imap": "Kanał e-mail IMAP + SMTP",
347
+ "auth.acl.modules.checkout": "Kasa",
348
+ "auth.acl.modules.communication_channels": "Kanały komunikacji",
349
+ "auth.acl.modules.configs": "Konfiguracja",
350
+ "auth.acl.modules.currencies": "Waluty",
351
+ "auth.acl.modules.customer_accounts": "Tożsamość klientów i uwierzytelnianie portalu",
352
+ "auth.acl.modules.customers": "Zarządzanie relacjami z klientami",
353
+ "auth.acl.modules.dashboards": "Panele administracyjne",
354
+ "auth.acl.modules.data_sync": "Synchronizacja danych",
355
+ "auth.acl.modules.design_system": "Galeria systemu projektowego",
356
+ "auth.acl.modules.devices": "Urządzenia",
357
+ "auth.acl.modules.dictionaries": "Współdzielone słowniki",
358
+ "auth.acl.modules.directory": "Katalog najemców i organizacji",
359
+ "auth.acl.modules.documents": "Dokumenty",
360
+ "auth.acl.modules.entities": "Własne encje i pola",
361
+ "auth.acl.modules.eudr": "Zgodność z EUDR",
362
+ "auth.acl.modules.example": "Moduł przykładowy",
363
+ "auth.acl.modules.example_customers_sync": "Przykładowa synchronizacja klientów",
364
+ "auth.acl.modules.feature_toggles": "Przełączniki funkcji",
365
+ "auth.acl.modules.gateway_stripe": "Bramka płatnicza Stripe",
366
+ "auth.acl.modules.inbox_ops": "InboxOps — agent e-mail do ERP",
367
+ "auth.acl.modules.integrations": "Integracje",
368
+ "auth.acl.modules.messages": "Wiadomości",
369
+ "auth.acl.modules.notifications": "Powiadomienia",
370
+ "auth.acl.modules.onboarding": "Wdrożenie",
371
+ "auth.acl.modules.payment_gateways": "Bramki płatnicze",
372
+ "auth.acl.modules.perspectives": "Perspektywy tabel",
373
+ "auth.acl.modules.planner": "Czas pracy i dostępność",
374
+ "auth.acl.modules.progress": "Postęp",
375
+ "auth.acl.modules.push_notifications": "Powiadomienia push",
376
+ "auth.acl.modules.query_index": "Indeksy zapytań",
377
+ "auth.acl.modules.record_locks": "Blokady rekordów",
378
+ "auth.acl.modules.resources": "Planowanie zasobów",
379
+ "auth.acl.modules.sales": "Zarządzanie sprzedażą",
380
+ "auth.acl.modules.scheduler": "Harmonogram",
381
+ "auth.acl.modules.search": "Wyszukiwanie",
382
+ "auth.acl.modules.security": "Bezpieczeństwo",
383
+ "auth.acl.modules.shipping_carriers": "Przewoźnicy",
384
+ "auth.acl.modules.sso": "SSO",
385
+ "auth.acl.modules.staff": "Pracownicy",
386
+ "auth.acl.modules.storage_s3": "Magazyn zgodny z S3",
387
+ "auth.acl.modules.sync_excel": "Import Excel / CSV",
388
+ "auth.acl.modules.translations": "Tłumaczenia encji",
389
+ "auth.acl.modules.warranty_claims": "Gwarancje i RMA",
390
+ "auth.acl.modules.webhooks": "Webhooki",
391
+ "auth.acl.modules.wms": "System zarządzania magazynem",
392
+ "auth.acl.modules.workflows": "Mechanizm przepływów pracy",
393
+ "auth.acl.organizationWarning": "Ograniczenia organizacyjne są zapisywane tylko wtedy, gdy wybrano co najmniej jedno nadpisanie uprawnień. Dodaj uprawnienie lub włącz symbol wieloznaczny modułu przed zapisaniem.",
16
394
  "auth.acl.organizationsScope": "Zakres organizacji",
395
+ "auth.acl.organizationsScopeHint": "Brak wyboru oznacza wszystkie organizacje. Wybierz co najmniej jedną, aby ograniczyć dostęp.",
17
396
  "auth.acl.restricted": "Ograniczone",
397
+ "auth.acl.superAdmin.hint": "Tylko superadministratorzy mogą zmienić tę opcję.",
398
+ "auth.acl.superAdmin.label": "Superadministrator (wszystkie funkcje)",
399
+ "auth.acl.wildcards.allFeatures": "Wszystkie funkcje",
400
+ "auth.acl.wildcards.allGroup": "Wszystkie uprawnienia w grupie {group}",
18
401
  "auth.actions.contactSupport": "Skontaktuj się z pomocą",
19
402
  "auth.actions.viewPermissions": "Zobacz uprawnienia",
20
403
  "auth.actions.viewSessions": "Zobacz sesje",
404
+ "auth.audit.roleAcl.update": "Zmień uprawnienia roli",
21
405
  "auth.audit.roles.create": "Utwórz rolę",
22
406
  "auth.audit.roles.delete": "Usuń rolę",
23
407
  "auth.audit.roles.update": "Aktualizuj rolę",
408
+ "auth.audit.userAcl.update": "Zmień uprawnienia użytkownika",
24
409
  "auth.audit.users.create": "Utwórz użytkownika",
25
410
  "auth.audit.users.delete": "Usuń użytkownika",
26
411
  "auth.audit.users.update": "Aktualizuj użytkownika",
@@ -111,6 +496,10 @@
111
496
  "auth.reset.sent": "Jeśli konto z tym adresem e-mail istnieje, wysłaliśmy link do resetowania. Sprawdź swoją skrzynkę odbiorczą.",
112
497
  "auth.reset.subtitle": "Wybierz silne hasło dla swojego konta.",
113
498
  "auth.reset.title": "Ustaw nowe hasło",
499
+ "auth.reset.token.checking": "Sprawdzamy Twój link do resetowania...",
500
+ "auth.reset.token.expiredSubtitle": "Został już użyty lub wygasł. Poproś o nowy link, aby ustawić hasło.",
501
+ "auth.reset.token.expiredTitle": "Ten link do resetowania nie jest już ważny",
502
+ "auth.reset.token.requestNew": "Poproś o nowy link",
114
503
  "auth.resetPassword": "Resetuj hasło",
115
504
  "auth.roles.admin": "Administrator",
116
505
  "auth.roles.employee": "Pracownik",
@@ -227,7 +616,7 @@
227
616
  "backend.nav.externalSystems": "Systemy zewnetrzne",
228
617
  "backend.nav.settings": "Ustawienia",
229
618
  "backend.nav.settingsAdmin": "Administracja",
230
- "notifications.categories.auth": "Bezpiecze\u0144stwo",
619
+ "notifications.categories.auth": "Bezpieczeństwo",
231
620
  "profile.page.description": "Zarządzaj ustawieniami konta",
232
621
  "profile.page.selectItem": "Wybierz element z menu, aby zarządzać swoim kontem.",
233
622
  "profile.page.title": "Profil",
@@ -239,6 +239,12 @@ export async function assertActorCanModifySuperAdminRoleTarget(input: SuperAdmin
239
239
  }
240
240
  }
241
241
 
242
+ /**
243
+ * `input.tenantId` is the ACTOR's scope, not the target's: the check below is a
244
+ * comparison between the two, so passing a tenant derived from the target turns
245
+ * it into a tautology. Callers that resolve a record scope separately MUST still
246
+ * hand this guard `auth.tenantId`.
247
+ */
242
248
  export async function assertActorCanAccessUserTarget(input: UserTargetAccessInput): Promise<void> {
243
249
  const isSuperAdmin = await resolveActorIsSuperAdmin(input)
244
250
  if (isSuperAdmin) return
@@ -0,0 +1,31 @@
1
+ import { isIdsParamProvided, parseIdsParam } from '@open-mercato/shared/lib/crud/ids'
2
+
3
+ // Batch id lookup shares the list's page cap, so `?ids=` can never pull more rows than `?pageSize=`.
4
+ export const MAX_USER_LOOKUP_IDS = 100
5
+
6
+ export type UserIdFilter =
7
+ /** Neither `?id=` nor `?ids=` was supplied — the list is filtered by the other params only. */
8
+ | { kind: 'unfiltered' }
9
+ /** Restrict the list to these ids. */
10
+ | { kind: 'ids'; ids: string[] }
11
+ /**
12
+ * `?ids=` was supplied but nothing usable survived — either no value was a UUID, or the
13
+ * intersection with `?id=` is empty. Match nothing rather than dropping the filter and returning
14
+ * the full first page, which would turn a malformed request into a record-count side channel
15
+ * (the same rule `mergeIdFilter` enforces for CRUD list routes, #4143 Finding 3).
16
+ */
17
+ | { kind: 'none' }
18
+
19
+ export function resolveUserIdFilter(
20
+ rawIds: unknown,
21
+ id?: string | null,
22
+ maxIds: number = MAX_USER_LOOKUP_IDS,
23
+ ): UserIdFilter {
24
+ const single = typeof id === 'string' && id.trim() ? id.trim() : null
25
+ if (!isIdsParamProvided(rawIds)) {
26
+ return single ? { kind: 'ids', ids: [single] } : { kind: 'unfiltered' }
27
+ }
28
+ const parsed = parseIdsParam(rawIds, maxIds)
29
+ const ids = single ? parsed.filter((value) => value === single) : parsed
30
+ return ids.length ? { kind: 'ids', ids } : { kind: 'none' }
31
+ }
@@ -144,11 +144,27 @@ export class AuthService {
144
144
  return { user, token: rawToken }
145
145
  }
146
146
 
147
- async confirmPasswordReset(token: string, newPassword: string): Promise<User | null> {
147
+ private async findUnconsumedPasswordReset(token: string): Promise<PasswordReset | null> {
148
148
  const now = new Date()
149
149
  const hashedToken = hashAuthToken(token)
150
150
  const row = await this.em.findOne(PasswordReset, { token: hashedToken })
151
- if (!row || (row.usedAt && row.usedAt <= now) || row.expiresAt <= now) return null
151
+ if (!row) return null
152
+ if (row.usedAt && row.usedAt <= now) return null
153
+ if (row.expiresAt <= now) return null
154
+ return row
155
+ }
156
+
157
+ async isPasswordResetTokenValid(token: string): Promise<boolean> {
158
+ const row = await this.findUnconsumedPasswordReset(token)
159
+ if (!row) return false
160
+ const user = await findOneWithDecryption(this.em, User, { id: row.user.id, deletedAt: null })
161
+ return user != null
162
+ }
163
+
164
+ async confirmPasswordReset(token: string, newPassword: string): Promise<User | null> {
165
+ const now = new Date()
166
+ const row = await this.findUnconsumedPasswordReset(token)
167
+ if (!row) return null
152
168
 
153
169
  // Atomic compare-and-set: only mark used if still unused — prevents token replay under concurrency
154
170
  const affected = await this.em.nativeUpdate(