@wildo-ai/saas-frontend-lib 1.1.9 → 1.1.11

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 (1566) hide show
  1. package/dist/esm/companion-exports.d.ts +2 -1
  2. package/dist/esm/companion-exports.d.ts.map +1 -1
  3. package/dist/esm/companion-exports.js +2 -1
  4. package/dist/esm/companion-exports.js.map +1 -1
  5. package/dist/esm/components/actions/action-bar.d.ts +45 -1
  6. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  7. package/dist/esm/components/actions/action-bar.js +84 -0
  8. package/dist/esm/components/actions/action-bar.js.map +1 -1
  9. package/dist/esm/components/actions/button.d.ts +22 -0
  10. package/dist/esm/components/actions/button.d.ts.map +1 -1
  11. package/dist/esm/components/actions/button.js +45 -0
  12. package/dist/esm/components/actions/button.js.map +1 -1
  13. package/dist/esm/components/ai-elements/chat/conversation-thread.d.ts +109 -0
  14. package/dist/esm/components/ai-elements/chat/conversation-thread.d.ts.map +1 -0
  15. package/dist/esm/components/ai-elements/chat/conversation-thread.js +22 -0
  16. package/dist/esm/components/ai-elements/chat/conversation-thread.js.map +1 -0
  17. package/dist/esm/components/ai-elements/decision/approval.d.ts +103 -7
  18. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  19. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  20. package/dist/esm/components/ai-elements/execution/tool.d.ts +6 -0
  21. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  22. package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
  23. package/dist/esm/components/ai-elements/graph/canvas.d.ts +60 -1
  24. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  25. package/dist/esm/components/ai-elements/graph/canvas.js +26 -0
  26. package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
  27. package/dist/esm/components/ai-elements/graph/node.d.ts +39 -4
  28. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  29. package/dist/esm/components/ai-elements/graph/node.js +18 -0
  30. package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
  31. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts +6 -0
  32. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
  33. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js +29 -8
  34. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
  35. package/dist/esm/components/app/AppLayout_DecisionInbox.d.ts +17 -0
  36. package/dist/esm/components/app/AppLayout_DecisionInbox.d.ts.map +1 -0
  37. package/dist/esm/components/app/AppLayout_DecisionInbox.js +24 -0
  38. package/dist/esm/components/app/AppLayout_DecisionInbox.js.map +1 -0
  39. package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
  40. package/dist/esm/components/app/AppLayout_MainContainer.js +3 -0
  41. package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
  42. package/dist/esm/components/app/PublicLayout_LegalNotice.d.ts +18 -0
  43. package/dist/esm/components/app/PublicLayout_LegalNotice.d.ts.map +1 -0
  44. package/dist/esm/components/app/PublicLayout_LegalNotice.js +8 -0
  45. package/dist/esm/components/app/PublicLayout_LegalNotice.js.map +1 -0
  46. package/dist/esm/components/app/PublicLayout_LegalNotice.labels.d.ts +3 -0
  47. package/dist/esm/components/app/PublicLayout_LegalNotice.labels.d.ts.map +1 -0
  48. package/dist/esm/components/app/PublicLayout_LegalNotice.labels.js +38 -0
  49. package/dist/esm/components/app/PublicLayout_LegalNotice.labels.js.map +1 -0
  50. package/dist/esm/components/auth/Auth_ChatIdentityLink.d.ts +15 -0
  51. package/dist/esm/components/auth/Auth_ChatIdentityLink.d.ts.map +1 -0
  52. package/dist/esm/components/auth/Auth_ChatIdentityLink.js +219 -0
  53. package/dist/esm/components/auth/Auth_ChatIdentityLink.js.map +1 -0
  54. package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.d.ts +3 -0
  55. package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.d.ts.map +1 -0
  56. package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.js +49 -0
  57. package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.js.map +1 -0
  58. package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
  59. package/dist/esm/components/auth/Auth_Invitation.js +3 -2
  60. package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
  61. package/dist/esm/components/auth/Auth_Invitation.labels.js +2 -2
  62. package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
  63. package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
  64. package/dist/esm/components/auth/Auth_Main.js +40 -7
  65. package/dist/esm/components/auth/Auth_Main.js.map +1 -1
  66. package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
  67. package/dist/esm/components/auth/Auth_Main.labels.js +9 -0
  68. package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
  69. package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
  70. package/dist/esm/components/auth/Auth_OAuthConsent.js +3 -2
  71. package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
  72. package/dist/esm/components/auth/Auth_PasswordLost.labels.js +2 -2
  73. package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
  74. package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
  75. package/dist/esm/components/auth/Auth_Register.js +8 -1
  76. package/dist/esm/components/auth/Auth_Register.js.map +1 -1
  77. package/dist/esm/components/auth/Auth_Register.labels.js +2 -2
  78. package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
  79. package/dist/esm/components/auth/StepUpAuthDialog.d.ts +1 -1
  80. package/dist/esm/components/auth/StepUpAuthDialog.js +3 -3
  81. package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
  82. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
  83. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js +94 -6
  84. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
  85. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
  86. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js +21 -1
  87. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
  88. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
  89. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js +16 -13
  90. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
  91. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js +3 -3
  92. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
  93. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
  94. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js +1 -1
  95. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
  96. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts +1 -1
  97. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
  98. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js +3 -4
  99. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
  100. package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.d.ts +11 -0
  101. package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.d.ts.map +1 -0
  102. package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.js +25 -0
  103. package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.js.map +1 -0
  104. package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.d.ts +39 -0
  105. package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.d.ts.map +1 -0
  106. package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.js +45 -0
  107. package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.js.map +1 -0
  108. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js +1 -1
  109. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
  110. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.d.ts.map +1 -1
  111. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js +2 -1
  112. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js.map +1 -1
  113. package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
  114. package/dist/esm/components/data-display/AutomaticDisplayer.js +21 -35
  115. package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
  116. package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
  117. package/dist/esm/components/data-display/DisplayField.js +98 -70
  118. package/dist/esm/components/data-display/DisplayField.js.map +1 -1
  119. package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
  120. package/dist/esm/components/data-display/DisplayFieldEditable.js +48 -8
  121. package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
  122. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts +3 -1
  123. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
  124. package/dist/esm/components/data-display/DisplayFieldEditableArray.js +30 -4
  125. package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
  126. package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
  127. package/dist/esm/components/data-display/DisplayFieldReadOnly.js +2 -2
  128. package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
  129. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts +1 -1
  130. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
  131. package/dist/esm/components/data-display/DisplayValueDispatcher.js +45 -94
  132. package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
  133. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
  134. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js +14 -8
  135. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
  136. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts +41 -3
  137. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
  138. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js +49 -5
  139. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
  140. package/dist/esm/components/data-display/SummaryContext.d.ts +2 -2
  141. package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
  142. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts +22 -1
  143. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
  144. package/dist/esm/components/data-display/automatic-displayer.utils.js +29 -0
  145. package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
  146. package/dist/esm/components/data-display/badge.d.ts +9 -0
  147. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  148. package/dist/esm/components/data-display/badge.js.map +1 -1
  149. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts +14 -2
  150. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
  151. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js +42 -12
  152. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
  153. package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.d.ts +10 -0
  154. package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.d.ts.map +1 -0
  155. package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.js +18 -0
  156. package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.js.map +1 -0
  157. package/dist/esm/components/data-display/chromes/field-tile-boundaries.d.ts +38 -0
  158. package/dist/esm/components/data-display/chromes/field-tile-boundaries.d.ts.map +1 -0
  159. package/dist/esm/components/data-display/chromes/field-tile-boundaries.js +30 -0
  160. package/dist/esm/components/data-display/chromes/field-tile-boundaries.js.map +1 -0
  161. package/dist/esm/components/data-display/chromes/field-tiles.utils.d.ts +22 -0
  162. package/dist/esm/components/data-display/chromes/field-tiles.utils.d.ts.map +1 -0
  163. package/dist/esm/components/data-display/chromes/field-tiles.utils.js +52 -0
  164. package/dist/esm/components/data-display/chromes/field-tiles.utils.js.map +1 -0
  165. package/dist/esm/components/data-display/display-field-resolved-props.d.ts +4 -0
  166. package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
  167. package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
  168. package/dist/esm/components/data-display/display-layout-template.utils.d.ts +18 -0
  169. package/dist/esm/components/data-display/display-layout-template.utils.d.ts.map +1 -0
  170. package/dist/esm/components/data-display/display-layout-template.utils.js +18 -0
  171. package/dist/esm/components/data-display/display-layout-template.utils.js.map +1 -0
  172. package/dist/esm/components/data-display/display-value-emptiness.utils.d.ts +44 -0
  173. package/dist/esm/components/data-display/display-value-emptiness.utils.d.ts.map +1 -0
  174. package/dist/esm/components/data-display/display-value-emptiness.utils.js +61 -0
  175. package/dist/esm/components/data-display/display-value-emptiness.utils.js.map +1 -0
  176. package/dist/esm/components/data-display/empty-value-mark.d.ts +31 -0
  177. package/dist/esm/components/data-display/empty-value-mark.d.ts.map +1 -0
  178. package/dist/esm/components/data-display/empty-value-mark.js +49 -0
  179. package/dist/esm/components/data-display/empty-value-mark.js.map +1 -0
  180. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts +3 -2
  181. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts.map +1 -1
  182. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js +4 -4
  183. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js.map +1 -1
  184. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts +6 -3
  185. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts.map +1 -1
  186. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js +22 -12
  187. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js.map +1 -1
  188. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js +2 -2
  189. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js.map +1 -1
  190. package/dist/esm/components/data-display/reference-display-target.d.ts +98 -0
  191. package/dist/esm/components/data-display/reference-display-target.d.ts.map +1 -0
  192. package/dist/esm/components/data-display/reference-display-target.js +154 -0
  193. package/dist/esm/components/data-display/reference-display-target.js.map +1 -0
  194. package/dist/esm/components/data-display/summary-value-naming.context.d.ts +15 -0
  195. package/dist/esm/components/data-display/summary-value-naming.context.d.ts.map +1 -0
  196. package/dist/esm/components/data-display/summary-value-naming.context.js +18 -0
  197. package/dist/esm/components/data-display/summary-value-naming.context.js.map +1 -0
  198. package/dist/esm/components/data-display/tone-marker.d.ts +38 -0
  199. package/dist/esm/components/data-display/tone-marker.d.ts.map +1 -0
  200. package/dist/esm/components/data-display/tone-marker.js +56 -0
  201. package/dist/esm/components/data-display/tone-marker.js.map +1 -0
  202. package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
  203. package/dist/esm/components/data-display/useFileActivation.js +2 -9
  204. package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
  205. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  206. package/dist/esm/components/feedback/features/feature-limit-indicator.js +12 -4
  207. package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
  208. package/dist/esm/components/feedback/operations-confirm-critical.d.ts +8 -0
  209. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  210. package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
  211. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +0 -5
  212. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -1
  213. package/dist/esm/components/files/Files_UploadGrantDrop.js +5 -17
  214. package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -1
  215. package/dist/esm/components/flows-actors/actor.d.ts +21 -4
  216. package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
  217. package/dist/esm/components/flows-actors/actor.js +114 -192
  218. package/dist/esm/components/flows-actors/actor.js.map +1 -1
  219. package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
  220. package/dist/esm/components/flows-actors/actor.labels.js +5 -10
  221. package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
  222. package/dist/esm/components/flows-actors/agent-config.labels.js +1 -1
  223. package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
  224. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.d.ts.map +1 -1
  225. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js +1 -0
  226. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js.map +1 -1
  227. package/dist/esm/components/flows-actors/approval.d.ts +26 -16
  228. package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
  229. package/dist/esm/components/flows-actors/approval.js +208 -70
  230. package/dist/esm/components/flows-actors/approval.js.map +1 -1
  231. package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
  232. package/dist/esm/components/flows-actors/approval.labels.js +67 -22
  233. package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
  234. package/dist/esm/components/flows-actors/artifact-browser.labels.js +1 -1
  235. package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
  236. package/dist/esm/components/flows-actors/execution-plan.d.ts +19 -7
  237. package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
  238. package/dist/esm/components/flows-actors/execution-plan.js +55 -41
  239. package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
  240. package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
  241. package/dist/esm/components/flows-actors/execution-plan.labels.js +25 -8
  242. package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
  243. package/dist/esm/components/flows-actors/execution-usage.d.ts +69 -0
  244. package/dist/esm/components/flows-actors/execution-usage.d.ts.map +1 -0
  245. package/dist/esm/components/flows-actors/execution-usage.js +189 -0
  246. package/dist/esm/components/flows-actors/execution-usage.js.map +1 -0
  247. package/dist/esm/components/flows-actors/execution-usage.labels.d.ts +3 -0
  248. package/dist/esm/components/flows-actors/execution-usage.labels.d.ts.map +1 -0
  249. package/dist/esm/components/flows-actors/execution-usage.labels.js +27 -0
  250. package/dist/esm/components/flows-actors/execution-usage.labels.js.map +1 -0
  251. package/dist/esm/components/flows-actors/flow-execution.d.ts +23 -6
  252. package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
  253. package/dist/esm/components/flows-actors/flow-execution.js +56 -208
  254. package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
  255. package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
  256. package/dist/esm/components/flows-actors/flow-execution.labels.js +3 -10
  257. package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
  258. package/dist/esm/components/flows-actors/flow-node-badges.d.ts +54 -21
  259. package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
  260. package/dist/esm/components/flows-actors/flow-node-badges.js +80 -6
  261. package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
  262. package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
  263. package/dist/esm/components/flows-actors/flow-node.labels.js +0 -8
  264. package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
  265. package/dist/esm/components/flows-actors/flow-step-visuals.d.ts +31 -0
  266. package/dist/esm/components/flows-actors/flow-step-visuals.d.ts.map +1 -0
  267. package/dist/esm/components/flows-actors/flow-step-visuals.js +98 -0
  268. package/dist/esm/components/flows-actors/flow-step-visuals.js.map +1 -0
  269. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts +18 -19
  270. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
  271. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js +18 -19
  272. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
  273. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts +27 -42
  274. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
  275. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js +28 -43
  276. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
  277. package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts +15 -10
  278. package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
  279. package/dist/esm/components/flows-actors/flows-actors-ui.utils.js +16 -42
  280. package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
  281. package/dist/esm/components/flows-actors/graph-viewer.d.ts +112 -0
  282. package/dist/esm/components/flows-actors/graph-viewer.d.ts.map +1 -0
  283. package/dist/esm/components/flows-actors/graph-viewer.js +431 -0
  284. package/dist/esm/components/flows-actors/graph-viewer.js.map +1 -0
  285. package/dist/esm/components/flows-actors/graph-viewer.labels.d.ts +3 -0
  286. package/dist/esm/components/flows-actors/graph-viewer.labels.d.ts.map +1 -0
  287. package/dist/esm/components/flows-actors/graph-viewer.labels.js +67 -0
  288. package/dist/esm/components/flows-actors/graph-viewer.labels.js.map +1 -0
  289. package/dist/esm/components/flows-actors/graph-viewer.models.d.ts +16 -0
  290. package/dist/esm/components/flows-actors/graph-viewer.models.d.ts.map +1 -0
  291. package/dist/esm/components/flows-actors/graph-viewer.models.js +18 -0
  292. package/dist/esm/components/flows-actors/graph-viewer.models.js.map +1 -0
  293. package/dist/esm/components/flows-actors/human-decision-form.d.ts +57 -0
  294. package/dist/esm/components/flows-actors/human-decision-form.d.ts.map +1 -0
  295. package/dist/esm/components/flows-actors/human-decision-form.js +128 -0
  296. package/dist/esm/components/flows-actors/human-decision-form.js.map +1 -0
  297. package/dist/esm/components/flows-actors/system-catalog.d.ts +6 -1
  298. package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
  299. package/dist/esm/components/flows-actors/system-catalog.js +22 -20
  300. package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
  301. package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
  302. package/dist/esm/components/flows-actors/system-catalog.labels.js +3 -2
  303. package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
  304. package/dist/esm/components/flows-actors/task-detail.d.ts +17 -3
  305. package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
  306. package/dist/esm/components/flows-actors/task-detail.js +32 -25
  307. package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
  308. package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
  309. package/dist/esm/components/flows-actors/task-memory.js +3 -2
  310. package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
  311. package/dist/esm/components/form/Form.d.ts +2 -0
  312. package/dist/esm/components/form/Form.d.ts.map +1 -1
  313. package/dist/esm/components/form/Form.js +4 -0
  314. package/dist/esm/components/form/Form.js.map +1 -1
  315. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts +16 -1
  316. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
  317. package/dist/esm/components/form/automated/AutomatedArrayField.js +101 -21
  318. package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
  319. package/dist/esm/components/form/automated/AutomatedForm.d.ts +19 -2
  320. package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
  321. package/dist/esm/components/form/automated/AutomatedForm.js +40 -6
  322. package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
  323. package/dist/esm/components/form/automated/AutosaveContext.d.ts +22 -1
  324. package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
  325. package/dist/esm/components/form/automated/AutosaveContext.js +53 -0
  326. package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
  327. package/dist/esm/components/form/automated/FormField.d.ts +1 -1
  328. package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
  329. package/dist/esm/components/form/automated/FormField.js +127 -53
  330. package/dist/esm/components/form/automated/FormField.js.map +1 -1
  331. package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
  332. package/dist/esm/components/form/automated/FormFieldComposite.js +12 -10
  333. package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
  334. package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
  335. package/dist/esm/components/form/automated/FormFieldRecord.js +16 -7
  336. package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
  337. package/dist/esm/components/form/automated/FormTemplateContext.d.ts +27 -0
  338. package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
  339. package/dist/esm/components/form/automated/FormTemplateContext.js +0 -48
  340. package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
  341. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts +4 -3
  342. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
  343. package/dist/esm/components/form/automated/ResourceAutomatedForm.js +616 -149
  344. package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
  345. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts +105 -5
  346. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
  347. package/dist/esm/components/form/automated/automated-form-submit.utils.js +225 -6
  348. package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
  349. package/dist/esm/components/form/automated/bulk-field-clear-context.d.ts +59 -0
  350. package/dist/esm/components/form/automated/bulk-field-clear-context.d.ts.map +1 -0
  351. package/dist/esm/components/form/automated/bulk-field-clear-context.js +77 -0
  352. package/dist/esm/components/form/automated/bulk-field-clear-context.js.map +1 -0
  353. package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts +1 -1
  354. package/dist/esm/components/form/automated/unplaced-request-fields.context.d.ts +19 -0
  355. package/dist/esm/components/form/automated/unplaced-request-fields.context.d.ts.map +1 -0
  356. package/dist/esm/components/form/automated/unplaced-request-fields.context.js +13 -0
  357. package/dist/esm/components/form/automated/unplaced-request-fields.context.js.map +1 -0
  358. package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts +7 -0
  359. package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
  360. package/dist/esm/components/form/automated/useArrayItemAutosaveField.js +10 -2
  361. package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
  362. package/dist/esm/components/form/automated/useReferenceRecordLabels.d.ts +16 -0
  363. package/dist/esm/components/form/automated/useReferenceRecordLabels.d.ts.map +1 -0
  364. package/dist/esm/components/form/automated/useReferenceRecordLabels.js +66 -0
  365. package/dist/esm/components/form/automated/useReferenceRecordLabels.js.map +1 -0
  366. package/dist/esm/components/form/automated/useRequestFieldOffer.d.ts +18 -0
  367. package/dist/esm/components/form/automated/useRequestFieldOffer.d.ts.map +1 -0
  368. package/dist/esm/components/form/automated/useRequestFieldOffer.js +107 -0
  369. package/dist/esm/components/form/automated/useRequestFieldOffer.js.map +1 -0
  370. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts +7 -1
  371. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
  372. package/dist/esm/components/form/chromes/FormFieldChrome.js +6 -3
  373. package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
  374. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts +11 -0
  375. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  376. package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
  377. package/dist/esm/components/form/controls/date-time/datepicker.d.ts +21 -0
  378. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  379. package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
  380. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts +9 -0
  381. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  382. package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
  383. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts +9 -0
  384. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  385. package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
  386. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts +1 -0
  387. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  388. package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
  389. package/dist/esm/components/form/controls/enum/radio.d.ts +10 -0
  390. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  391. package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
  392. package/dist/esm/components/form/controls/enum/toggle-group.d.ts +14 -10
  393. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  394. package/dist/esm/components/form/controls/enum/toggle-group.js +14 -6
  395. package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
  396. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
  397. package/dist/esm/components/form/controls/form-field-checkbox-group.js +7 -3
  398. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
  399. package/dist/esm/components/form/controls/string/chips-input.d.ts +65 -0
  400. package/dist/esm/components/form/controls/string/chips-input.d.ts.map +1 -0
  401. package/dist/esm/components/form/controls/string/chips-input.js +9 -0
  402. package/dist/esm/components/form/controls/string/chips-input.js.map +1 -0
  403. package/dist/esm/components/form/fields/form-field-address.d.ts.map +1 -1
  404. package/dist/esm/components/form/fields/form-field-address.js +7 -5
  405. package/dist/esm/components/form/fields/form-field-address.js.map +1 -1
  406. package/dist/esm/components/form/fields/form-field-address.labels.js +1 -1
  407. package/dist/esm/components/form/fields/form-field-address.labels.js.map +1 -1
  408. package/dist/esm/components/form/fields/form-field-bigdecimal.js +2 -2
  409. package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
  410. package/dist/esm/components/form/fields/form-field-boolean.js +2 -2
  411. package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
  412. package/dist/esm/components/form/fields/form-field-code.labels.js +1 -1
  413. package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
  414. package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
  415. package/dist/esm/components/form/fields/form-field-date.js +16 -11
  416. package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
  417. package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
  418. package/dist/esm/components/form/fields/form-field-datetime.js +10 -5
  419. package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
  420. package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
  421. package/dist/esm/components/form/fields/form-field-duration.js +5 -7
  422. package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
  423. package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
  424. package/dist/esm/components/form/fields/form-field-duration.labels.js +8 -2
  425. package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
  426. package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
  427. package/dist/esm/components/form/fields/form-field-enum.js +31 -31
  428. package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
  429. package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
  430. package/dist/esm/components/form/fields/form-field-file.js +13 -12
  431. package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
  432. package/dist/esm/components/form/fields/form-field-file.labels.js +6 -6
  433. package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
  434. package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
  435. package/dist/esm/components/form/fields/form-field-money.js +5 -4
  436. package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
  437. package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
  438. package/dist/esm/components/form/fields/form-field-money.labels.js +8 -2
  439. package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
  440. package/dist/esm/components/form/fields/form-field-number.js +2 -2
  441. package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
  442. package/dist/esm/components/form/fields/form-field-range-bigdecimal.js +2 -2
  443. package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
  444. package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
  445. package/dist/esm/components/form/fields/form-field-range-date.js +7 -2
  446. package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
  447. package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
  448. package/dist/esm/components/form/fields/form-field-range-datetime.js +5 -2
  449. package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
  450. package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
  451. package/dist/esm/components/form/fields/form-field-range-money.js +6 -19
  452. package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
  453. package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
  454. package/dist/esm/components/form/fields/form-field-range-money.labels.js +8 -2
  455. package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
  456. package/dist/esm/components/form/fields/form-field-range-number.js +2 -2
  457. package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
  458. package/dist/esm/components/form/fields/form-field-range-time.js +2 -2
  459. package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
  460. package/dist/esm/components/form/fields/form-field-resource-reference.d.ts +56 -0
  461. package/dist/esm/components/form/fields/form-field-resource-reference.d.ts.map +1 -0
  462. package/dist/esm/components/form/fields/form-field-resource-reference.js +51 -0
  463. package/dist/esm/components/form/fields/form-field-resource-reference.js.map +1 -0
  464. package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts +36 -6
  465. package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts.map +1 -1
  466. package/dist/esm/components/form/fields/form-field-string-organization-role.js +30 -11
  467. package/dist/esm/components/form/fields/form-field-string-organization-role.js.map +1 -1
  468. package/dist/esm/components/form/fields/form-field-string.d.ts +5 -0
  469. package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
  470. package/dist/esm/components/form/fields/form-field-string.js +9 -7
  471. package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
  472. package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
  473. package/dist/esm/components/form/fields/form-field-time.js +6 -3
  474. package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
  475. package/dist/esm/components/form/fields/themed-native-select.d.ts +29 -0
  476. package/dist/esm/components/form/fields/themed-native-select.d.ts.map +1 -0
  477. package/dist/esm/components/form/fields/themed-native-select.js +36 -0
  478. package/dist/esm/components/form/fields/themed-native-select.js.map +1 -0
  479. package/dist/esm/components/form/form-context.d.ts +11 -0
  480. package/dist/esm/components/form/form-context.d.ts.map +1 -1
  481. package/dist/esm/components/form/form-context.js +11 -0
  482. package/dist/esm/components/form/form-context.js.map +1 -1
  483. package/dist/esm/components/form/form-context.utils.d.ts +2 -0
  484. package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
  485. package/dist/esm/components/form/form-context.utils.js +6 -2
  486. package/dist/esm/components/form/form-context.utils.js.map +1 -1
  487. package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
  488. package/dist/esm/components/form/validation-errors/FormErrorSummary.js +17 -15
  489. package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
  490. package/dist/esm/components/form/validation-errors/field-reveal.d.ts +41 -0
  491. package/dist/esm/components/form/validation-errors/field-reveal.d.ts.map +1 -0
  492. package/dist/esm/components/form/validation-errors/field-reveal.js +108 -0
  493. package/dist/esm/components/form/validation-errors/field-reveal.js.map +1 -0
  494. package/dist/esm/components/form/validation-errors/form-level-error-recheck.d.ts +3 -0
  495. package/dist/esm/components/form/validation-errors/form-level-error-recheck.d.ts.map +1 -0
  496. package/dist/esm/components/form/validation-errors/form-level-error-recheck.js +37 -0
  497. package/dist/esm/components/form/validation-errors/form-level-error-recheck.js.map +1 -0
  498. package/dist/esm/components/form/validation-errors/getFieldError.d.ts +6 -0
  499. package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
  500. package/dist/esm/components/form/validation-errors/getFieldError.js +9 -2
  501. package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
  502. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts +8 -1
  503. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
  504. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js +46 -3
  505. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
  506. package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
  507. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js +8 -3
  508. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
  509. package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.d.ts +32 -0
  510. package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.d.ts.map +1 -0
  511. package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.js +60 -0
  512. package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.js.map +1 -0
  513. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts +10 -0
  514. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts.map +1 -1
  515. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js +12 -3
  516. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js.map +1 -1
  517. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts +7 -0
  518. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
  519. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
  520. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts +6 -0
  521. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
  522. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
  523. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
  524. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js +11 -28
  525. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
  526. package/dist/esm/components/navigation/app-level/engine-launcher-entries.d.ts +46 -0
  527. package/dist/esm/components/navigation/app-level/engine-launcher-entries.d.ts.map +1 -0
  528. package/dist/esm/components/navigation/app-level/engine-launcher-entries.js +165 -0
  529. package/dist/esm/components/navigation/app-level/engine-launcher-entries.js.map +1 -0
  530. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
  531. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js +8 -3
  532. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
  533. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
  534. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js +41 -20
  535. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
  536. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts +1 -2
  537. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
  538. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js +1 -15
  539. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
  540. package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.d.ts +32 -0
  541. package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.d.ts.map +1 -0
  542. package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.js +91 -0
  543. package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.js.map +1 -0
  544. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
  545. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js +3 -1
  546. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
  547. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts +18 -1
  548. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
  549. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +66 -9
  550. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
  551. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +15 -10
  552. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
  553. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +89 -12
  554. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
  555. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js +2 -2
  556. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
  557. package/dist/esm/components/resources/CollectionSelectAllCheckbox.d.ts +39 -0
  558. package/dist/esm/components/resources/CollectionSelectAllCheckbox.d.ts.map +1 -0
  559. package/dist/esm/components/resources/CollectionSelectAllCheckbox.js +21 -0
  560. package/dist/esm/components/resources/CollectionSelectAllCheckbox.js.map +1 -0
  561. package/dist/esm/components/resources/CollectionSelectionControls.d.ts +4 -3
  562. package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
  563. package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
  564. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts +7 -2
  565. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
  566. package/dist/esm/components/resources/ResourceCollectionBody_Table.js +38 -14
  567. package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
  568. package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts +4 -4
  569. package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts.map +1 -1
  570. package/dist/esm/components/resources/ResourceCollectionFilterPresets.js +20 -13
  571. package/dist/esm/components/resources/ResourceCollectionFilterPresets.js.map +1 -1
  572. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts +4 -3
  573. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
  574. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js +40 -6
  575. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
  576. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts +65 -23
  577. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
  578. package/dist/esm/components/resources/ResourceCollectionToolbar.js +73 -10
  579. package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
  580. package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
  581. package/dist/esm/components/resources/ResourceLayout_Action.labels.js +5 -0
  582. package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
  583. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts +18 -0
  584. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
  585. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js +57 -48
  586. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
  587. package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts +1 -1
  588. package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
  589. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js +1 -1
  590. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
  591. package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
  592. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +7 -1
  593. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
  594. package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
  595. package/dist/esm/components/resources/ResourceLayout_Create.js +3 -4
  596. package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
  597. package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
  598. package/dist/esm/components/resources/ResourceLayout_Create.labels.js +10 -0
  599. package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
  600. package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts +5 -3
  601. package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
  602. package/dist/esm/components/resources/ResourceLayout_DangerZone.js +4 -3
  603. package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
  604. package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts +8 -1
  605. package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
  606. package/dist/esm/components/resources/ResourceLayout_FilterChips.js +83 -11
  607. package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
  608. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js +1 -1
  609. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
  610. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts +5 -8
  611. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
  612. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js +68 -19
  613. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
  614. package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
  615. package/dist/esm/components/resources/ResourceLayout_Header.js +150 -44
  616. package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
  617. package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
  618. package/dist/esm/components/resources/ResourceLayout_InsertedViews.js +62 -40
  619. package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
  620. package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
  621. package/dist/esm/components/resources/ResourceLayout_List.js +68 -70
  622. package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
  623. package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
  624. package/dist/esm/components/resources/ResourceLayout_List.labels.js +4 -10
  625. package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
  626. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts +8 -9
  627. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
  628. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js +67 -25
  629. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
  630. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js +8 -8
  631. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
  632. package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts +8 -2
  633. package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
  634. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js +12 -7
  635. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
  636. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
  637. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js +11 -6
  638. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
  639. package/dist/esm/components/resources/ResourceLayout_Read.d.ts +2 -0
  640. package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
  641. package/dist/esm/components/resources/ResourceLayout_Read.js +23 -5
  642. package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
  643. package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
  644. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js +5 -3
  645. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
  646. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
  647. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js +18 -7
  648. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
  649. package/dist/esm/components/resources/ResourceLayout_RecordSharing.d.ts +56 -0
  650. package/dist/esm/components/resources/ResourceLayout_RecordSharing.d.ts.map +1 -0
  651. package/dist/esm/components/resources/ResourceLayout_RecordSharing.js +184 -0
  652. package/dist/esm/components/resources/ResourceLayout_RecordSharing.js.map +1 -0
  653. package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.d.ts +3 -0
  654. package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.d.ts.map +1 -0
  655. package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.js +106 -0
  656. package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.js.map +1 -0
  657. package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
  658. package/dist/esm/components/resources/ResourceLayout_Search.js +55 -42
  659. package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
  660. package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
  661. package/dist/esm/components/resources/ResourceLayout_Search.labels.js +0 -6
  662. package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
  663. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts +8 -0
  664. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
  665. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js +2 -3
  666. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
  667. package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
  668. package/dist/esm/components/resources/ResourceLayout_SortControl.js +3 -2
  669. package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
  670. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts +29 -5
  671. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
  672. package/dist/esm/components/resources/ResourceListItemRenderer.js +123 -41
  673. package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
  674. package/dist/esm/components/resources/ResourceViewModeToggle.d.ts +6 -1
  675. package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
  676. package/dist/esm/components/resources/ResourceViewModeToggle.js +9 -7
  677. package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
  678. package/dist/esm/components/resources/collection-card-layout.utils.d.ts +37 -15
  679. package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
  680. package/dist/esm/components/resources/collection-card-layout.utils.js +37 -15
  681. package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
  682. package/dist/esm/components/resources/collection-selection-bar-density.d.ts +113 -0
  683. package/dist/esm/components/resources/collection-selection-bar-density.d.ts.map +1 -0
  684. package/dist/esm/components/resources/collection-selection-bar-density.js +175 -0
  685. package/dist/esm/components/resources/collection-selection-bar-density.js.map +1 -0
  686. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts +2 -1
  687. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
  688. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
  689. package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
  690. package/dist/esm/components/resources/embeds/RelatedResourceSections.js +14 -2
  691. package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
  692. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts +61 -1
  693. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
  694. package/dist/esm/components/resources/embeds/ResourceEmbeds.js +151 -15
  695. package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
  696. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts +11 -0
  697. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
  698. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js +13 -0
  699. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
  700. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts +24 -1
  701. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
  702. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js +47 -3
  703. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
  704. package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.d.ts +35 -0
  705. package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.d.ts.map +1 -0
  706. package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.js +36 -0
  707. package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.js.map +1 -0
  708. package/dist/esm/components/resources/resource-header-geometry.d.ts +19 -0
  709. package/dist/esm/components/resources/resource-header-geometry.d.ts.map +1 -0
  710. package/dist/esm/components/resources/resource-header-geometry.js +19 -0
  711. package/dist/esm/components/resources/resource-header-geometry.js.map +1 -0
  712. package/dist/esm/components/resources/resourceLayout.utils.d.ts +28 -2
  713. package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
  714. package/dist/esm/components/resources/resourceLayout.utils.js +45 -12
  715. package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
  716. package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
  717. package/dist/esm/components/resources/skeleton/ArrayField.js +10 -0
  718. package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
  719. package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts +20 -4
  720. package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
  721. package/dist/esm/components/resources/skeleton/DisplayLayout.js +19 -2
  722. package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
  723. package/dist/esm/components/resources/skeleton/FieldTiles.d.ts +48 -0
  724. package/dist/esm/components/resources/skeleton/FieldTiles.d.ts.map +1 -0
  725. package/dist/esm/components/resources/skeleton/FieldTiles.js +51 -0
  726. package/dist/esm/components/resources/skeleton/FieldTiles.js.map +1 -0
  727. package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
  728. package/dist/esm/components/resources/skeleton/FormLayout.js +2 -1
  729. package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
  730. package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
  731. package/dist/esm/components/resources/skeleton/Group.js +5 -2
  732. package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
  733. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts +77 -14
  734. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
  735. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js +98 -25
  736. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
  737. package/dist/esm/components/resources/skeleton/Section.d.ts +7 -0
  738. package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
  739. package/dist/esm/components/resources/skeleton/Section.js +9 -3
  740. package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
  741. package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts +3 -3
  742. package/dist/esm/components/resources/skeleton/SummaryLayout.js +3 -3
  743. package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
  744. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts +7 -5
  745. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
  746. package/dist/esm/components/resources/skeleton/WizardLayout.js +176 -65
  747. package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
  748. package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts +9 -1
  749. package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
  750. package/dist/esm/components/resources/skeleton/WizardLayoutContext.js +7 -0
  751. package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
  752. package/dist/esm/components/resources/skeleton/WizardStep.d.ts +1 -1
  753. package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
  754. package/dist/esm/components/resources/skeleton/WizardStep.js +9 -5
  755. package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
  756. package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
  757. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js +31 -2
  758. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
  759. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
  760. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js +176 -61
  761. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
  762. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
  763. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js +14 -7
  764. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
  765. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
  766. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js +18 -1
  767. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
  768. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts +8 -0
  769. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
  770. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js +3 -0
  771. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
  772. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
  773. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js +48 -17
  774. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
  775. package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
  776. package/dist/esm/components/sections/ContentSectionContainer.js +226 -74
  777. package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
  778. package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
  779. package/dist/esm/components/sections/ContentSectionContainer.labels.js +2 -3
  780. package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
  781. package/dist/esm/components/sections/content-section.d.ts +2 -2
  782. package/dist/esm/components/sections/content-section.js.map +1 -1
  783. package/dist/esm/components/sections/section-grouping.shared.d.ts +19 -0
  784. package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
  785. package/dist/esm/components/sections/section-grouping.shared.js +24 -0
  786. package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
  787. package/dist/esm/components/sections/section-legend-voice.context.d.ts +19 -0
  788. package/dist/esm/components/sections/section-legend-voice.context.d.ts.map +1 -0
  789. package/dist/esm/components/sections/section-legend-voice.context.js +21 -0
  790. package/dist/esm/components/sections/section-legend-voice.context.js.map +1 -0
  791. package/dist/esm/components/sections/section-legend-voice.d.ts +41 -0
  792. package/dist/esm/components/sections/section-legend-voice.d.ts.map +1 -0
  793. package/dist/esm/components/sections/section-legend-voice.js +67 -0
  794. package/dist/esm/components/sections/section-legend-voice.js.map +1 -0
  795. package/dist/esm/components/sections/stepper.d.ts +14 -0
  796. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  797. package/dist/esm/components/sections/stepper.js.map +1 -1
  798. package/dist/esm/components/sections/surface.d.ts.map +1 -1
  799. package/dist/esm/components/sections/surface.js +10 -2
  800. package/dist/esm/components/sections/surface.js.map +1 -1
  801. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.d.ts +39 -0
  802. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.d.ts.map +1 -0
  803. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.js +187 -0
  804. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.js.map +1 -0
  805. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.d.ts +3 -0
  806. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.d.ts.map +1 -0
  807. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.js +34 -0
  808. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.js.map +1 -0
  809. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts +1 -1
  810. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js +1 -1
  811. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js.map +1 -1
  812. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js +8 -8
  813. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js.map +1 -1
  814. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.d.ts +43 -0
  815. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.d.ts.map +1 -0
  816. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.js +142 -0
  817. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.js.map +1 -0
  818. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.d.ts +3 -0
  819. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.d.ts.map +1 -0
  820. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.js +62 -0
  821. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.js.map +1 -0
  822. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +25 -8
  823. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -1
  824. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +275 -71
  825. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -1
  826. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -1
  827. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +91 -14
  828. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -1
  829. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts +13 -8
  830. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
  831. package/dist/esm/components/settings/AppPage_InvitationsSettings.js +95 -23
  832. package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
  833. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
  834. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js +25 -2
  835. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
  836. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.d.ts +67 -0
  837. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.d.ts.map +1 -0
  838. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.js +177 -0
  839. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.js.map +1 -0
  840. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.d.ts +3 -0
  841. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.d.ts.map +1 -0
  842. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.js +45 -0
  843. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.js.map +1 -0
  844. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.d.ts +35 -0
  845. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.d.ts.map +1 -0
  846. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.js +137 -0
  847. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.js.map +1 -0
  848. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.d.ts +3 -0
  849. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.d.ts.map +1 -0
  850. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.js +38 -0
  851. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.js.map +1 -0
  852. package/dist/esm/components/settings/SettingsHub.d.ts +3 -3
  853. package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
  854. package/dist/esm/components/settings/SettingsHub.js +98 -48
  855. package/dist/esm/components/settings/SettingsHub.js.map +1 -1
  856. package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
  857. package/dist/esm/components/settings/SettingsHub.labels.js +2 -0
  858. package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
  859. package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
  860. package/dist/esm/components/settings/SettingsResourceOperationPanel.js +21 -1
  861. package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
  862. package/dist/esm/components/settings/useOwnerProviderConnections.d.ts +24 -5
  863. package/dist/esm/components/settings/useOwnerProviderConnections.d.ts.map +1 -1
  864. package/dist/esm/components/settings/useOwnerProviderConnections.js +67 -9
  865. package/dist/esm/components/settings/useOwnerProviderConnections.js.map +1 -1
  866. package/dist/esm/components/views/chart-view/ChartView.js +3 -3
  867. package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
  868. package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
  869. package/dist/esm/components/views/chart-view/chart-export.utils.js +2 -9
  870. package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
  871. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts +1 -0
  872. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
  873. package/dist/esm/components/views/chart-view/enum-color-bridge.js +10 -1
  874. package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
  875. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts +8 -6
  876. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
  877. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js +10 -8
  878. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
  879. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js +2 -2
  880. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
  881. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js +1 -1
  882. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
  883. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js +1 -1
  884. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
  885. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js +1 -1
  886. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
  887. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts +6 -0
  888. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
  889. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
  890. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts +3 -1
  891. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
  892. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js +4 -1
  893. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
  894. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts +0 -1
  895. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
  896. package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
  897. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
  898. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js +24 -1
  899. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
  900. package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.d.ts +29 -0
  901. package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.d.ts.map +1 -0
  902. package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.js +104 -0
  903. package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.js.map +1 -0
  904. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts +16 -5
  905. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
  906. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +219 -230
  907. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
  908. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts +5 -0
  909. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
  910. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js +15 -13
  911. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
  912. package/dist/esm/components/views/flows-actors-view/held-conversation-selection.d.ts +13 -0
  913. package/dist/esm/components/views/flows-actors-view/held-conversation-selection.d.ts.map +1 -0
  914. package/dist/esm/components/views/flows-actors-view/held-conversation-selection.js +44 -0
  915. package/dist/esm/components/views/flows-actors-view/held-conversation-selection.js.map +1 -0
  916. package/dist/esm/core/app-shell/AppShellBuildingBlocks.d.ts.map +1 -1
  917. package/dist/esm/core/app-shell/AppShellBuildingBlocks.js +6 -2
  918. package/dist/esm/core/app-shell/AppShellBuildingBlocks.js.map +1 -1
  919. package/dist/esm/core/app-shell/app-shell.schemas.d.ts +64 -9
  920. package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
  921. package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
  922. package/dist/esm/core/app-shell/hosted-components.utils.d.ts +11 -1
  923. package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
  924. package/dist/esm/core/app-shell/hosted-components.utils.js +25 -0
  925. package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
  926. package/dist/esm/core/app-shell/shell-layout.d.ts +138 -0
  927. package/dist/esm/core/app-shell/shell-layout.d.ts.map +1 -0
  928. package/dist/esm/core/app-shell/shell-layout.js +143 -0
  929. package/dist/esm/core/app-shell/shell-layout.js.map +1 -0
  930. package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.d.ts +13 -0
  931. package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.d.ts.map +1 -0
  932. package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.js +49 -0
  933. package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.js.map +1 -0
  934. package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.d.ts +95 -0
  935. package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.d.ts.map +1 -0
  936. package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.js +316 -0
  937. package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.js.map +1 -0
  938. package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.d.ts +217 -0
  939. package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.d.ts.map +1 -0
  940. package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.js +197 -0
  941. package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.js.map +1 -0
  942. package/dist/esm/core/app-shell/shell-motion/shell-view-transition.d.ts +46 -0
  943. package/dist/esm/core/app-shell/shell-motion/shell-view-transition.d.ts.map +1 -0
  944. package/dist/esm/core/app-shell/shell-motion/shell-view-transition.js +139 -0
  945. package/dist/esm/core/app-shell/shell-motion/shell-view-transition.js.map +1 -0
  946. package/dist/esm/core/app-shell/shell-motion/use-shell-motion.d.ts +108 -0
  947. package/dist/esm/core/app-shell/shell-motion/use-shell-motion.d.ts.map +1 -0
  948. package/dist/esm/core/app-shell/shell-motion/use-shell-motion.js +423 -0
  949. package/dist/esm/core/app-shell/shell-motion/use-shell-motion.js.map +1 -0
  950. package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
  951. package/dist/esm/core/app-shell/useAppShellLayout.js +6 -1
  952. package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
  953. package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
  954. package/dist/esm/core/app-shell/usePublicShellLayout.js +11 -4
  955. package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
  956. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +18 -1
  957. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
  958. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +26 -4
  959. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
  960. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.d.ts.map +1 -1
  961. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js +3 -22
  962. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js.map +1 -1
  963. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +19 -3
  964. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
  965. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +100 -13
  966. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
  967. package/dist/esm/core/automated-layout/summary-value-naming.utils.d.ts +67 -0
  968. package/dist/esm/core/automated-layout/summary-value-naming.utils.d.ts.map +1 -0
  969. package/dist/esm/core/automated-layout/summary-value-naming.utils.js +100 -0
  970. package/dist/esm/core/automated-layout/summary-value-naming.utils.js.map +1 -0
  971. package/dist/esm/core/billing/BillingContext.d.ts +0 -17
  972. package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
  973. package/dist/esm/core/billing/BillingContext.js +6 -1
  974. package/dist/esm/core/billing/BillingContext.js.map +1 -1
  975. package/dist/esm/core/branding/OrganizationBrandingPublisher.d.ts +2 -0
  976. package/dist/esm/core/branding/OrganizationBrandingPublisher.d.ts.map +1 -0
  977. package/dist/esm/core/branding/OrganizationBrandingPublisher.js +78 -0
  978. package/dist/esm/core/branding/OrganizationBrandingPublisher.js.map +1 -0
  979. package/dist/esm/core/branding/useBrandIdentity.d.ts +21 -0
  980. package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
  981. package/dist/esm/core/branding/useBrandIdentity.js +31 -5
  982. package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
  983. package/dist/esm/core/branding/useBrandPresentation.d.ts +5 -0
  984. package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
  985. package/dist/esm/core/branding/useBrandPresentation.js +1 -0
  986. package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
  987. package/dist/esm/core/branding/useDisplayableImageUrl.d.ts +4 -0
  988. package/dist/esm/core/branding/useDisplayableImageUrl.d.ts.map +1 -0
  989. package/dist/esm/core/branding/useDisplayableImageUrl.js +66 -0
  990. package/dist/esm/core/branding/useDisplayableImageUrl.js.map +1 -0
  991. package/dist/esm/core/branding/useOrganizationDocumentTitle.d.ts +2 -0
  992. package/dist/esm/core/branding/useOrganizationDocumentTitle.d.ts.map +1 -0
  993. package/dist/esm/core/branding/useOrganizationDocumentTitle.js +23 -0
  994. package/dist/esm/core/branding/useOrganizationDocumentTitle.js.map +1 -0
  995. package/dist/esm/core/commons/save-blob-as-file.frontend.utils.d.ts +16 -0
  996. package/dist/esm/core/commons/save-blob-as-file.frontend.utils.d.ts.map +1 -0
  997. package/dist/esm/core/commons/save-blob-as-file.frontend.utils.js +35 -0
  998. package/dist/esm/core/commons/save-blob-as-file.frontend.utils.js.map +1 -0
  999. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
  1000. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +8 -0
  1001. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
  1002. package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
  1003. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js +34 -5
  1004. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
  1005. package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
  1006. package/dist/esm/core/components-registry/register-framework-layouts.js +4 -0
  1007. package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
  1008. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +36 -0
  1009. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
  1010. package/dist/esm/core/config/app-configuration-frontend.schemas.js +29 -2
  1011. package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
  1012. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +10 -16
  1013. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
  1014. package/dist/esm/core/config/app-level-components.frontend.schemas.js +10 -16
  1015. package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
  1016. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +12 -8
  1017. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
  1018. package/dist/esm/core/config/chart-view.frontend.schemas.js +10 -0
  1019. package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
  1020. package/dist/esm/core/config/composite-view.schemas.d.ts +2 -2
  1021. package/dist/esm/core/config/config-merge-utilities.d.ts +31 -3
  1022. package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
  1023. package/dist/esm/core/config/config-merge-utilities.js +61 -7
  1024. package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
  1025. package/dist/esm/core/config/decision-inbox-capability.frontend.utils.d.ts +83 -0
  1026. package/dist/esm/core/config/decision-inbox-capability.frontend.utils.d.ts.map +1 -0
  1027. package/dist/esm/core/config/decision-inbox-capability.frontend.utils.js +100 -0
  1028. package/dist/esm/core/config/decision-inbox-capability.frontend.utils.js.map +1 -0
  1029. package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.d.ts +69 -0
  1030. package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.d.ts.map +1 -0
  1031. package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.js +65 -0
  1032. package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.js.map +1 -0
  1033. package/dist/esm/core/config/engine-settings-destinations.d.ts +13 -1
  1034. package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
  1035. package/dist/esm/core/config/engine-settings-destinations.js +588 -155
  1036. package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
  1037. package/dist/esm/core/config/execution-view.schemas.d.ts +17 -3
  1038. package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
  1039. package/dist/esm/core/config/execution-view.schemas.js +1 -1
  1040. package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
  1041. package/dist/esm/core/config/flows-actors-view.schemas.d.ts +12 -2
  1042. package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
  1043. package/dist/esm/core/config/flows-actors-view.schemas.js +13 -1
  1044. package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
  1045. package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts +12 -11
  1046. package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
  1047. package/dist/esm/core/config/inserted-view-launcher.schemas.js +14 -13
  1048. package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
  1049. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +77 -27
  1050. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
  1051. package/dist/esm/core/config/launcher-items.frontend.schemas.js +18 -13
  1052. package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
  1053. package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.d.ts +79 -0
  1054. package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.d.ts.map +1 -0
  1055. package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.js +95 -0
  1056. package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.js.map +1 -0
  1057. package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts +19 -7
  1058. package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
  1059. package/dist/esm/core/config/settings-hub-gating.frontend.utils.js +45 -10
  1060. package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
  1061. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts +2 -2
  1062. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts.map +1 -1
  1063. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js +38 -5
  1064. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js.map +1 -1
  1065. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +94 -10
  1066. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
  1067. package/dist/esm/core/config/settings-hub.frontend.schemas.js +40 -3
  1068. package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
  1069. package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
  1070. package/dist/esm/core/config/useSettingsHubConfig.js +4 -1
  1071. package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
  1072. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts +2 -2
  1073. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
  1074. package/dist/esm/core/config/useVisibleSettingsHubConfig.js +7 -8
  1075. package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
  1076. package/dist/esm/core/config/verify-launcher-content.d.ts +16 -2
  1077. package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
  1078. package/dist/esm/core/config/verify-launcher-content.js +64 -4
  1079. package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
  1080. package/dist/esm/core/config/verify-settings-hub-content.d.ts +4 -0
  1081. package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
  1082. package/dist/esm/core/config/verify-settings-hub-content.js +34 -0
  1083. package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
  1084. package/dist/esm/core/enums/common-enum-registry.d.ts +16 -23
  1085. package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
  1086. package/dist/esm/core/enums/common-enum-registry.js +26 -29
  1087. package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
  1088. package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
  1089. package/dist/esm/core/errors/GlobalErrorHandler.js +71 -9
  1090. package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
  1091. package/dist/esm/core/errors/error-management.frontend.service.d.ts +0 -4
  1092. package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
  1093. package/dist/esm/core/errors/error-management.frontend.service.js +5 -8
  1094. package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
  1095. package/dist/esm/core/errors/errors.frontend.schemas.d.ts +21 -10
  1096. package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
  1097. package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
  1098. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts +35 -0
  1099. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts.map +1 -1
  1100. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js +44 -5
  1101. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js.map +1 -1
  1102. package/dist/esm/core/events/EventBusContext.js.map +1 -1
  1103. package/dist/esm/core/events/NotificationContext.d.ts +13 -1
  1104. package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
  1105. package/dist/esm/core/events/NotificationContext.js +89 -22
  1106. package/dist/esm/core/events/NotificationContext.js.map +1 -1
  1107. package/dist/esm/core/events/events.frontend.schemas.d.ts +68 -4
  1108. package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
  1109. package/dist/esm/core/events/events.frontend.schemas.js +67 -3
  1110. package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
  1111. package/dist/esm/core/events/useNotificationPreferenceKinds.d.ts +9 -0
  1112. package/dist/esm/core/events/useNotificationPreferenceKinds.d.ts.map +1 -0
  1113. package/dist/esm/core/events/useNotificationPreferenceKinds.js +50 -0
  1114. package/dist/esm/core/events/useNotificationPreferenceKinds.js.map +1 -0
  1115. package/dist/esm/core/execution/useExecution.js +1 -1
  1116. package/dist/esm/core/execution/useExecution.js.map +1 -1
  1117. package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
  1118. package/dist/esm/core/execution/useExecutionParticipationRMM.js +4 -0
  1119. package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
  1120. package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
  1121. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js +3 -3
  1122. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
  1123. package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.d.ts +52 -0
  1124. package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.d.ts.map +1 -0
  1125. package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.js +88 -0
  1126. package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.js.map +1 -0
  1127. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +20 -2
  1128. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
  1129. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js +18 -1
  1130. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
  1131. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts +7 -5
  1132. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts.map +1 -1
  1133. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js +9 -6
  1134. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js.map +1 -1
  1135. package/dist/esm/core/features/FeaturesContext.d.ts +9 -1
  1136. package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
  1137. package/dist/esm/core/features/FeaturesContext.js +38 -12
  1138. package/dist/esm/core/features/FeaturesContext.js.map +1 -1
  1139. package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
  1140. package/dist/esm/core/features/useOperationFeatureAvailability.js +4 -0
  1141. package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
  1142. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +90 -33
  1143. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
  1144. package/dist/esm/core/flows-actors/FlowsActorsContext.js +153 -100
  1145. package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
  1146. package/dist/esm/core/flows-actors/conversation-history.model.d.ts +41 -0
  1147. package/dist/esm/core/flows-actors/conversation-history.model.d.ts.map +1 -0
  1148. package/dist/esm/core/flows-actors/conversation-history.model.js +65 -0
  1149. package/dist/esm/core/flows-actors/conversation-history.model.js.map +1 -0
  1150. package/dist/esm/core/flows-actors/conversation-thread.model.d.ts +144 -0
  1151. package/dist/esm/core/flows-actors/conversation-thread.model.d.ts.map +1 -0
  1152. package/dist/esm/core/flows-actors/conversation-thread.model.js +315 -0
  1153. package/dist/esm/core/flows-actors/conversation-thread.model.js.map +1 -0
  1154. package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.d.ts +29 -0
  1155. package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.d.ts.map +1 -0
  1156. package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.js +67 -0
  1157. package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.js.map +1 -0
  1158. package/dist/esm/core/flows-actors/graph-view.layout.d.ts +77 -0
  1159. package/dist/esm/core/flows-actors/graph-view.layout.d.ts.map +1 -0
  1160. package/dist/esm/core/flows-actors/graph-view.layout.js +169 -0
  1161. package/dist/esm/core/flows-actors/graph-view.layout.js.map +1 -0
  1162. package/dist/esm/core/flows-actors/graph-view.model.d.ts +245 -0
  1163. package/dist/esm/core/flows-actors/graph-view.model.d.ts.map +1 -0
  1164. package/dist/esm/core/flows-actors/graph-view.model.js +414 -0
  1165. package/dist/esm/core/flows-actors/graph-view.model.js.map +1 -0
  1166. package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.d.ts +12 -0
  1167. package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.d.ts.map +1 -0
  1168. package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.js +20 -0
  1169. package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.js.map +1 -0
  1170. package/dist/esm/core/flows-actors/usePendingDecisions.d.ts +36 -11
  1171. package/dist/esm/core/flows-actors/usePendingDecisions.d.ts.map +1 -1
  1172. package/dist/esm/core/flows-actors/usePendingDecisions.js +114 -29
  1173. package/dist/esm/core/flows-actors/usePendingDecisions.js.map +1 -1
  1174. package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
  1175. package/dist/esm/core/guidance/GuidanceContext.js +1 -2
  1176. package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
  1177. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js +2 -2
  1178. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
  1179. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +3 -9
  1180. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
  1181. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +3 -15
  1182. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
  1183. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts +2 -2
  1184. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js +2 -2
  1185. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
  1186. package/dist/esm/core/i18n/I18nContext.d.ts +52 -3
  1187. package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
  1188. package/dist/esm/core/i18n/I18nContext.js +80 -7
  1189. package/dist/esm/core/i18n/I18nContext.js.map +1 -1
  1190. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +82 -1
  1191. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -1
  1192. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +121 -6
  1193. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -1
  1194. package/dist/esm/core/i18n/useI18n.d.ts +3 -1
  1195. package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
  1196. package/dist/esm/core/i18n/useI18n.js +3 -1
  1197. package/dist/esm/core/i18n/useI18n.js.map +1 -1
  1198. package/dist/esm/core/icons/IconRegistryBridge.d.ts +38 -4
  1199. package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
  1200. package/dist/esm/core/icons/IconRegistryBridge.js +103 -63
  1201. package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
  1202. package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
  1203. package/dist/esm/core/icons/IconRegistryContext.js +41 -0
  1204. package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
  1205. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts +44 -0
  1206. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
  1207. package/dist/esm/core/icons/icon-registry.frontend.schemas.js +46 -0
  1208. package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
  1209. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js +2 -2
  1210. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
  1211. package/dist/esm/core/navigation/NavigationContentAreas.d.ts +64 -20
  1212. package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
  1213. package/dist/esm/core/navigation/NavigationContentAreas.js +82 -51
  1214. package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
  1215. package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
  1216. package/dist/esm/core/navigation/NavigationContext.js +130 -23
  1217. package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
  1218. package/dist/esm/core/navigation/NavigationRequestBridge.d.ts +4 -0
  1219. package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
  1220. package/dist/esm/core/navigation/NavigationRequestBridge.js +17 -1
  1221. package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
  1222. package/dist/esm/core/navigation/ZoneChromeContext.d.ts +80 -0
  1223. package/dist/esm/core/navigation/ZoneChromeContext.d.ts.map +1 -0
  1224. package/dist/esm/core/navigation/ZoneChromeContext.js +130 -0
  1225. package/dist/esm/core/navigation/ZoneChromeContext.js.map +1 -0
  1226. package/dist/esm/core/navigation/launcher-resolution.d.ts +102 -2
  1227. package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
  1228. package/dist/esm/core/navigation/launcher-resolution.js +194 -9
  1229. package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
  1230. package/dist/esm/core/navigation/launcher-runtime-availability.d.ts +35 -5
  1231. package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
  1232. package/dist/esm/core/navigation/launcher-runtime-availability.js +147 -18
  1233. package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
  1234. package/dist/esm/core/navigation/navigation-cascade.d.ts +44 -14
  1235. package/dist/esm/core/navigation/navigation-cascade.d.ts.map +1 -1
  1236. package/dist/esm/core/navigation/navigation-cascade.js +87 -19
  1237. package/dist/esm/core/navigation/navigation-cascade.js.map +1 -1
  1238. package/dist/esm/core/navigation/navigation-commit.d.ts +45 -0
  1239. package/dist/esm/core/navigation/navigation-commit.d.ts.map +1 -0
  1240. package/dist/esm/core/navigation/navigation-commit.js +68 -0
  1241. package/dist/esm/core/navigation/navigation-commit.js.map +1 -0
  1242. package/dist/esm/core/navigation/navigation-controller-internals.d.ts +54 -3
  1243. package/dist/esm/core/navigation/navigation-controller-internals.d.ts.map +1 -1
  1244. package/dist/esm/core/navigation/navigation-controller-internals.js +91 -3
  1245. package/dist/esm/core/navigation/navigation-controller-internals.js.map +1 -1
  1246. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +3 -3
  1247. package/dist/esm/core/navigation/navigation-policy-resolver.service.js +3 -3
  1248. package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
  1249. package/dist/esm/core/navigation/navigation.utils.d.ts +95 -22
  1250. package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
  1251. package/dist/esm/core/navigation/navigation.utils.js +190 -63
  1252. package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
  1253. package/dist/esm/core/navigation/sidebar-resource-browser-operation.d.ts +8 -0
  1254. package/dist/esm/core/navigation/sidebar-resource-browser-operation.d.ts.map +1 -0
  1255. package/dist/esm/core/navigation/sidebar-resource-browser-operation.js +27 -0
  1256. package/dist/esm/core/navigation/sidebar-resource-browser-operation.js.map +1 -0
  1257. package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.d.ts +64 -0
  1258. package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.d.ts.map +1 -0
  1259. package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.js +212 -0
  1260. package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.js.map +1 -0
  1261. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts +1 -1
  1262. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
  1263. package/dist/esm/core/navigation/useLauncherResolutionContext.js +17 -2
  1264. package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
  1265. package/dist/esm/core/navigation/useNavigationController.d.ts +1 -0
  1266. package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
  1267. package/dist/esm/core/navigation/useNavigationController.js +51 -67
  1268. package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
  1269. package/dist/esm/core/navigation/useNavigationRouterSync.d.ts.map +1 -1
  1270. package/dist/esm/core/navigation/useNavigationRouterSync.js +17 -1
  1271. package/dist/esm/core/navigation/useNavigationRouterSync.js.map +1 -1
  1272. package/dist/esm/core/navigation/useZoneEntryOrganizationHold.d.ts +17 -0
  1273. package/dist/esm/core/navigation/useZoneEntryOrganizationHold.d.ts.map +1 -0
  1274. package/dist/esm/core/navigation/useZoneEntryOrganizationHold.js +32 -0
  1275. package/dist/esm/core/navigation/useZoneEntryOrganizationHold.js.map +1 -0
  1276. package/dist/esm/core/navigation/zone-collapse.d.ts +2 -1
  1277. package/dist/esm/core/navigation/zone-collapse.d.ts.map +1 -1
  1278. package/dist/esm/core/navigation/zone-collapse.js +2 -1
  1279. package/dist/esm/core/navigation/zone-collapse.js.map +1 -1
  1280. package/dist/esm/core/navigation/zone-entry-organization.d.ts +34 -0
  1281. package/dist/esm/core/navigation/zone-entry-organization.d.ts.map +1 -0
  1282. package/dist/esm/core/navigation/zone-entry-organization.js +77 -0
  1283. package/dist/esm/core/navigation/zone-entry-organization.js.map +1 -0
  1284. package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts +15 -0
  1285. package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
  1286. package/dist/esm/core/requests/auth-refresh-resilience.frontend.js +24 -0
  1287. package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
  1288. package/dist/esm/core/requests/automatic-resend-safety.frontend.d.ts +74 -0
  1289. package/dist/esm/core/requests/automatic-resend-safety.frontend.d.ts.map +1 -0
  1290. package/dist/esm/core/requests/automatic-resend-safety.frontend.js +52 -0
  1291. package/dist/esm/core/requests/automatic-resend-safety.frontend.js.map +1 -0
  1292. package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
  1293. package/dist/esm/core/requests/websockets/WebSocketContext.js +31 -0
  1294. package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
  1295. package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
  1296. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js +2 -0
  1297. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
  1298. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +162 -98
  1299. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
  1300. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +283 -157
  1301. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
  1302. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts +9 -13
  1303. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
  1304. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +45 -97
  1305. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
  1306. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +25 -5
  1307. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
  1308. package/dist/esm/core/requests/wildo-http-client.frontend.service.js +56 -11
  1309. package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
  1310. package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
  1311. package/dist/esm/core/resources/ScopedResourceRegistryProvider.js +1 -2
  1312. package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
  1313. package/dist/esm/core/resources/calendar-date-fields.frontend.utils.d.ts +14 -0
  1314. package/dist/esm/core/resources/calendar-date-fields.frontend.utils.d.ts.map +1 -0
  1315. package/dist/esm/core/resources/calendar-date-fields.frontend.utils.js +29 -0
  1316. package/dist/esm/core/resources/calendar-date-fields.frontend.utils.js.map +1 -0
  1317. package/dist/esm/core/resources/caller-identity-record.frontend.utils.d.ts +23 -0
  1318. package/dist/esm/core/resources/caller-identity-record.frontend.utils.d.ts.map +1 -0
  1319. package/dist/esm/core/resources/caller-identity-record.frontend.utils.js +26 -0
  1320. package/dist/esm/core/resources/caller-identity-record.frontend.utils.js.map +1 -0
  1321. package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts +1 -1
  1322. package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
  1323. package/dist/esm/core/resources/collection-export-url.frontend.utils.js +34 -16
  1324. package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
  1325. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts +54 -11
  1326. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts.map +1 -1
  1327. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js +131 -63
  1328. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js.map +1 -1
  1329. package/dist/esm/core/resources/date-filter-window.frontend.utils.d.ts +58 -0
  1330. package/dist/esm/core/resources/date-filter-window.frontend.utils.d.ts.map +1 -0
  1331. package/dist/esm/core/resources/date-filter-window.frontend.utils.js +70 -0
  1332. package/dist/esm/core/resources/date-filter-window.frontend.utils.js.map +1 -0
  1333. package/dist/esm/core/resources/frontend-resource.utils.d.ts +146 -7
  1334. package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
  1335. package/dist/esm/core/resources/frontend-resource.utils.js +194 -22
  1336. package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
  1337. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts +18 -4
  1338. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
  1339. package/dist/esm/core/resources/hooks/useOperationEnabled.js +26 -6
  1340. package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
  1341. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts +95 -2
  1342. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
  1343. package/dist/esm/core/resources/operation-semantics.frontend.utils.js +126 -13
  1344. package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
  1345. package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.d.ts +45 -0
  1346. package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.d.ts.map +1 -0
  1347. package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.js +46 -0
  1348. package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.js.map +1 -0
  1349. package/dist/esm/core/resources/referenced-record-scope.frontend.utils.d.ts +46 -0
  1350. package/dist/esm/core/resources/referenced-record-scope.frontend.utils.d.ts.map +1 -0
  1351. package/dist/esm/core/resources/referenced-record-scope.frontend.utils.js +86 -0
  1352. package/dist/esm/core/resources/referenced-record-scope.frontend.utils.js.map +1 -0
  1353. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
  1354. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js +5 -1
  1355. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
  1356. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts +28 -1
  1357. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
  1358. package/dist/esm/core/resources/resource-addressability.frontend.utils.js +43 -3
  1359. package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
  1360. package/dist/esm/core/resources/resource-discriminators.frontend.utils.d.ts +26 -0
  1361. package/dist/esm/core/resources/resource-discriminators.frontend.utils.d.ts.map +1 -0
  1362. package/dist/esm/core/resources/resource-discriminators.frontend.utils.js +37 -0
  1363. package/dist/esm/core/resources/resource-discriminators.frontend.utils.js.map +1 -0
  1364. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts +40 -8
  1365. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
  1366. package/dist/esm/core/resources/resources-repository.frontend.service.js +333 -73
  1367. package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
  1368. package/dist/esm/core/resources/resources.frontend.schemas.d.ts +175 -65
  1369. package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
  1370. package/dist/esm/core/resources/resources.frontend.schemas.js +245 -75
  1371. package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
  1372. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts +9 -1
  1373. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
  1374. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js +57 -22
  1375. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
  1376. package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
  1377. package/dist/esm/core/resources/rmm/RMMRegistry.js +1 -0
  1378. package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
  1379. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts +3 -0
  1380. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
  1381. package/dist/esm/core/resources/rmm/ResourceMutationManager.js +94 -35
  1382. package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
  1383. package/dist/esm/core/resources/rmm/types.d.ts +58 -6
  1384. package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
  1385. package/dist/esm/core/resources/rmm/types.js +17 -0
  1386. package/dist/esm/core/resources/rmm/types.js.map +1 -1
  1387. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts +43 -6
  1388. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
  1389. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js +49 -6
  1390. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
  1391. package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
  1392. package/dist/esm/core/resources/rmm/useResourceMutationManager.js +2 -0
  1393. package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
  1394. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts +2 -0
  1395. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
  1396. package/dist/esm/core/resources/rmm/useResourceRMM.js +10 -3
  1397. package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
  1398. package/dist/esm/core/resources/temporal-day-groups.frontend.utils.d.ts +22 -0
  1399. package/dist/esm/core/resources/temporal-day-groups.frontend.utils.d.ts.map +1 -0
  1400. package/dist/esm/core/resources/temporal-day-groups.frontend.utils.js +31 -0
  1401. package/dist/esm/core/resources/temporal-day-groups.frontend.utils.js.map +1 -0
  1402. package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.d.ts +36 -0
  1403. package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.d.ts.map +1 -0
  1404. package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.js +88 -0
  1405. package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.js.map +1 -0
  1406. package/dist/esm/core/resources/useBulkJobProgress.d.ts +6 -0
  1407. package/dist/esm/core/resources/useBulkJobProgress.d.ts.map +1 -1
  1408. package/dist/esm/core/resources/useBulkJobProgress.js +1 -0
  1409. package/dist/esm/core/resources/useBulkJobProgress.js.map +1 -1
  1410. package/dist/esm/core/resources/useCollectionFilterPresetScope.d.ts +14 -0
  1411. package/dist/esm/core/resources/useCollectionFilterPresetScope.d.ts.map +1 -0
  1412. package/dist/esm/core/resources/useCollectionFilterPresetScope.js +29 -0
  1413. package/dist/esm/core/resources/useCollectionFilterPresetScope.js.map +1 -0
  1414. package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts +7 -6
  1415. package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
  1416. package/dist/esm/core/resources/useHostlessResourceNavigation.js +35 -21
  1417. package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
  1418. package/dist/esm/core/resources/useOperationDirectExecution.d.ts.map +1 -1
  1419. package/dist/esm/core/resources/useOperationDirectExecution.js +25 -10
  1420. package/dist/esm/core/resources/useOperationDirectExecution.js.map +1 -1
  1421. package/dist/esm/core/resources/useRecordSharing.d.ts +58 -0
  1422. package/dist/esm/core/resources/useRecordSharing.d.ts.map +1 -0
  1423. package/dist/esm/core/resources/useRecordSharing.js +220 -0
  1424. package/dist/esm/core/resources/useRecordSharing.js.map +1 -0
  1425. package/dist/esm/core/resources/useResourceLabels.d.ts +4 -1
  1426. package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
  1427. package/dist/esm/core/resources/useResourceLabels.js +31 -32
  1428. package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
  1429. package/dist/esm/core/resources/useResourceOperationActions.d.ts +23 -4
  1430. package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
  1431. package/dist/esm/core/resources/useResourceOperationActions.js +219 -51
  1432. package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
  1433. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts +10 -1
  1434. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts.map +1 -1
  1435. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js +7 -2
  1436. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js.map +1 -1
  1437. package/dist/esm/core/resources/useResourceOperationSurface.d.ts +5 -5
  1438. package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
  1439. package/dist/esm/core/resources/useResourceOperationSurface.js +5 -4
  1440. package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
  1441. package/dist/esm/core/resources/useResourceSelection.d.ts +6 -0
  1442. package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
  1443. package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
  1444. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts +47 -0
  1445. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
  1446. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js +117 -4
  1447. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
  1448. package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
  1449. package/dist/esm/core/runtime/AppRouter.js +5 -2
  1450. package/dist/esm/core/runtime/AppRouter.js.map +1 -1
  1451. package/dist/esm/core/runtime/ApplicationMainContext.d.ts +10 -1
  1452. package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
  1453. package/dist/esm/core/runtime/ApplicationMainContext.js +17 -2
  1454. package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
  1455. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts +5 -0
  1456. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
  1457. package/dist/esm/core/runtime/domain-module.frontend.definitions.js +4 -2
  1458. package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
  1459. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +19 -3
  1460. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
  1461. package/dist/esm/core/runtime/routes.frontend.definitions.js +23 -7
  1462. package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
  1463. package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
  1464. package/dist/esm/core/runtime/start-application.frontend.service.js +3 -1
  1465. package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
  1466. package/dist/esm/core/scope/AppScopeContext.d.ts +7 -2
  1467. package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
  1468. package/dist/esm/core/scope/AppScopeContext.js +56 -10
  1469. package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
  1470. package/dist/esm/core/security/ApplicationRoleTablesContext.d.ts +23 -0
  1471. package/dist/esm/core/security/ApplicationRoleTablesContext.d.ts.map +1 -0
  1472. package/dist/esm/core/security/ApplicationRoleTablesContext.js +27 -0
  1473. package/dist/esm/core/security/ApplicationRoleTablesContext.js.map +1 -0
  1474. package/dist/esm/core/security/AuthSessionContext.d.ts +26 -8
  1475. package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
  1476. package/dist/esm/core/security/AuthSessionContext.js +81 -17
  1477. package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
  1478. package/dist/esm/core/security/RouteOrganizationDecisionContext.d.ts +13 -0
  1479. package/dist/esm/core/security/RouteOrganizationDecisionContext.d.ts.map +1 -0
  1480. package/dist/esm/core/security/RouteOrganizationDecisionContext.js +12 -0
  1481. package/dist/esm/core/security/RouteOrganizationDecisionContext.js.map +1 -0
  1482. package/dist/esm/core/security/StepUpAuthContext.js +5 -5
  1483. package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
  1484. package/dist/esm/core/security/UserOrgsContext.d.ts +13 -0
  1485. package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
  1486. package/dist/esm/core/security/UserOrgsContext.js +272 -103
  1487. package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
  1488. package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts +1 -0
  1489. package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
  1490. package/dist/esm/core/security/auth-redirect.frontend.utils.js +3 -2
  1491. package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
  1492. package/dist/esm/core/security/effective-permissions.frontend.utils.d.ts +43 -0
  1493. package/dist/esm/core/security/effective-permissions.frontend.utils.d.ts.map +1 -0
  1494. package/dist/esm/core/security/effective-permissions.frontend.utils.js +73 -0
  1495. package/dist/esm/core/security/effective-permissions.frontend.utils.js.map +1 -0
  1496. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts +175 -5
  1497. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts.map +1 -1
  1498. package/dist/esm/core/security/route-organization-access.frontend.utils.js +147 -6
  1499. package/dist/esm/core/security/route-organization-access.frontend.utils.js.map +1 -1
  1500. package/dist/esm/core/security/security.frontend.schemas.d.ts +17 -5
  1501. package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
  1502. package/dist/esm/core/security/security.frontend.schemas.js +0 -5
  1503. package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
  1504. package/dist/esm/core/security/useApplicationRoleTables.d.ts +3 -0
  1505. package/dist/esm/core/security/useApplicationRoleTables.d.ts.map +1 -0
  1506. package/dist/esm/core/security/useApplicationRoleTables.js +11 -0
  1507. package/dist/esm/core/security/useApplicationRoleTables.js.map +1 -0
  1508. package/dist/esm/core/security/useRouteOrganizationAccess.d.ts +9 -0
  1509. package/dist/esm/core/security/useRouteOrganizationAccess.d.ts.map +1 -1
  1510. package/dist/esm/core/security/useRouteOrganizationAccess.js +31 -10
  1511. package/dist/esm/core/security/useRouteOrganizationAccess.js.map +1 -1
  1512. package/dist/esm/core/security/useRouteOrganizationFollow.d.ts +24 -0
  1513. package/dist/esm/core/security/useRouteOrganizationFollow.d.ts.map +1 -0
  1514. package/dist/esm/core/security/useRouteOrganizationFollow.js +76 -0
  1515. package/dist/esm/core/security/useRouteOrganizationFollow.js.map +1 -0
  1516. package/dist/esm/core/ui/UIContext.d.ts +25 -2
  1517. package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
  1518. package/dist/esm/core/ui/UIContext.js +49 -37
  1519. package/dist/esm/core/ui/UIContext.js.map +1 -1
  1520. package/dist/esm/core/ui/design-token.utils.d.ts +0 -11
  1521. package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
  1522. package/dist/esm/core/ui/design-token.utils.js +51 -83
  1523. package/dist/esm/core/ui/design-token.utils.js.map +1 -1
  1524. package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
  1525. package/dist/esm/core/ui/themes/default.theme.js +151 -59
  1526. package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
  1527. package/dist/esm/core/ui/themes/focus-indicator.d.ts +221 -0
  1528. package/dist/esm/core/ui/themes/focus-indicator.d.ts.map +1 -0
  1529. package/dist/esm/core/ui/themes/focus-indicator.js +229 -0
  1530. package/dist/esm/core/ui/themes/focus-indicator.js.map +1 -0
  1531. package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -0
  1532. package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
  1533. package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
  1534. package/dist/esm/core/ui/useThemePreferenceControl.js +1 -2
  1535. package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
  1536. package/dist/esm/index.d.ts +34 -0
  1537. package/dist/esm/index.d.ts.map +1 -1
  1538. package/dist/esm/index.js +45 -7
  1539. package/dist/esm/index.js.map +1 -1
  1540. package/dist/esm/tailwind/index.d.ts.map +1 -1
  1541. package/dist/esm/tailwind/index.js +3 -0
  1542. package/dist/esm/tailwind/index.js.map +1 -1
  1543. package/dist/esm/testing/app-shell-placement-coverage.d.ts.map +1 -1
  1544. package/dist/esm/testing/app-shell-placement-coverage.js +6 -2
  1545. package/dist/esm/testing/app-shell-placement-coverage.js.map +1 -1
  1546. package/dist/esm/testing/mock-builders.d.ts +13 -1
  1547. package/dist/esm/testing/mock-builders.d.ts.map +1 -1
  1548. package/dist/esm/testing/mock-builders.js +35 -1
  1549. package/dist/esm/testing/mock-builders.js.map +1 -1
  1550. package/dist/esm/testing/rmm-helpers.d.ts +5 -3
  1551. package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
  1552. package/dist/esm/testing/rmm-helpers.js +3 -0
  1553. package/dist/esm/testing/rmm-helpers.js.map +1 -1
  1554. package/dist/esm/testing/test-providers.d.ts.map +1 -1
  1555. package/dist/esm/testing/test-providers.js +3 -0
  1556. package/dist/esm/testing/test-providers.js.map +1 -1
  1557. package/package.json +7 -6
  1558. package/dist/esm/components/flows-actors/flow-node.d.ts +0 -28
  1559. package/dist/esm/components/flows-actors/flow-node.d.ts.map +0 -1
  1560. package/dist/esm/components/flows-actors/flow-node.js +0 -115
  1561. package/dist/esm/components/flows-actors/flow-node.js.map +0 -1
  1562. package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts +0 -30
  1563. package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts.map +0 -1
  1564. package/dist/esm/components/resources/CollectionSelectionHeaderRail.js +0 -17
  1565. package/dist/esm/components/resources/CollectionSelectionHeaderRail.js.map +0 -1
  1566. package/dist/tsconfig.build.tsbuildinfo +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationContext.js","sourceRoot":"","sources":["../../../../../src/core/events/NotificationContext.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * NotificationContext\n * \n * Central notification hub for the frontend application.\n * Manages both ephemeral toast notifications and persistent notification center.\n * \n * Features:\n * - Subscribes to notification events from the EventBus\n * - Policy-driven display behavior (toast vs notification center)\n * - i18n message resolution\n * - Sonner toast integration\n * - Convenience methods for manual notifications\n * \n * This context is the single source of truth for all user notifications.\n */\n\nimport React, { createContext, useReducer, useEffect, useCallback, useMemo, useState, useRef } from 'react';\nimport { toast } from './toast';\nimport { useEventBus } from './useEventBus';\nimport { \n FrontendEvents,\n FrontendEventPayloads,\n FrontendEventResourceOperation,\n} from './events.frontend.schemas';\nimport { FrontendResourceOperationContext } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { UserPreferences, FrontendDisplayHints, userNotificationTargetIsSuppressibleByRecipientPreference } from '@wildo-ai/saas-models';\nimport { APP_LEVEL_NAVIGATION_SOURCE } from '~wildo-frontend-lib/core/navigation/navigation.schemas';\nimport { FrontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport { FrontendComponentType, LabellingTypes } from '@wildo-ai/presets-components-models';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport { resolveErrorReferenceLabel, resolveRefusalCodeLabel } from '~wildo-frontend-lib/core/errors/user-facing-error-message.frontend.utils';\nimport {\n NotificationType,\n NotificationSource,\n NotificationDisplayBehavior,\n NotifyOptions,\n getNotificationDisplayBehavior,\n} from './notification-display-policy.frontend.schemas';\n\n// Re-export types for backward compatibility\nexport type { NotificationType, NotificationSource };\n\nconst notifLogger: LoggerFrontendService = LoggerFrontendService.getLogger();\nconst logDebug: (message: string, context?: Record<string, unknown>) => void = notifLogger.debugByType('NotificationContext');\nnotifLogger.setDebugTypeLogging('NotificationContext', false);\n\n// ================================\n// Notification Types\n// ================================\n\nexport interface Notification {\n id: string;\n type: NotificationType;\n source: NotificationSource;\n timestamp: number;\n /** Resolved message for display */\n message: string;\n /** For resource notifications */\n resourceContext?: FrontendResourceOperationContext;\n /** For custom notifications - i18n identifier */\n identifier?: string;\n /** Additional data payload */\n data?: Record<string, unknown>;\n /** Whether this notification triggered a celebration overlay */\n wasCelebration?: boolean;\n /** Resolved next-step action for display in notification center */\n nextStep?: {\n label: string;\n onClick: () => void;\n };\n}\n\n// ================================\n// Celebration State (Phase 1a)\n// ================================\n\nexport interface CelebrationState {\n /** Whether a celebration is currently showing */\n isActive: boolean;\n /** The celebration display mode */\n mode?: FrontendDisplayHints['celebration'];\n /** Notification identifier for Lottie/message resolution */\n notificationIdentifier?: string;\n /** The resolved message for the celebration */\n message?: string;\n /**\n * The celebration's visible heading — for a milestone, the milestone's own title.\n * Absent when the celebrated event carries no subject with a title of its own.\n *\n * Named `heading`, not `title`: the overlay's props extend `HTMLAttributes`, where `title` is\n * the HTML tooltip attribute, and the two are unrelated.\n */\n heading?: string;\n /** Optional next-step action */\n nextStep?: {\n label: string;\n onClick: () => void;\n };\n}\n\n// ================================\n// State\n// ================================\n\ninterface NotificationState {\n notifications: Notification[];\n}\n\nconst initialState: NotificationState = {\n notifications: [],\n};\n\n// ================================\n// Action Types\n// ================================\n\ntype NotificationAction =\n | { type: 'ADD_NOTIFICATION'; notification: Notification }\n | { type: 'REMOVE_NOTIFICATION'; id: string }\n | { type: 'CLEAR_ALL' };\n\n// ================================\n// Reducer\n// ================================\n\nfunction notificationReducer(state: NotificationState, action: NotificationAction): NotificationState {\n switch (action.type) {\n case 'ADD_NOTIFICATION':\n /*\n * Cap at the 100 most recent, and the cap is a DECISION rather than a limitation to be lifted\n * later (#412).\n *\n * This store is a SESSION BUFFER. It is a `useReducer` with no hydration from anywhere, so it\n * starts empty on every page load and nothing that arrived while the tab was closed is\n * recoverable — by design, because persisting it would create a new per-user personal-data\n * store carrying retention, privacy-classification, subject-export and erasure obligations for\n * message content, which was weighed and declined.\n *\n * So the next reader should not treat 100 as the bug. The bug was the SURFACE above it, which\n * presented read state and day-grouping over a store that resets each load: marking something\n * read meant nothing, and \"unread\" was a function of when the tab opened. That surface is gone;\n * the buffer is what it always was and now says so.\n */\n return {\n ...state,\n notifications: [action.notification, ...state.notifications].slice(0, 100),\n };\n \n case 'REMOVE_NOTIFICATION':\n return {\n ...state,\n notifications: state.notifications.filter(n => n.id !== action.id),\n };\n \n case 'CLEAR_ALL':\n return {\n ...state,\n notifications: [],\n };\n \n default:\n return state;\n }\n}\n\n// ================================\n// Context Type\n// ================================\n\nexport interface NotificationContextType {\n /**\n * What has arrived SINCE THIS PAGE LOADED, most recent first, capped at 100.\n *\n * Not a history. There is no read state and no persistence: see the reducer's `ADD_NOTIFICATION`\n * case for why, and #412 for the surface that used to claim otherwise.\n */\n notifications: Notification[];\n \n // Notification Center Management\n removeNotification: (id: string) => void;\n clearAll: () => void;\n \n // Convenience Notification Methods (policy-driven)\n notifySuccess: (identifierOrMessage?: string, options?: NotifyOptions) => void;\n notifyError: (identifierOrMessage?: string, options?: NotifyOptions) => void;\n notifyWarning: (identifierOrMessage?: string, options?: NotifyOptions) => void;\n notifyInfo: (identifierOrMessage?: string, options?: NotifyOptions) => void;\n \n // Direct Toast Access (for edge cases - bypasses notification center)\n showToast: (type: NotificationType, message: string, duration?: number) => void;\n\n /**\n * Show or UPDATE a persistent toast pinned by a stable `id` (no auto-dismiss).\n * Re-calling with the same `id` updates the existing toast in place rather than\n * stacking a new one — the single source-of-truth mechanism for a standing\n * status indicator (e.g. connectivity) that must not spam. `type: 'loading'`\n * renders a spinner. Remove it with {@link dismissPersistentToast}.\n */\n showPersistentToast: (id: string, type: NotificationType | 'loading', message: string) => void;\n /** Dismiss a persistent toast previously shown via {@link showPersistentToast}. */\n dismissPersistentToast: (id: string) => void;\n \n // Celebration (Phase 1a)\n celebration: CelebrationState;\n dismissCelebration: () => void;\n \n // Preferences (synced from UserOrgsContext via events)\n notificationsPreferences: UserPreferences['notifications'] | null;\n getNotificationsPreferences: () => UserPreferences['notifications'] | null;\n}\n\n/**\n * Did an i18n lookup actually RESOLVE, or answer with its own key path?\n *\n * Every `t*` in this file returns the full key when the label is not authored — that is the\n * missing-looks-missing contract — so \"resolved\" is decided by comparing the answer against the\n * key's namespace. That decision was written out FOUR times against two different prefixes, which\n * is how the two halves of one rule come to disagree: a fifth caller, or a namespace rename, only\n * has to miss one copy.\n *\n * Named here so the next reader inherits it rather than re-deriving it, and so the comparison is\n * stated once. It is deliberately a namespace test and not `answer === key`: the callers pass an\n * identifier, while the unresolved answer is the full dotted path built from it.\n *\n * The EMPTY answer is unresolved too. A label-family resolver answers `''` while its bundle is still\n * in flight (#1450), and this provider never requests `resources.<type>` itself — so a websocket\n * notification about an off-screen resource can ask for an operation title nobody has loaded. Read\n * as \"resolved\", that `''` became the toast's whole message, in place of the authored default.\n */\nfunction resolvedLabelOrNull(answer: string, keyNamespace: string): string | null {\n return answer === '' || answer.startsWith(`${keyNamespace}.`) ? null : answer;\n}\n\n/**\n * The milestone label a notification about a milestone should show, or `null` when the\n * notification is NOT about a milestone.\n *\n * The subject is read from `data.milestoneRef`, which both milestone emitters in `GuidanceContext`\n * set. An UNAUTHORED label is returned as its raw key, not as `null`: `null` would fall through to\n * the generic \"Action completed successfully.\", which is invented text standing in for a missing\n * label — the gap would look finished and nobody would author it\n * (`.claude/rules/display-text-comes-from-i18n.md`). The labelling planner generates these keys for\n * every declared milestone, so a raw key here means generation has not run.\n *\n * Exported for its unit pin.\n */\nexport function resolveMilestoneLabel(data: unknown, lookup: (milestoneRef: string) => string): string | null {\n const milestoneRef = (data as { milestoneRef?: unknown } | undefined)?.milestoneRef;\n if (typeof milestoneRef !== 'string' || milestoneRef.length === 0) return null;\n return lookup(milestoneRef);\n}\n\nexport const NotificationContext: React.Context<NotificationContextType | undefined> = createContext<NotificationContextType | undefined>(undefined);\n\n// ================================\n// Provider\n// ================================\n\ninterface NotificationProviderProps {\n children: React.ReactNode;\n}\n\nfunction generateNotificationId(): string {\n return `notification-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;\n}\n\nconst CELEBRATION_AUTO_DISMISS_MS = 5000;\n/**\n * A CEILING for a celebration that asks for a decision, not a policy for it.\n *\n * That branch deliberately has no auto-dismiss — it is modal, it takes focus, and vanishing\n * mid-read after five seconds is the defect the conditional timer below exists to fix. But its only\n * remaining exits are user interactions, and every one of them is LAYER-CONDITIONAL: Radix delivers\n * Escape to the topmost layer, refuses an outside press while a higher layer disables outside\n * pointer events, and sets the buried layer's own `pointer-events: none` so its dismiss button\n * cannot be clicked. Radix's layer set is a module-level global, so this composes across\n * independently-portaled dialogs.\n *\n * So a celebration with a next step, buried under a dialog that mounts above it, was visible and\n * unreachable — and nothing else clears it, including a route change. Two minutes is long enough\n * that nobody loses a decision they were actually making, and short enough that a buried overlay\n * does not outlive the session.\n */\nconst CELEBRATION_DECISION_MAX_LIFETIME_MS = 120_000;\n\nexport function NotificationProvider({ children }: NotificationProviderProps): React.ReactElement {\n const [state, dispatch] = useReducer(notificationReducer, initialState);\n const { on, emit } = useEventBus();\n \n // Celebration state (Phase 1a)\n const [celebration, setCelebration] = useState<CelebrationState>({ isActive: false });\n const celebrationTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n \n // i18n hooks\n const { tNotificationCustom, tResourceOperation, tComponent, tErrorMessage, tErrorGuidance, tMilestone, tMilestoneReward, t, isReady } = useI18n({\n component: FrontendComponentType.APPLICATION_LEVEL_NOTIFICATION_CENTER,\n // `milestones` because a milestone notification speaks with the milestone's OWN words — see\n // `resolveMilestoneMessage`. Without it that root is never loaded here and every lookup misses.\n keys: ['notifications_custom', LabellingTypes.MILESTONES],\n });\n \n // Preferences state (synced from UserOrgsContext via events)\n const [notificationsPreferences, setNotificationsPreferences] = useState<UserPreferences['notifications'] | null>(null);\n \n // Refs for stable callbacks\n const tNotificationCustomRef = useRef(tNotificationCustom);\n const tResourceOperationRef = useRef(tResourceOperation);\n const tComponentRef = useRef(tComponent);\n const tErrorMessageRef = useRef(tErrorMessage);\n const tErrorGuidanceRef = useRef(tErrorGuidance);\n const tMilestoneRef = useRef(tMilestone);\n const tMilestoneRewardRef = useRef(tMilestoneReward);\n const tRef = useRef(t);\n\n /**\n * A notification raised BEFORE the i18n bundle settles must wait for it, not render its key.\n *\n * `isReady` was destructured here and used nowhere — one line, no reader. Every message this\n * provider shows ends at a `t*` call, and an unresolved label now renders the raw KEY, because\n * the humanized fallbacks were removed (#420). That is the right contract for a label nobody\n * authored; it is the wrong one for a label that simply has not LOADED yet, and\n * `display-text-comes-from-i18n.md` names readiness as the thing that covers exactly that\n * window. A toast is one-shot — there is no re-resolution when the bundle lands — so a\n * connectivity error raised during boot was displayed as\n * `components.APPLICATION_LEVEL_NOTIFICATION_CENTER.defaultError`, permanently.\n *\n * Deferring rather than dropping: the notification is still delivered, one bundle later. The\n * queue also covers `setLanguage`, which clears the loaded keys mid-session and flips `isReady`\n * back to false — a notification raised in that window would otherwise show keys too.\n */\n const isReadyRef = useRef(isReady);\n const pendingUntilI18nReadyRef = useRef<Array<() => void>>([]);\n\n useEffect(() => {\n tNotificationCustomRef.current = tNotificationCustom;\n tResourceOperationRef.current = tResourceOperation;\n tComponentRef.current = tComponent;\n tErrorMessageRef.current = tErrorMessage;\n tErrorGuidanceRef.current = tErrorGuidance;\n tMilestoneRef.current = tMilestone;\n tMilestoneRewardRef.current = tMilestoneReward;\n tRef.current = t;\n }, [tNotificationCustom, tResourceOperation, tComponent, tErrorMessage, tErrorGuidance, tMilestone, tMilestoneReward, t]);\n \n // ================================\n // Toast Display\n // ================================\n \n /**\n * Show ephemeral toast notification using sonner\n */\n const showToast = useCallback((\n type: NotificationType,\n message: string,\n duration?: number\n ): void => {\n const toastOptions = duration ? { duration } : undefined;\n \n switch (type) {\n case 'success':\n toast.success(message, toastOptions);\n break;\n case 'error':\n toast.error(message, toastOptions);\n break;\n case 'warning':\n toast.warning(message, toastOptions);\n break;\n case 'info':\n default:\n toast.info(message, toastOptions);\n break;\n }\n \n logDebug('Toast displayed', { type, message, duration });\n }, []);\n\n /**\n * Show/update a persistent (no auto-dismiss) toast keyed by a stable id. Sonner\n * de-duplicates by `id`, so repeated calls REPLACE the existing toast in place\n * instead of stacking — this is what lets a standing status indicator update its\n * message (e.g. \"reconnecting…\" → \"connection lost\") without ever showing two.\n */\n const showPersistentToast = useCallback((\n id: string,\n type: NotificationType | 'loading',\n message: string,\n ): void => {\n const options = { id, duration: Infinity } as const;\n switch (type) {\n case 'loading':\n toast.loading(message, options);\n break;\n case 'success':\n toast.success(message, options);\n break;\n case 'error':\n toast.error(message, options);\n break;\n case 'warning':\n toast.warning(message, options);\n break;\n case 'info':\n default:\n toast.info(message, options);\n break;\n }\n logDebug('Persistent toast shown', { id, type });\n }, []);\n\n const dismissPersistentToast = useCallback((id: string): void => {\n toast.dismiss(id);\n logDebug('Persistent toast dismissed', { id });\n }, []);\n\n // ================================\n // Celebration Management (Phase 1a)\n // ================================\n \n const dismissCelebration = useCallback((): void => {\n if (celebrationTimerRef.current) {\n clearTimeout(celebrationTimerRef.current);\n celebrationTimerRef.current = null;\n }\n setCelebration({ isActive: false });\n logDebug('Celebration dismissed');\n }, []);\n \n /**\n * Show a celebration overlay with auto-dismiss.\n * Called from processNotification when frontendDisplayHints.celebration is present.\n */\n const showCelebration = useCallback((\n celebrationHints: NonNullable<FrontendDisplayHints['celebration']>,\n options: {\n message: string;\n heading?: string;\n notificationIdentifier?: string;\n nextStep?: { label: string; onClick: () => void };\n }\n ): void => {\n // Clear any existing celebration timer\n if (celebrationTimerRef.current) {\n clearTimeout(celebrationTimerRef.current);\n }\n \n setCelebration({\n isActive: true,\n mode: celebrationHints,\n notificationIdentifier: options.notificationIdentifier,\n message: options.message,\n heading: options.heading,\n nextStep: options.nextStep,\n });\n \n /**\n * Auto-dismiss ONLY when the celebration asks for nothing.\n *\n * The timer used to fire unconditionally, and `nextStep` is exactly the case it must not: the\n * overlay is modal for that branch — it takes focus and locks the page's scroll deliberately,\n * because the user is being asked to answer — and then vanished after five seconds, mid-read,\n * having stolen the focus of whatever they were doing. The two halves justified each other in\n * opposite directions: the modality's reason is \"you are expected to interact with this\", and\n * the timer's is \"nobody is expected to interact with this\".\n *\n * A celebration with an action closes on that action, on its dismiss control, on Escape or on\n * an outside click — all of which the overlay already wires.\n */\n celebrationTimerRef.current = setTimeout(() => {\n setCelebration({ isActive: false });\n celebrationTimerRef.current = null;\n logDebug(options.nextStep ? 'Celebration reached its maximum lifetime' : 'Celebration auto-dismissed');\n }, options.nextStep ? CELEBRATION_DECISION_MAX_LIFETIME_MS : CELEBRATION_AUTO_DISMISS_MS);\n \n logDebug('Celebration shown', {\n mode: celebrationHints.mode,\n identifier: options.notificationIdentifier,\n hasNextStep: !!options.nextStep,\n });\n }, []);\n \n // Cleanup celebration timer on unmount\n useEffect(() => {\n return () => {\n if (celebrationTimerRef.current) {\n clearTimeout(celebrationTimerRef.current);\n }\n };\n }, []);\n \n // ================================\n // Message Resolution\n // ================================\n \n /**\n * Resolve a notification's message using i18n — the LADDER, without the bulk count.\n *\n * Resolution order:\n * 1. Explicit message in options (edge case)\n * 2. i18n lookup by identifier\n * 3. Error-ref label (errors) / resource operation title (info + warning only —\n * success and error both skip the imperative operation title, see 3a/3b)\n * 4. Default fallback message\n *\n * A bulk action's row COUNT is not a rung here: it quantifies whatever this answers, and\n * {@link resolveMessage} applies it.\n */\n const resolveBaseMessage = useCallback((\n type: NotificationType,\n source: NotificationSource,\n options: {\n message?: string;\n identifier?: string;\n resourceContext?: FrontendResourceOperationContext;\n i18nParams?: Record<string, string | number>;\n /** Notification payload data — carries the backend error ref for error toasts. */\n data?: Record<string, unknown>;\n }\n ): string => {\n // 1. Explicit message override\n if (options.message) {\n return options.message;\n }\n\n /*\n * 1b. A notification that carries a backend ERROR is about that error, and speaks with its words.\n *\n * The generic error path (`ErrorContext.executeFrontendActions`) wraps every displayed error in a\n * custom notification whose identifier is a TRANSPORT placeholder\n * (`FrontendNotificationCustomMessageRefs.A_TEMP_REF`), not a message. Once the labelling\n * pipeline generated words for that placeholder (\"Next step\"), step 2 below answered every such\n * toast with them: an administrator refused with `organization_unit_directory_managed` read\n * \"Next step\" instead of being told the directory owns the unit (#1447).\n *\n * The same path also emits a medium-severity error (a 409 CONFLICT) as a WARNING, and the error\n * branch below was error-only — so a conflict's words were unreachable even without the\n * placeholder. Both types are covered here.\n *\n * Order inside: the DECLARED refusal first (#1048), then the error reference's label. When neither\n * resolves, the identifier is still skipped for an error-carrying notification — its words\n * describe no error — and the default for the type answers (step 4).\n */\n const payload = options.data as Record<string, unknown> | undefined;\n const carriedErrorRef = (payload?.errorCustomMessageReference ?? payload?.customMessageReference) as string | undefined;\n const carriedGuidanceKey = typeof payload?.errorGuidanceKey === 'string' ? payload.errorGuidanceKey : undefined;\n const carriesError = (type === 'error' || type === 'warning')\n && (typeof carriedErrorRef === 'string' || typeof payload?.errorRefusalCode === 'string' || carriedGuidanceKey !== undefined);\n if (carriesError) {\n /*\n * The server's GUIDANCE first: it is the most specific thing a refusal says, and it is a label\n * (`errors_guidance.<key>.explanation`, interpolated with the params it carried). Without it a form\n * showed \"refused as invalid\" while the server had said exactly why.\n *\n * Only the EXPLANATION: a toast is one sentence, and `resolution` (what to do next) belongs on a\n * surface with room for it. Nor the guidance's raw prose, which the payload never carries. That is\n * narrower than `resolveUserFacingErrorMessage`, which also falls back to both.\n */\n if (carriedGuidanceKey) {\n const params = payload?.errorGuidanceParams && typeof payload.errorGuidanceParams === 'object'\n ? payload.errorGuidanceParams as Record<string, string | number>\n : undefined;\n const guidance = tErrorGuidanceRef.current(carriedGuidanceKey, 'explanation', params);\n if (guidance) return guidance;\n }\n const refusal = resolveRefusalCodeLabel(\n { tErrorMessage: tErrorMessageRef.current, t: tRef.current },\n typeof payload?.errorRefusalCode === 'string' ? payload.errorRefusalCode : undefined,\n );\n if (refusal) return refusal;\n const resolvedError = resolveErrorReferenceLabel(tErrorMessageRef.current, carriedErrorRef);\n if (resolvedError) return resolvedError;\n }\n\n // 2. i18n lookup by identifier\n if (options.identifier && !carriesError) {\n const translated = tNotificationCustomRef.current(options.identifier, 'msg', options.i18nParams);\n const resolved = resolvedLabelOrNull(translated, 'notifications_custom');\n if (resolved !== null) return resolved;\n }\n\n // 2b. A notification ABOUT A MILESTONE speaks with the milestone's own reward message.\n //\n // Both milestone notifications — the celebration (`milestone.<ref>`) and the feature-unlock\n // toast (`milestone.feature_unlock.<ref>`) — carry `data.milestoneRef`, and neither\n // identifier has a `notifications_custom` label: nothing plans that namespace. So step 2\n // always missed and every milestone rendered `defaultSuccess` — a celebration reading\n // \"Action completed successfully.\" with no milestone in it (#1406).\n //\n // The words already exist: the labelling planner generates `milestones.<ref>.reward.*` for\n // every declared milestone. Minting a parallel `notifications_custom.milestone.*` for the\n // same text was rejected — two sources for one string drift apart. Step 2 still runs FIRST,\n // so an application that authors a notification-specific message keeps it.\n const milestoneMessage = resolveMilestoneLabel(options.data, (ref) => tMilestoneRewardRef.current(ref, 'message'));\n if (milestoneMessage !== null) return milestoneMessage;\n \n // 3a. Resource ERRORS are resolved in 1b, for both error and warning toasts. An error never falls\n // back to the operation title: a red toast reading \"Create key\" looks like a success label.\n // 3b. Resource operation title — info / warning only. SUCCESS deliberately\n // skips the operation title for the same reason the error branch above\n // does: the `title` label tier is the operation's imperative BUTTON\n // label (\"Update to-do\", \"Create key\"), and a green toast that repeats\n // the command reads as a pending action, not an outcome. Operations\n // have no dedicated success-message label tier (the RESOURCES\n // labelling policy declares only `operations: ['title']`), so success\n // falls through to the OUTCOME-phrased default-success tier below\n // (localized `defaultSuccess` component label → hardcoded fallback).\n // A notification that wants an operation-specific success message\n // already has a channel: an explicit `message` (step 1) or a custom\n // notification identifier (step 2).\n if (type !== 'success' && type !== 'error' && !carriesError && source === 'resource' && options.resourceContext) {\n const { resourceType, operationIdentifier } = options.resourceContext;\n if (resourceType && operationIdentifier) {\n const opTitle = tResourceOperationRef.current(resourceType, String(operationIdentifier), 'title');\n const resolved = resolvedLabelOrNull(opTitle, 'resources');\n if (resolved !== null) return resolved;\n }\n }\n \n // 4. Default — the notification center's authored label. A missing label renders as its key, so the\n // gap stays visible and gets authored; there is deliberately no hard-coded English behind it\n // (`.claude/rules/display-text-comes-from-i18n.md`).\n const DEFAULT_MESSAGE_LABEL_KEYS: Record<NotificationType, string> = {\n success: 'defaultSuccess',\n info: 'defaultInfo',\n warning: 'defaultWarning',\n error: 'defaultError',\n };\n return tComponentRef.current(FrontendComponentType.APPLICATION_LEVEL_NOTIFICATION_CENTER, DEFAULT_MESSAGE_LABEL_KEYS[type]);\n }, []);\n\n /**\n * A BULK success states HOW MANY rows it changed, and the count QUANTIFIES the message rather\n * than replacing it.\n *\n * The count used to be a rung of the ladder above, below the explicit message and the custom\n * notification identifier — so it was reachable only for an operation that had nothing else to\n * say, which is the opposite of the population that needs it. Measured live in Wonder Todos\n * (#1468): a two-row bulk status change rendered its authored \"To-do status changed\" and no\n * count, because `todos_change_status_user_self` answered at step 2. Moving the count ABOVE the\n * ladder was rejected for the mirror reason — a batch would then drop the operation's own words\n * in favour of a generic sentence, and the words say what happened while the count only says how\n * much.\n *\n * A base message that IS the generic default keeps the count-only wording (\"Action completed for\n * 3 items.\"), which reads better than the composition would. The comparison is against the same\n * label call the default branch makes, so it is exact by construction; an application whose\n * authored message happens to equal the default gets the count-only form, which says the same\n * thing.\n */\n const resolveMessage = useCallback((\n type: NotificationType,\n source: NotificationSource,\n options: {\n message?: string;\n identifier?: string;\n resourceContext?: FrontendResourceOperationContext;\n i18nParams?: Record<string, string | number>;\n data?: Record<string, unknown>;\n }\n ): string => {\n const base = resolveBaseMessage(type, source, options);\n const affectedCount = (options.data as Record<string, unknown> | undefined)?.affectedCount;\n if (type !== 'success' || source !== 'resource' || typeof affectedCount !== 'number' || affectedCount <= 1) {\n return base;\n }\n const genericSuccess = tComponentRef.current(FrontendComponentType.APPLICATION_LEVEL_NOTIFICATION_CENTER, 'defaultSuccess');\n return base === genericSuccess\n ? tComponentRef.current(FrontendComponentType.APPLICATION_LEVEL_NOTIFICATION_CENTER, 'bulkSucceeded', { count: affectedCount })\n : tComponentRef.current(FrontendComponentType.APPLICATION_LEVEL_NOTIFICATION_CENTER, 'bulkSucceededWithMessage', { message: base, count: affectedCount });\n }, [resolveBaseMessage]);\n \n // ================================\n // Core Notification Handler\n // ================================\n \n /**\n * Process a notification with policy-driven behavior\n * \n * This is the central handler for all notifications.\n * It applies the display policy and handles both toast and center.\n */\n const processNotification = useCallback((\n type: NotificationType,\n source: NotificationSource,\n options: {\n message?: string;\n identifier?: string;\n resourceContext?: FrontendResourceOperationContext;\n data?: Record<string, unknown>;\n i18nParams?: Record<string, string | number>;\n overridePolicy?: Partial<NotificationDisplayBehavior>;\n frontendDisplayHints?: FrontendDisplayHints;\n serverNotification?: FrontendEventResourceOperation['serverNotification'];\n }\n ): void => {\n /*\n * Hold it until the labels exist. Re-entered through the same function on flush, and\n * `isReadyRef` is true by then, so this branch cannot loop.\n */\n if (!isReadyRef.current) {\n pendingUntilI18nReadyRef.current.push(() => processNotificationRef.current(type, source, options));\n return;\n }\n // Resource events include both local feedback and server messages. Only the latter carry\n // delivery policy. Reuse the dispatcher's canonical personal-target rule; required notices\n // and responsibility/fanout messages remain visible. This gate never drops refresh events.\n const suppressibleServerMessage = options.serverNotification !== undefined\n && !options.serverNotification.alwaysDeliver\n && userNotificationTargetIsSuppressibleByRecipientPreference(options.serverNotification.target);\n if (notificationsPreferences?.inApp === false && (source === 'backend' || suppressibleServerMessage)) {\n logDebug('Suppressing personal server notification: recipient switched in-app notifications off', {\n type,\n identifier: options.identifier,\n });\n return;\n }\n\n // Get display behavior from policy\n const displayBehavior = getNotificationDisplayBehavior(type, source, options.overridePolicy);\n \n // Resolve message\n const message = resolveMessage(type, source, options);\n \n // Resolve next-step action (if provided by display hints)\n let resolvedNextStep: { label: string; onClick: () => void } | undefined;\n const nextStepHint = options.frontendDisplayHints?.nextStep;\n if (nextStepHint) {\n // Resolve label from i18n: notifications_custom.{identifier}.nextStepLabel\n let nextStepLabel = '';\n if (options.identifier) {\n const translated = tNotificationCustomRef.current(options.identifier, 'nextStepLabel');\n nextStepLabel = resolvedLabelOrNull(translated, 'notifications_custom') ?? '';\n }\n // Fallback: try to resolve as resource operation title (format: \"RESOURCE.OPERATION\")\n if (!nextStepLabel && nextStepHint.operationRef) {\n const parts = nextStepHint.operationRef.split('.');\n if (parts.length >= 2) {\n const [resourceType, operationId] = parts;\n const opTitle = tResourceOperationRef.current(resourceType, operationId, 'title');\n nextStepLabel = resolvedLabelOrNull(opTitle, 'resources') ?? '';\n }\n }\n if (!nextStepLabel) {\n nextStepLabel = nextStepHint.operationRef; // Last resort: raw operation ref\n }\n \n resolvedNextStep = {\n label: nextStepLabel,\n onClick: () => {\n if (nextStepHint.type === 'url') {\n window.open(nextStepHint.operationRef, '_blank', 'noopener,noreferrer');\n } else {\n // type === 'operation' — emit NAVIGATION_REQUEST with unresolved operationRef.\n // NavigationProvider is alive at click time (user is on a normal page).\n // We use operationRef (not content) because NotificationProvider sits above\n // ResourceRegistryProvider and cannot build a full NavigationContent payload.\n // The navigation controller resolves the ref using the registry.\n const flatIdentifiers = options.resourceContext\n ? FrontendResourceUtils.flattenContextIdentifiers(options.resourceContext.contextResourceIdentifiers)\n : undefined;\n emit(FrontendEvents.NAVIGATION_REQUEST, {\n operationRef: nextStepHint.operationRef,\n operationRefContextIdentifiers: flatIdentifiers,\n initiator: {\n sourceZone: APP_LEVEL_NAVIGATION_SOURCE,\n },\n });\n }\n },\n };\n }\n \n logDebug('Processing notification', {\n type,\n source,\n message,\n displayBehavior,\n hasCelebration: !!options.frontendDisplayHints?.celebration,\n hasNextStep: !!nextStepHint,\n });\n \n // Branch: Celebration mode\n const celebrationHint = options.frontendDisplayHints?.celebration;\n if (celebrationHint) {\n // Show celebration overlay instead of standard toast\n showCelebration(celebrationHint, {\n message,\n heading: resolveMilestoneLabel(options.data, (ref) => tMilestoneRef.current(ref, 'title')) ?? undefined,\n notificationIdentifier: options.identifier,\n nextStep: resolvedNextStep,\n });\n \n // Always add celebrations to notification center (they're significant events)\n const notification: Notification = {\n id: generateNotificationId(),\n type,\n source,\n message,\n timestamp: Date.now(),\n identifier: options.identifier,\n resourceContext: options.resourceContext,\n data: options.data,\n wasCelebration: true,\n nextStep: resolvedNextStep,\n };\n dispatch({ type: 'ADD_NOTIFICATION', notification });\n return;\n }\n \n // Branch: Standard display (with optional nextStep action in toast)\n if (displayBehavior.showToast) {\n if (resolvedNextStep) {\n // Enhanced toast with action button (Sonner supports `action`)\n toast.success(message, {\n duration: displayBehavior.toastDuration,\n action: {\n label: resolvedNextStep.label,\n onClick: resolvedNextStep.onClick,\n },\n });\n } else {\n showToast(type, message, displayBehavior.toastDuration);\n }\n }\n \n // Add to notification center if policy says so\n if (displayBehavior.addToCenter) {\n const notification: Notification = {\n id: generateNotificationId(),\n type,\n source,\n message,\n timestamp: Date.now(),\n identifier: options.identifier,\n resourceContext: options.resourceContext,\n data: options.data,\n nextStep: resolvedNextStep,\n };\n dispatch({ type: 'ADD_NOTIFICATION', notification });\n }\n }, [resolveMessage, showToast, showCelebration, notificationsPreferences]);\n\n /*\n * A stable handle, so a queued notification is replayed through the CURRENT implementation\n * rather than the one captured when it was queued — by the time it flushes, `resolveMessage`\n * has been rebuilt against the loaded bundle, which is the whole point of waiting.\n */\n const processNotificationRef = useRef(processNotification);\n useEffect(() => { processNotificationRef.current = processNotification; }, [processNotification]);\n\n useEffect(() => {\n isReadyRef.current = isReady;\n if (!isReady) return;\n /*\n * Drain by SWAPPING the queue first: each replay re-enters `processNotification`, and draining\n * in place while that happens would skip entries or loop. `isReadyRef` is true here, so a\n * replayed entry takes the normal path instead of re-queueing itself.\n */\n const pending = pendingUntilI18nReadyRef.current;\n if (pending.length === 0) return;\n pendingUntilI18nReadyRef.current = [];\n for (const replay of pending) replay();\n }, [isReady]);\n \n // ================================\n // Event Handlers\n // ================================\n \n // Handle resource notification events\n useEffect(() => {\n const handleResourceNotification = (\n type: NotificationType,\n payload: FrontendEventPayloads[FrontendEvents.NOTIFY_RESOURCE_SUCCESS]\n ) => {\n const resourceContext = payload as FrontendResourceOperationContext;\n const additionalContext = (resourceContext as any).additionalContext || {};\n \n processNotification(type, 'resource', {\n resourceContext,\n serverNotification: payload.serverNotification,\n identifier: additionalContext.notificationIdentifier,\n data: additionalContext,\n frontendDisplayHints: additionalContext.frontendDisplayHints as FrontendDisplayHints | undefined,\n });\n };\n \n const offInfo = on(\n FrontendEvents.NOTIFY_RESOURCE_INFO,\n (payload: FrontendEventPayloads[FrontendEvents.NOTIFY_RESOURCE_INFO]) => handleResourceNotification('info', payload)\n );\n\n const offSuccess = on(\n FrontendEvents.NOTIFY_RESOURCE_SUCCESS,\n (payload: FrontendEventPayloads[FrontendEvents.NOTIFY_RESOURCE_SUCCESS]) => handleResourceNotification('success', payload)\n );\n\n const offWarning = on(\n FrontendEvents.NOTIFY_RESOURCE_WARNING,\n (payload: FrontendEventPayloads[FrontendEvents.NOTIFY_RESOURCE_WARNING]) => handleResourceNotification('warning', payload)\n );\n\n const offError = on(\n FrontendEvents.NOTIFY_RESOURCE_ERROR,\n (payload: FrontendEventPayloads[FrontendEvents.NOTIFY_RESOURCE_ERROR]) => handleResourceNotification('error', payload)\n );\n\n return () => {\n offInfo();\n offSuccess();\n offWarning();\n offError();\n };\n }, [on, processNotification]);\n\n // Handle custom notification events (including backend-initiated notifications via WebSocket)\n useEffect(() => {\n const handleCustomNotification = (\n type: NotificationType,\n payload: FrontendEventPayloads[FrontendEvents.NOTIFY_CUSTOM_SUCCESS]\n ) => {\n const data = payload.data as Record<string, unknown> | undefined;\n \n // Check if this is a backend-initiated notification (via USER_NOTIFICATION WebSocket event)\n const isBackendNotification = data?._backendNotification === true;\n const source: NotificationSource = isBackendNotification ? 'backend' : 'custom';\n \n // For backend notifications, extract display target override if provided\n let overridePolicy: Partial<NotificationDisplayBehavior> | undefined;\n if (isBackendNotification && data?.displayTarget) {\n const displayTarget = data.displayTarget as 'toast' | 'center' | 'both';\n if (displayTarget === 'toast') {\n overridePolicy = { showToast: true, addToCenter: false };\n } else if (displayTarget === 'center') {\n overridePolicy = { showToast: false, addToCenter: true };\n }\n // 'both' uses the default policy\n }\n \n // For backend notifications, use message from data if provided\n const message = isBackendNotification ? (data?.message as string | undefined) : undefined;\n \n // C3: Extract frontendDisplayHints from data (for celebration overlays from GuidanceContext)\n const frontendDisplayHints = data?.frontendDisplayHints as FrontendDisplayHints | undefined;\n\n processNotification(type, source, {\n identifier: payload.identifier,\n message,\n data,\n overridePolicy,\n frontendDisplayHints,\n });\n };\n \n const offInfo = on(\n FrontendEvents.NOTIFY_CUSTOM_INFO,\n (payload: FrontendEventPayloads[FrontendEvents.NOTIFY_CUSTOM_INFO]) => handleCustomNotification('info', payload)\n );\n\n const offSuccess = on(\n FrontendEvents.NOTIFY_CUSTOM_SUCCESS,\n (payload: FrontendEventPayloads[FrontendEvents.NOTIFY_CUSTOM_SUCCESS]) => handleCustomNotification('success', payload)\n );\n\n const offWarning = on(\n FrontendEvents.NOTIFY_CUSTOM_WARNING,\n (payload: FrontendEventPayloads[FrontendEvents.NOTIFY_CUSTOM_WARNING]) => handleCustomNotification('warning', payload)\n );\n\n const offError = on(\n FrontendEvents.NOTIFY_CUSTOM_ERROR,\n (payload: FrontendEventPayloads[FrontendEvents.NOTIFY_CUSTOM_ERROR]) => handleCustomNotification('error', payload)\n );\n\n return () => {\n offInfo();\n offSuccess();\n offWarning();\n offError();\n };\n }, [on, processNotification]);\n\n // Listen to preference changes from UserOrgsContext\n useEffect(() => {\n const unsubscribe = on(FrontendEvents.USER_PREFERENCES_CHANGED, (payload: FrontendEventPayloads[FrontendEvents.USER_PREFERENCES_CHANGED]) => {\n if (payload.notificationsPreferences) {\n setNotificationsPreferences(payload.notificationsPreferences);\n logDebug('Notification preferences updated from UserOrgsContext event', {\n email: payload.notificationsPreferences.email,\n inApp: payload.notificationsPreferences.inApp,\n });\n }\n });\n\n return unsubscribe;\n }, [on]);\n\n // Preference getter\n const getNotificationsPreferences = useCallback((): UserPreferences['notifications'] | null => {\n return notificationsPreferences;\n }, [notificationsPreferences]);\n\n // ================================\n // Convenience Methods\n // ================================\n \n /**\n * Show a success notification\n * \n * @param message - Direct message to display (use options.identifier for i18n lookup instead)\n * @param options - Additional options including:\n * - identifier: i18n identifier for message lookup (overrides message param)\n * - data: Additional context data\n * - i18nParams: Interpolation parameters for i18n messages\n * - overridePolicy: Override display behavior for this notification\n * \n * @example\n * // Direct message\n * notifySuccess('Task created successfully');\n * \n * // Using i18n identifier\n * notifySuccess(undefined, { identifier: 'task.created' });\n */\n const notifySuccess = useCallback((\n message?: string,\n options: NotifyOptions = {}\n ): void => {\n processNotification('success', 'custom', {\n message: options.message ?? message,\n identifier: options.identifier,\n data: options.data,\n i18nParams: options.i18nParams,\n overridePolicy: options.overridePolicy,\n });\n }, [processNotification]);\n \n /**\n * Show an error notification\n * \n * @param message - Direct message to display\n * @param options - Additional options (see notifySuccess for details)\n */\n const notifyError = useCallback((\n message?: string,\n options: NotifyOptions = {}\n ): void => {\n processNotification('error', 'custom', {\n message: options.message ?? message,\n identifier: options.identifier,\n data: options.data,\n i18nParams: options.i18nParams,\n overridePolicy: options.overridePolicy,\n });\n }, [processNotification]);\n \n /**\n * Show a warning notification\n * \n * @param message - Direct message to display\n * @param options - Additional options (see notifySuccess for details)\n */\n const notifyWarning = useCallback((\n message?: string,\n options: NotifyOptions = {}\n ): void => {\n processNotification('warning', 'custom', {\n message: options.message ?? message,\n identifier: options.identifier,\n data: options.data,\n i18nParams: options.i18nParams,\n overridePolicy: options.overridePolicy,\n });\n }, [processNotification]);\n \n /**\n * Show an info notification\n * \n * @param message - Direct message to display\n * @param options - Additional options (see notifySuccess for details)\n */\n const notifyInfo = useCallback((\n message?: string,\n options: NotifyOptions = {}\n ): void => {\n processNotification('info', 'custom', {\n message: options.message ?? message,\n identifier: options.identifier,\n data: options.data,\n i18nParams: options.i18nParams,\n overridePolicy: options.overridePolicy,\n });\n }, [processNotification]);\n\n // ================================\n // Notification Center Management\n // ================================\n\n const removeNotification = useCallback((id: string): void => {\n dispatch({ type: 'REMOVE_NOTIFICATION', id });\n }, []);\n\n const clearAll = useCallback((): void => {\n dispatch({ type: 'CLEAR_ALL' });\n }, []);\n\n // ================================\n // Context Value\n // ================================\n\n const contextValue: NotificationContextType = useMemo(() => ({\n // State\n notifications: state.notifications,\n \n // Notification Center Management\n removeNotification,\n clearAll,\n \n // Convenience Methods\n notifySuccess,\n notifyError,\n notifyWarning,\n notifyInfo,\n \n // Direct Toast Access\n showToast,\n showPersistentToast,\n dismissPersistentToast,\n\n // Celebration (Phase 1a)\n celebration,\n dismissCelebration,\n\n // Preferences\n notificationsPreferences,\n getNotificationsPreferences,\n }), [\n state.notifications,\n removeNotification,\n clearAll,\n notifySuccess,\n notifyError,\n notifyWarning,\n notifyInfo,\n showToast,\n showPersistentToast,\n dismissPersistentToast,\n celebration,\n dismissCelebration,\n notificationsPreferences,\n getNotificationsPreferences,\n ]);\n\n return (\n <NotificationContext.Provider value={contextValue}>\n {children}\n </NotificationContext.Provider>\n );\n}\n\n// useNotification hook is now in separate file: ./useNotification.ts\n// This separation is required for React Fast Refresh compatibility\n"]}
1
+ {"version":3,"file":"NotificationContext.js","sourceRoot":"","sources":["../../../../../src/core/events/NotificationContext.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * NotificationContext\n * \n * Central notification hub for the frontend application.\n * Manages both ephemeral toast notifications and persistent notification center.\n * \n * Features:\n * - Subscribes to notification events from the EventBus\n * - Policy-driven display behavior (toast vs notification center)\n * - i18n message resolution\n * - Sonner toast integration\n * - Convenience methods for manual notifications\n * \n * This context is the single source of truth for all user notifications.\n */\n\nimport React, { createContext, useReducer, useEffect, useCallback, useMemo, useState, useRef } from 'react';\nimport { toast } from './toast';\nimport { useEventBus } from './useEventBus';\nimport { \n FrontendEvents,\n FrontendEventPayloads,\n FrontendEventResourceOperation,\n} from './events.frontend.schemas';\nimport { FrontendResourceOperationContext } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport {\n UserPreferences,\n FrontendDisplayHints,\n InAppNotificationDestinationSchema,\n type InAppNotificationDestination,\n UserNotificationPreferenceChannel,\n userNotificationPreferencesAllow,\n userNotificationTargetIsSuppressibleByRecipientPreference,\n} from '@wildo-ai/saas-models';\nimport { APP_LEVEL_NAVIGATION_SOURCE } from '~wildo-frontend-lib/core/navigation/navigation.schemas';\nimport { FrontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport { FrontendComponentType, LabellingTypes } from '@wildo-ai/presets-components-models';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport { resolveOperationRefusalLabel, resolveRefusalCodeLabel } from '~wildo-frontend-lib/core/errors/user-facing-error-message.frontend.utils';\nimport {\n NotificationType,\n NotificationSource,\n NotificationDisplayBehavior,\n NotifyOptions,\n getNotificationDisplayBehavior,\n} from './notification-display-policy.frontend.schemas';\n\n// Re-export types for backward compatibility\nexport type { NotificationType, NotificationSource };\n\nconst notifLogger: LoggerFrontendService = LoggerFrontendService.getLogger();\nconst logDebug: (message: string, context?: Record<string, unknown>) => void = notifLogger.debugByType('NotificationContext');\nnotifLogger.setDebugTypeLogging('NotificationContext', false);\n\n// ================================\n// Notification Types\n// ================================\n\nexport interface Notification {\n id: string;\n type: NotificationType;\n source: NotificationSource;\n timestamp: number;\n /** Resolved message for display */\n message: string;\n /** For resource notifications */\n resourceContext?: FrontendResourceOperationContext;\n /** For custom notifications - i18n identifier */\n identifier?: string;\n /** Additional data payload */\n data?: Record<string, unknown>;\n /** Whether this notification triggered a celebration overlay */\n wasCelebration?: boolean;\n /** Resolved next-step action for display in notification center */\n nextStep?: {\n label: string;\n onClick: () => void;\n };\n}\n\n// ================================\n// Celebration State (Phase 1a)\n// ================================\n\nexport interface CelebrationState {\n /** Whether a celebration is currently showing */\n isActive: boolean;\n /** The celebration display mode */\n mode?: FrontendDisplayHints['celebration'];\n /** Notification identifier for Lottie/message resolution */\n notificationIdentifier?: string;\n /** The resolved message for the celebration */\n message?: string;\n /**\n * The celebration's visible heading — for a milestone, the milestone's own title.\n * Absent when the celebrated event carries no subject with a title of its own.\n *\n * Named `heading`, not `title`: the overlay's props extend `HTMLAttributes`, where `title` is\n * the HTML tooltip attribute, and the two are unrelated.\n */\n heading?: string;\n /** Optional next-step action */\n nextStep?: {\n label: string;\n onClick: () => void;\n };\n}\n\n// ================================\n// State\n// ================================\n\ninterface NotificationState {\n notifications: Notification[];\n}\n\nconst initialState: NotificationState = {\n notifications: [],\n};\n\n// ================================\n// Action Types\n// ================================\n\ntype NotificationAction =\n | { type: 'ADD_NOTIFICATION'; notification: Notification }\n | { type: 'REMOVE_NOTIFICATION'; id: string }\n | { type: 'CLEAR_ALL' };\n\n// ================================\n// Reducer\n// ================================\n\nfunction notificationReducer(state: NotificationState, action: NotificationAction): NotificationState {\n switch (action.type) {\n case 'ADD_NOTIFICATION':\n /*\n * Cap at the 100 most recent, and the cap is a DECISION rather than a limitation to be lifted\n * later (#412).\n *\n * This store is a SESSION BUFFER. It is a `useReducer` with no hydration from anywhere, so it\n * starts empty on every page load and nothing that arrived while the tab was closed is\n * recoverable — by design, because persisting it would create a new per-user personal-data\n * store carrying retention, privacy-classification, subject-export and erasure obligations for\n * message content, which was weighed and declined.\n *\n * So the next reader should not treat 100 as the bug. The bug was the SURFACE above it, which\n * presented read state and day-grouping over a store that resets each load: marking something\n * read meant nothing, and \"unread\" was a function of when the tab opened. That surface is gone;\n * the buffer is what it always was and now says so.\n */\n return {\n ...state,\n notifications: [action.notification, ...state.notifications].slice(0, 100),\n };\n \n case 'REMOVE_NOTIFICATION':\n return {\n ...state,\n notifications: state.notifications.filter(n => n.id !== action.id),\n };\n \n case 'CLEAR_ALL':\n return {\n ...state,\n notifications: [],\n };\n \n default:\n return state;\n }\n}\n\n// ================================\n// Context Type\n// ================================\n\nexport interface NotificationContextType {\n /**\n * What has arrived SINCE THIS PAGE LOADED, most recent first, capped at 100.\n *\n * Not a history. There is no read state and no persistence: see the reducer's `ADD_NOTIFICATION`\n * case for why, and #412 for the surface that used to claim otherwise.\n */\n notifications: Notification[];\n \n // Notification Center Management\n removeNotification: (id: string) => void;\n clearAll: () => void;\n \n // Convenience Notification Methods (policy-driven)\n notifySuccess: (identifierOrMessage?: string, options?: NotifyOptions) => void;\n notifyError: (identifierOrMessage?: string, options?: NotifyOptions) => void;\n notifyWarning: (identifierOrMessage?: string, options?: NotifyOptions) => void;\n notifyInfo: (identifierOrMessage?: string, options?: NotifyOptions) => void;\n \n // Direct Toast Access (for edge cases - bypasses notification center)\n showToast: (type: NotificationType, message: string, duration?: number) => void;\n\n /**\n * Show or UPDATE a persistent toast pinned by a stable `id` (no auto-dismiss).\n * Re-calling with the same `id` updates the existing toast in place rather than\n * stacking a new one — the single source-of-truth mechanism for a standing\n * status indicator (e.g. connectivity) that must not spam. `type: 'loading'`\n * renders a spinner. Remove it with {@link dismissPersistentToast}.\n */\n showPersistentToast: (id: string, type: NotificationType | 'loading', message: string) => void;\n /** Dismiss a persistent toast previously shown via {@link showPersistentToast}. */\n dismissPersistentToast: (id: string) => void;\n \n // Celebration (Phase 1a)\n celebration: CelebrationState;\n dismissCelebration: () => void;\n \n // Preferences (synced from UserOrgsContext via events)\n notificationsPreferences: UserPreferences['notifications'] | null;\n getNotificationsPreferences: () => UserPreferences['notifications'] | null;\n}\n\n/**\n * Did an i18n lookup actually RESOLVE, or answer with its own key path?\n *\n * Every `t*` in this file returns the full key when the label is not authored — that is the\n * missing-looks-missing contract — so \"resolved\" is decided by comparing the answer against the\n * key's namespace. That decision was written out FOUR times against two different prefixes, which\n * is how the two halves of one rule come to disagree: a fifth caller, or a namespace rename, only\n * has to miss one copy.\n *\n * Named here so the next reader inherits it rather than re-deriving it, and so the comparison is\n * stated once. It is deliberately a namespace test and not `answer === key`: the callers pass an\n * identifier, while the unresolved answer is the full dotted path built from it.\n *\n * The EMPTY answer is unresolved too. A label-family resolver answers `''` while its bundle is still\n * in flight (#1450), and this provider never requests `resources.<type>` itself — so a websocket\n * notification about an off-screen resource can ask for an operation title nobody has loaded. Read\n * as \"resolved\", that `''` became the toast's whole message, in place of the authored default.\n */\nfunction resolvedLabelOrNull(answer: string, keyNamespace: string): string | null {\n return answer === '' || answer.startsWith(`${keyNamespace}.`) ? null : answer;\n}\n\n/**\n * The interpolation values a backend notice carries for its words (`data.i18nParams`), keeping only strings and\n * numbers. The backend words them already, in the recipient's language, because a notice can name something whose\n * labels this page has not loaded: an operation approval's ending names the operation by its title (#2813).\n * `undefined` when the notice carries none.\n */\nexport function backendNotificationI18nParams(data: Record<string, unknown> | undefined): Record<string, string | number> | undefined {\n const params = data?.i18nParams;\n if (!params || typeof params !== 'object' || Array.isArray(params)) return undefined;\n const kept = Object.entries(params as Record<string, unknown>)\n .filter((entry): entry is [string, string | number] => typeof entry[1] === 'string' || typeof entry[1] === 'number');\n return kept.length > 0 ? Object.fromEntries(kept) : undefined;\n}\n\n/**\n * Where a backend notice leads (`data.destination`, #2578), or `undefined` when it names nowhere. Read through the same\n * schema the websocket ingress validated it with, so a value that is not a path inside this frontend opens nothing.\n */\nexport function backendNotificationDestination(data: Record<string, unknown> | undefined): InAppNotificationDestination | undefined {\n const parsed = InAppNotificationDestinationSchema.safeParse(data?.destination);\n return parsed.success ? parsed.data : undefined;\n}\n\n/**\n * Show a toast at the notice's own level: the one mapping from {@link NotificationType} to a Sonner toast, used with and\n * without an action. Sonner offers `action` on every level, so a warning that leads somewhere stays a warning; it used\n * to be shown as a success whenever it carried an action (#2578).\n */\nfunction toastAtLevel(type: NotificationType, message: string, options?: { duration?: number; action?: { label: string; onClick: () => void } }): void {\n switch (type) {\n case 'success':\n toast.success(message, options);\n break;\n case 'error':\n toast.error(message, options);\n break;\n case 'warning':\n toast.warning(message, options);\n break;\n case 'info':\n default:\n toast.info(message, options);\n break;\n }\n}\n\n/**\n * The milestone label a notification about a milestone should show, or `null` when the\n * notification is NOT about a milestone.\n *\n * The subject is read from `data.milestoneRef`, which both milestone emitters in `GuidanceContext`\n * set. An UNAUTHORED label is returned as its raw key, not as `null`: `null` would fall through to\n * the generic \"Action completed successfully.\", which is invented text standing in for a missing\n * label — the gap would look finished and nobody would author it\n * (`.claude/rules/display-text-comes-from-i18n.md`). The labelling planner generates these keys for\n * every declared milestone, so a raw key here means generation has not run.\n *\n * Exported for its unit pin.\n */\nexport function resolveMilestoneLabel(data: unknown, lookup: (milestoneRef: string) => string): string | null {\n const milestoneRef = (data as { milestoneRef?: unknown } | undefined)?.milestoneRef;\n if (typeof milestoneRef !== 'string' || milestoneRef.length === 0) return null;\n return lookup(milestoneRef);\n}\n\nexport const NotificationContext: React.Context<NotificationContextType | undefined> = createContext<NotificationContextType | undefined>(undefined);\n\n// ================================\n// Provider\n// ================================\n\ninterface NotificationProviderProps {\n children: React.ReactNode;\n}\n\nfunction generateNotificationId(): string {\n return `notification-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;\n}\n\nconst CELEBRATION_AUTO_DISMISS_MS = 5000;\n/**\n * A CEILING for a celebration that asks for a decision, not a policy for it.\n *\n * That branch deliberately has no auto-dismiss — it is modal, it takes focus, and vanishing\n * mid-read after five seconds is the defect the conditional timer below exists to fix. But its only\n * remaining exits are user interactions, and every one of them is LAYER-CONDITIONAL: Radix delivers\n * Escape to the topmost layer, refuses an outside press while a higher layer disables outside\n * pointer events, and sets the buried layer's own `pointer-events: none` so its dismiss button\n * cannot be clicked. Radix's layer set is a module-level global, so this composes across\n * independently-portaled dialogs.\n *\n * So a celebration with a next step, buried under a dialog that mounts above it, was visible and\n * unreachable — and nothing else clears it, including a route change. Two minutes is long enough\n * that nobody loses a decision they were actually making, and short enough that a buried overlay\n * does not outlive the session.\n */\nconst CELEBRATION_DECISION_MAX_LIFETIME_MS = 120_000;\n\nexport function NotificationProvider({ children }: NotificationProviderProps): React.ReactElement {\n const [state, dispatch] = useReducer(notificationReducer, initialState);\n const { on, emit } = useEventBus();\n \n // Celebration state (Phase 1a)\n const [celebration, setCelebration] = useState<CelebrationState>({ isActive: false });\n const celebrationTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n \n // i18n hooks\n const { tNotificationCustom, tResourceOperation, tComponent, tErrorMessage, tErrorGuidance, tMilestone, tMilestoneReward, t, isReady } = useI18n({\n component: FrontendComponentType.APPLICATION_LEVEL_NOTIFICATION_CENTER,\n // `milestones` because a milestone notification speaks with the milestone's OWN words — see\n // `resolveMilestoneMessage`. Without it that root is never loaded here and every lookup misses.\n keys: ['notifications_custom', LabellingTypes.MILESTONES],\n });\n \n // Preferences state (synced from UserOrgsContext via events)\n const [notificationsPreferences, setNotificationsPreferences] = useState<UserPreferences['notifications'] | null>(null);\n \n // Refs for stable callbacks\n const tNotificationCustomRef = useRef(tNotificationCustom);\n const tResourceOperationRef = useRef(tResourceOperation);\n const tComponentRef = useRef(tComponent);\n const tErrorMessageRef = useRef(tErrorMessage);\n const tErrorGuidanceRef = useRef(tErrorGuidance);\n const tMilestoneRef = useRef(tMilestone);\n const tMilestoneRewardRef = useRef(tMilestoneReward);\n const tRef = useRef(t);\n\n /**\n * A notification raised BEFORE the i18n bundle settles must wait for it, not render its key.\n *\n * `isReady` was destructured here and used nowhere — one line, no reader. Every message this\n * provider shows ends at a `t*` call, and an unresolved label now renders the raw KEY, because\n * the humanized fallbacks were removed (#420). That is the right contract for a label nobody\n * authored; it is the wrong one for a label that simply has not LOADED yet, and\n * `display-text-comes-from-i18n.md` names readiness as the thing that covers exactly that\n * window. A toast is one-shot — there is no re-resolution when the bundle lands — so a\n * connectivity error raised during boot was displayed as\n * `components.APPLICATION_LEVEL_NOTIFICATION_CENTER.defaultError`, permanently.\n *\n * Deferring rather than dropping: the notification is still delivered, one bundle later. The\n * queue also covers `setLanguage`, which clears the loaded keys mid-session and flips `isReady`\n * back to false — a notification raised in that window would otherwise show keys too.\n */\n const isReadyRef = useRef(isReady);\n const pendingUntilI18nReadyRef = useRef<Array<() => void>>([]);\n\n useEffect(() => {\n tNotificationCustomRef.current = tNotificationCustom;\n tResourceOperationRef.current = tResourceOperation;\n tComponentRef.current = tComponent;\n tErrorMessageRef.current = tErrorMessage;\n tErrorGuidanceRef.current = tErrorGuidance;\n tMilestoneRef.current = tMilestone;\n tMilestoneRewardRef.current = tMilestoneReward;\n tRef.current = t;\n }, [tNotificationCustom, tResourceOperation, tComponent, tErrorMessage, tErrorGuidance, tMilestone, tMilestoneReward, t]);\n \n // ================================\n // Toast Display\n // ================================\n \n /**\n * Show ephemeral toast notification using sonner\n */\n const showToast = useCallback((\n type: NotificationType,\n message: string,\n duration?: number\n ): void => {\n toastAtLevel(type, message, duration ? { duration } : undefined);\n logDebug('Toast displayed', { type, message, duration });\n }, []);\n\n /**\n * Show/update a persistent (no auto-dismiss) toast keyed by a stable id. Sonner\n * de-duplicates by `id`, so repeated calls REPLACE the existing toast in place\n * instead of stacking — this is what lets a standing status indicator update its\n * message (e.g. \"reconnecting…\" → \"connection lost\") without ever showing two.\n */\n const showPersistentToast = useCallback((\n id: string,\n type: NotificationType | 'loading',\n message: string,\n ): void => {\n const options = { id, duration: Infinity } as const;\n switch (type) {\n case 'loading':\n toast.loading(message, options);\n break;\n case 'success':\n toast.success(message, options);\n break;\n case 'error':\n toast.error(message, options);\n break;\n case 'warning':\n toast.warning(message, options);\n break;\n case 'info':\n default:\n toast.info(message, options);\n break;\n }\n logDebug('Persistent toast shown', { id, type });\n }, []);\n\n const dismissPersistentToast = useCallback((id: string): void => {\n toast.dismiss(id);\n logDebug('Persistent toast dismissed', { id });\n }, []);\n\n // ================================\n // Celebration Management (Phase 1a)\n // ================================\n \n const dismissCelebration = useCallback((): void => {\n if (celebrationTimerRef.current) {\n clearTimeout(celebrationTimerRef.current);\n celebrationTimerRef.current = null;\n }\n setCelebration({ isActive: false });\n logDebug('Celebration dismissed');\n }, []);\n \n /**\n * Show a celebration overlay with auto-dismiss.\n * Called from processNotification when frontendDisplayHints.celebration is present.\n */\n const showCelebration = useCallback((\n celebrationHints: NonNullable<FrontendDisplayHints['celebration']>,\n options: {\n message: string;\n heading?: string;\n notificationIdentifier?: string;\n nextStep?: { label: string; onClick: () => void };\n }\n ): void => {\n // Clear any existing celebration timer\n if (celebrationTimerRef.current) {\n clearTimeout(celebrationTimerRef.current);\n }\n \n setCelebration({\n isActive: true,\n mode: celebrationHints,\n notificationIdentifier: options.notificationIdentifier,\n message: options.message,\n heading: options.heading,\n nextStep: options.nextStep,\n });\n \n /**\n * Auto-dismiss ONLY when the celebration asks for nothing.\n *\n * The timer used to fire unconditionally, and `nextStep` is exactly the case it must not: the\n * overlay is modal for that branch — it takes focus and locks the page's scroll deliberately,\n * because the user is being asked to answer — and then vanished after five seconds, mid-read,\n * having stolen the focus of whatever they were doing. The two halves justified each other in\n * opposite directions: the modality's reason is \"you are expected to interact with this\", and\n * the timer's is \"nobody is expected to interact with this\".\n *\n * A celebration with an action closes on that action, on its dismiss control, on Escape or on\n * an outside click — all of which the overlay already wires.\n */\n celebrationTimerRef.current = setTimeout(() => {\n setCelebration({ isActive: false });\n celebrationTimerRef.current = null;\n logDebug(options.nextStep ? 'Celebration reached its maximum lifetime' : 'Celebration auto-dismissed');\n }, options.nextStep ? CELEBRATION_DECISION_MAX_LIFETIME_MS : CELEBRATION_AUTO_DISMISS_MS);\n \n logDebug('Celebration shown', {\n mode: celebrationHints.mode,\n identifier: options.notificationIdentifier,\n hasNextStep: !!options.nextStep,\n });\n }, []);\n \n // Cleanup celebration timer on unmount\n useEffect(() => {\n return () => {\n if (celebrationTimerRef.current) {\n clearTimeout(celebrationTimerRef.current);\n }\n };\n }, []);\n \n // ================================\n // Message Resolution\n // ================================\n \n /**\n * Resolve a notification's message using i18n — the LADDER, without the bulk count.\n *\n * Resolution order:\n * 1. Explicit message in options (edge case)\n * 2. i18n lookup by identifier\n * 3. Error-ref label (errors) / resource operation title (info + warning only —\n * success and error both skip the imperative operation title, see 3a/3b)\n * 4. Default fallback message\n *\n * A bulk action's row COUNT is not a rung here: it quantifies whatever this answers, and\n * {@link resolveMessage} applies it.\n */\n const resolveBaseMessage = useCallback((\n type: NotificationType,\n source: NotificationSource,\n options: {\n message?: string;\n identifier?: string;\n resourceContext?: FrontendResourceOperationContext;\n i18nParams?: Record<string, string | number>;\n /** Notification payload data — carries the backend error ref for error toasts. */\n data?: Record<string, unknown>;\n }\n ): string => {\n // 1. Explicit message override\n if (options.message) {\n return options.message;\n }\n\n /*\n * 1b. A notification that carries a backend ERROR is about that error, and speaks with its words.\n *\n * The generic error path (`ErrorContext.executeFrontendActions`) wraps every displayed error in a\n * custom notification whose identifier is a TRANSPORT placeholder\n * (`FrontendNotificationCustomMessageRefs.A_TEMP_REF`), not a message. Once the labelling\n * pipeline generated words for that placeholder (\"Next step\"), step 2 below answered every such\n * toast with them: an administrator refused with `organization_unit_directory_managed` read\n * \"Next step\" instead of being told the directory owns the unit (#1447).\n *\n * The same path also emits a medium-severity error (a 409 CONFLICT) as a WARNING, and the error\n * branch below was error-only — so a conflict's words were unreachable even without the\n * placeholder. Both types are covered here.\n *\n * Order inside: the DECLARED refusal first (#1048), then the error reference's label. When neither\n * resolves, the identifier is still skipped for an error-carrying notification — its words\n * describe no error — and the default for the type answers (step 4).\n */\n const payload = options.data as Record<string, unknown> | undefined;\n const carriedErrorRef = (payload?.errorCustomMessageReference ?? payload?.customMessageReference) as string | undefined;\n const carriedGuidanceKey = typeof payload?.errorGuidanceKey === 'string' ? payload.errorGuidanceKey : undefined;\n const carriesError = (type === 'error' || type === 'warning')\n && (typeof carriedErrorRef === 'string' || typeof payload?.errorRefusalCode === 'string' || carriedGuidanceKey !== undefined);\n if (carriesError) {\n /*\n * The server's GUIDANCE first: it is the most specific thing a refusal says, and it is a label\n * (`errors_guidance.<key>.explanation`, interpolated with the params it carried). Without it a form\n * showed \"refused as invalid\" while the server had said exactly why.\n *\n * Only the EXPLANATION: a toast is one sentence, and `resolution` (what to do next) belongs on a\n * surface with room for it. Nor the guidance's raw prose, which the payload never carries. That is\n * narrower than `resolveUserFacingErrorMessage`, which also falls back to both.\n */\n if (carriedGuidanceKey) {\n const params = payload?.errorGuidanceParams && typeof payload.errorGuidanceParams === 'object'\n ? payload.errorGuidanceParams as Record<string, string | number>\n : undefined;\n const guidance = tErrorGuidanceRef.current(carriedGuidanceKey, 'explanation', params);\n if (guidance) return guidance;\n }\n const refusal = resolveRefusalCodeLabel(\n { tErrorMessage: tErrorMessageRef.current, t: tRef.current },\n typeof payload?.errorRefusalCode === 'string' ? payload.errorRefusalCode : undefined,\n );\n if (refusal) return refusal;\n // A refusal of a KNOWN operation speaks with that operation's authored `unavailableReason` when the\n // reference is the generic \"operation disabled\" one (#2264) — the same words the action bar shows\n // when it disables that action. Any other reference is its own label, as before.\n const resolvedError = resolveOperationRefusalLabel({\n tErrorMessage: tErrorMessageRef.current,\n tResourceOperation: tResourceOperationRef.current,\n resourceType: options.resourceContext?.resourceType,\n operationIdentifier: options.resourceContext?.operationIdentifier !== undefined\n ? String(options.resourceContext.operationIdentifier)\n : undefined,\n customMessageReference: carriedErrorRef,\n });\n if (resolvedError) return resolvedError;\n }\n\n // 2. i18n lookup by identifier\n if (options.identifier && !carriesError) {\n const translated = tNotificationCustomRef.current(options.identifier, 'msg', options.i18nParams);\n const resolved = resolvedLabelOrNull(translated, 'notifications_custom');\n if (resolved !== null) return resolved;\n }\n\n // 2b. A notification ABOUT A MILESTONE speaks with the milestone's own reward message.\n //\n // Both milestone notifications — the celebration (`milestone.<ref>`) and the feature-unlock\n // toast (`milestone.feature_unlock.<ref>`) — carry `data.milestoneRef`, and neither\n // identifier has a `notifications_custom` label: nothing plans that namespace. So step 2\n // always missed and every milestone rendered `defaultSuccess` — a celebration reading\n // \"Action completed successfully.\" with no milestone in it (#1406).\n //\n // The words already exist: the labelling planner generates `milestones.<ref>.reward.*` for\n // every declared milestone. Minting a parallel `notifications_custom.milestone.*` for the\n // same text was rejected — two sources for one string drift apart. Step 2 still runs FIRST,\n // so an application that authors a notification-specific message keeps it.\n const milestoneMessage = resolveMilestoneLabel(options.data, (ref) => tMilestoneRewardRef.current(ref, 'message'));\n if (milestoneMessage !== null) return milestoneMessage;\n \n // 3a. Resource ERRORS are resolved in 1b, for both error and warning toasts. An error never falls\n // back to the operation title: a red toast reading \"Create key\" looks like a success label.\n // 3b. Resource operation title — info / warning only. SUCCESS deliberately\n // skips the operation title for the same reason the error branch above\n // does: the `title` label tier is the operation's imperative BUTTON\n // label (\"Update to-do\", \"Create key\"), and a green toast that repeats\n // the command reads as a pending action, not an outcome. Operations\n // have no dedicated success-message label tier (the RESOURCES\n // labelling policy declares only `operations: ['title']`), so success\n // falls through to the OUTCOME-phrased default-success tier below\n // (localized `defaultSuccess` component label → hardcoded fallback).\n // A notification that wants an operation-specific success message\n // already has a channel: an explicit `message` (step 1) or a custom\n // notification identifier (step 2).\n if (type !== 'success' && type !== 'error' && !carriesError && source === 'resource' && options.resourceContext) {\n const { resourceType, operationIdentifier } = options.resourceContext;\n if (resourceType && operationIdentifier) {\n const opTitle = tResourceOperationRef.current(resourceType, String(operationIdentifier), 'title');\n const resolved = resolvedLabelOrNull(opTitle, 'resources');\n if (resolved !== null) return resolved;\n }\n }\n \n // 4. Default — the notification center's authored label. A missing label renders as its key, so the\n // gap stays visible and gets authored; there is deliberately no hard-coded English behind it\n // (`.claude/rules/display-text-comes-from-i18n.md`).\n const DEFAULT_MESSAGE_LABEL_KEYS: Record<NotificationType, string> = {\n success: 'defaultSuccess',\n info: 'defaultInfo',\n warning: 'defaultWarning',\n error: 'defaultError',\n };\n return tComponentRef.current(FrontendComponentType.APPLICATION_LEVEL_NOTIFICATION_CENTER, DEFAULT_MESSAGE_LABEL_KEYS[type]);\n }, []);\n\n /**\n * A BULK success states HOW MANY rows it changed, and the count QUANTIFIES the message rather\n * than replacing it.\n *\n * The count used to be a rung of the ladder above, below the explicit message and the custom\n * notification identifier — so it was reachable only for an operation that had nothing else to\n * say, which is the opposite of the population that needs it. Measured live in Wonder Todos\n * (#1468): a two-row bulk status change rendered its authored \"To-do status changed\" and no\n * count, because `todos_change_status_user_self` answered at step 2. Moving the count ABOVE the\n * ladder was rejected for the mirror reason — a batch would then drop the operation's own words\n * in favour of a generic sentence, and the words say what happened while the count only says how\n * much.\n *\n * A base message that IS the generic default keeps the count-only wording (\"Action completed for\n * 3 items.\"), which reads better than the composition would. The comparison is against the same\n * label call the default branch makes, so it is exact by construction; an application whose\n * authored message happens to equal the default gets the count-only form, which says the same\n * thing.\n */\n const resolveMessage = useCallback((\n type: NotificationType,\n source: NotificationSource,\n options: {\n message?: string;\n identifier?: string;\n resourceContext?: FrontendResourceOperationContext;\n i18nParams?: Record<string, string | number>;\n data?: Record<string, unknown>;\n }\n ): string => {\n const base = resolveBaseMessage(type, source, options);\n const affectedCount = (options.data as Record<string, unknown> | undefined)?.affectedCount;\n if (type !== 'success' || source !== 'resource' || typeof affectedCount !== 'number' || affectedCount <= 1) {\n return base;\n }\n const genericSuccess = tComponentRef.current(FrontendComponentType.APPLICATION_LEVEL_NOTIFICATION_CENTER, 'defaultSuccess');\n return base === genericSuccess\n ? tComponentRef.current(FrontendComponentType.APPLICATION_LEVEL_NOTIFICATION_CENTER, 'bulkSucceeded', { count: affectedCount })\n : tComponentRef.current(FrontendComponentType.APPLICATION_LEVEL_NOTIFICATION_CENTER, 'bulkSucceededWithMessage', { message: base, count: affectedCount });\n }, [resolveBaseMessage]);\n \n // ================================\n // Core Notification Handler\n // ================================\n \n /**\n * Process a notification with policy-driven behavior\n * \n * This is the central handler for all notifications.\n * It applies the display policy and handles both toast and center.\n */\n const processNotification = useCallback((\n type: NotificationType,\n source: NotificationSource,\n options: {\n message?: string;\n identifier?: string;\n resourceContext?: FrontendResourceOperationContext;\n data?: Record<string, unknown>;\n i18nParams?: Record<string, string | number>;\n overridePolicy?: Partial<NotificationDisplayBehavior>;\n frontendDisplayHints?: FrontendDisplayHints;\n serverNotification?: FrontendEventResourceOperation['serverNotification'];\n /** Where a backend notice leads (#2578): a path inside this frontend, offered as the notice's action. */\n destination?: InAppNotificationDestination;\n }\n ): void => {\n /*\n * Hold it until the labels exist. Re-entered through the same function on flush, and\n * `isReadyRef` is true by then, so this branch cannot loop.\n */\n if (!isReadyRef.current) {\n pendingUntilI18nReadyRef.current.push(() => processNotificationRef.current(type, source, options));\n return;\n }\n // Resource events include both local feedback and server messages. Only the latter carry\n // delivery policy. Reuse the dispatcher's canonical personal-target rule; required notices\n // and responsibility/fanout messages remain visible. This gate never drops refresh events.\n const suppressibleServerMessage = options.serverNotification !== undefined\n && !options.serverNotification.alwaysDeliver\n && userNotificationTargetIsSuppressibleByRecipientPreference(options.serverNotification.target);\n // The in-app switch, then the person's choice for this kind of notification (#2318): the same rule the\n // dispatcher's email gate reads. A backend message names no resource, so only the switch governs it.\n const kindResourceType = suppressibleServerMessage ? options.resourceContext?.resourceType : undefined;\n if (\n (source === 'backend' || suppressibleServerMessage)\n && !userNotificationPreferencesAllow(notificationsPreferences, kindResourceType, UserNotificationPreferenceChannel.IN_APP)\n ) {\n logDebug('Suppressing personal server notification: recipient switched in-app notifications off', {\n type,\n identifier: options.identifier,\n resourceType: kindResourceType,\n });\n return;\n }\n\n // Get display behavior from policy\n const displayBehavior = getNotificationDisplayBehavior(type, source, options.overridePolicy);\n \n // Resolve message\n const message = resolveMessage(type, source, options);\n \n // Resolve next-step action (if provided by display hints)\n let resolvedNextStep: { label: string; onClick: () => void } | undefined;\n const nextStepHint = options.frontendDisplayHints?.nextStep;\n if (nextStepHint) {\n // Resolve label from i18n: notifications_custom.{identifier}.nextStepLabel\n let nextStepLabel = '';\n if (options.identifier) {\n const translated = tNotificationCustomRef.current(options.identifier, 'nextStepLabel');\n nextStepLabel = resolvedLabelOrNull(translated, 'notifications_custom') ?? '';\n }\n // Fallback: try to resolve as resource operation title (format: \"RESOURCE.OPERATION\")\n if (!nextStepLabel && nextStepHint.operationRef) {\n const parts = nextStepHint.operationRef.split('.');\n if (parts.length >= 2) {\n const [resourceType, operationId] = parts;\n const opTitle = tResourceOperationRef.current(resourceType, operationId, 'title');\n nextStepLabel = resolvedLabelOrNull(opTitle, 'resources') ?? '';\n }\n }\n if (!nextStepLabel) {\n nextStepLabel = nextStepHint.operationRef; // Last resort: raw operation ref\n }\n \n resolvedNextStep = {\n label: nextStepLabel,\n onClick: () => {\n if (nextStepHint.type === 'url') {\n window.open(nextStepHint.operationRef, '_blank', 'noopener,noreferrer');\n } else {\n // type === 'operation' — emit NAVIGATION_REQUEST with unresolved operationRef.\n // NavigationProvider is alive at click time (user is on a normal page).\n // We use operationRef (not content) because NotificationProvider sits above\n // ResourceRegistryProvider and cannot build a full NavigationContent payload.\n // The navigation controller resolves the ref using the registry.\n const flatIdentifiers = options.resourceContext\n ? FrontendResourceUtils.flattenContextIdentifiers(options.resourceContext.contextResourceIdentifiers)\n : undefined;\n emit(FrontendEvents.NAVIGATION_REQUEST, {\n operationRef: nextStepHint.operationRef,\n operationRefContextIdentifiers: flatIdentifiers,\n initiator: {\n sourceZone: APP_LEVEL_NAVIGATION_SOURCE,\n },\n });\n }\n },\n };\n } else if (options.destination) {\n /*\n * A backend notice that names where it leads (#2578). The action's words are the notice's own, at\n * `notifications_custom.<identifier>.nextStepLabel`; an unauthored label shows its key, and a notice with no\n * identifier shows the path itself, so the gap looks missing rather than being filled with invented words.\n *\n * The path is opened through the runtime's NAVIGATION_REQUEST bridge, which hands it to the router: this\n * provider sits above the router, and `window.location` would reload the application and ignore its base path.\n */\n const destination = options.destination;\n const label = options.identifier ? tNotificationCustomRef.current(options.identifier, 'nextStepLabel') : destination;\n resolvedNextStep = {\n label,\n onClick: () => {\n emit(FrontendEvents.NAVIGATION_REQUEST, {\n urlPath: destination,\n initiator: { sourceZone: APP_LEVEL_NAVIGATION_SOURCE },\n });\n },\n };\n }\n \n logDebug('Processing notification', {\n type,\n source,\n message,\n displayBehavior,\n hasCelebration: !!options.frontendDisplayHints?.celebration,\n hasNextStep: !!nextStepHint,\n });\n \n // Branch: Celebration mode\n const celebrationHint = options.frontendDisplayHints?.celebration;\n if (celebrationHint) {\n // Show celebration overlay instead of standard toast\n showCelebration(celebrationHint, {\n message,\n heading: resolveMilestoneLabel(options.data, (ref) => tMilestoneRef.current(ref, 'title')) ?? undefined,\n notificationIdentifier: options.identifier,\n nextStep: resolvedNextStep,\n });\n \n // Always add celebrations to notification center (they're significant events)\n const notification: Notification = {\n id: generateNotificationId(),\n type,\n source,\n message,\n timestamp: Date.now(),\n identifier: options.identifier,\n resourceContext: options.resourceContext,\n data: options.data,\n wasCelebration: true,\n nextStep: resolvedNextStep,\n };\n dispatch({ type: 'ADD_NOTIFICATION', notification });\n return;\n }\n \n // Branch: Standard display (with optional nextStep action in toast)\n if (displayBehavior.showToast) {\n if (resolvedNextStep) {\n // Enhanced toast with action button (Sonner supports `action`), at the notice's own level.\n toastAtLevel(type, message, {\n duration: displayBehavior.toastDuration,\n action: {\n label: resolvedNextStep.label,\n onClick: resolvedNextStep.onClick,\n },\n });\n } else {\n showToast(type, message, displayBehavior.toastDuration);\n }\n }\n \n // Add to notification center if policy says so\n if (displayBehavior.addToCenter) {\n const notification: Notification = {\n id: generateNotificationId(),\n type,\n source,\n message,\n timestamp: Date.now(),\n identifier: options.identifier,\n resourceContext: options.resourceContext,\n data: options.data,\n nextStep: resolvedNextStep,\n };\n dispatch({ type: 'ADD_NOTIFICATION', notification });\n }\n }, [resolveMessage, showToast, showCelebration, notificationsPreferences]);\n\n /*\n * A stable handle, so a queued notification is replayed through the CURRENT implementation\n * rather than the one captured when it was queued — by the time it flushes, `resolveMessage`\n * has been rebuilt against the loaded bundle, which is the whole point of waiting.\n */\n const processNotificationRef = useRef(processNotification);\n useEffect(() => { processNotificationRef.current = processNotification; }, [processNotification]);\n\n useEffect(() => {\n isReadyRef.current = isReady;\n if (!isReady) return;\n /*\n * Drain by SWAPPING the queue first: each replay re-enters `processNotification`, and draining\n * in place while that happens would skip entries or loop. `isReadyRef` is true here, so a\n * replayed entry takes the normal path instead of re-queueing itself.\n */\n const pending = pendingUntilI18nReadyRef.current;\n if (pending.length === 0) return;\n pendingUntilI18nReadyRef.current = [];\n for (const replay of pending) replay();\n }, [isReady]);\n \n // ================================\n // Event Handlers\n // ================================\n \n // Handle resource notification events\n useEffect(() => {\n const handleResourceNotification = (\n type: NotificationType,\n payload: FrontendEventPayloads[FrontendEvents.NOTIFY_RESOURCE_SUCCESS]\n ) => {\n const resourceContext = payload as FrontendResourceOperationContext;\n const additionalContext = (resourceContext as any).additionalContext || {};\n \n processNotification(type, 'resource', {\n resourceContext,\n serverNotification: payload.serverNotification,\n identifier: additionalContext.notificationIdentifier,\n data: additionalContext,\n frontendDisplayHints: additionalContext.frontendDisplayHints as FrontendDisplayHints | undefined,\n });\n };\n \n const offInfo = on(\n FrontendEvents.NOTIFY_RESOURCE_INFO,\n (payload: FrontendEventPayloads[FrontendEvents.NOTIFY_RESOURCE_INFO]) => handleResourceNotification('info', payload)\n );\n\n const offSuccess = on(\n FrontendEvents.NOTIFY_RESOURCE_SUCCESS,\n (payload: FrontendEventPayloads[FrontendEvents.NOTIFY_RESOURCE_SUCCESS]) => handleResourceNotification('success', payload)\n );\n\n const offWarning = on(\n FrontendEvents.NOTIFY_RESOURCE_WARNING,\n (payload: FrontendEventPayloads[FrontendEvents.NOTIFY_RESOURCE_WARNING]) => handleResourceNotification('warning', payload)\n );\n\n const offError = on(\n FrontendEvents.NOTIFY_RESOURCE_ERROR,\n (payload: FrontendEventPayloads[FrontendEvents.NOTIFY_RESOURCE_ERROR]) => handleResourceNotification('error', payload)\n );\n\n return () => {\n offInfo();\n offSuccess();\n offWarning();\n offError();\n };\n }, [on, processNotification]);\n\n // Handle custom notification events (including backend-initiated notifications via WebSocket)\n useEffect(() => {\n const handleCustomNotification = (\n type: NotificationType,\n payload: FrontendEventPayloads[FrontendEvents.NOTIFY_CUSTOM_SUCCESS]\n ) => {\n const data = payload.data as Record<string, unknown> | undefined;\n \n // Check if this is a backend-initiated notification (via USER_NOTIFICATION WebSocket event)\n const isBackendNotification = data?._backendNotification === true;\n const source: NotificationSource = isBackendNotification ? 'backend' : 'custom';\n \n // For backend notifications, extract display target override if provided\n let overridePolicy: Partial<NotificationDisplayBehavior> | undefined;\n if (isBackendNotification && data?.displayTarget) {\n const displayTarget = data.displayTarget as 'toast' | 'center' | 'both';\n if (displayTarget === 'toast') {\n overridePolicy = { showToast: true, addToCenter: false };\n } else if (displayTarget === 'center') {\n overridePolicy = { showToast: false, addToCenter: true };\n }\n // 'both' uses the default policy\n }\n \n // For backend notifications, use message from data if provided\n const message = isBackendNotification ? (data?.message as string | undefined) : undefined;\n \n // C3: Extract frontendDisplayHints from data (for celebration overlays from GuidanceContext)\n const frontendDisplayHints = data?.frontendDisplayHints as FrontendDisplayHints | undefined;\n\n processNotification(type, source, {\n identifier: payload.identifier,\n message,\n data,\n ...(isBackendNotification ? { i18nParams: backendNotificationI18nParams(data), destination: backendNotificationDestination(data) } : {}),\n overridePolicy,\n frontendDisplayHints,\n });\n };\n \n const offInfo = on(\n FrontendEvents.NOTIFY_CUSTOM_INFO,\n (payload: FrontendEventPayloads[FrontendEvents.NOTIFY_CUSTOM_INFO]) => handleCustomNotification('info', payload)\n );\n\n const offSuccess = on(\n FrontendEvents.NOTIFY_CUSTOM_SUCCESS,\n (payload: FrontendEventPayloads[FrontendEvents.NOTIFY_CUSTOM_SUCCESS]) => handleCustomNotification('success', payload)\n );\n\n const offWarning = on(\n FrontendEvents.NOTIFY_CUSTOM_WARNING,\n (payload: FrontendEventPayloads[FrontendEvents.NOTIFY_CUSTOM_WARNING]) => handleCustomNotification('warning', payload)\n );\n\n const offError = on(\n FrontendEvents.NOTIFY_CUSTOM_ERROR,\n (payload: FrontendEventPayloads[FrontendEvents.NOTIFY_CUSTOM_ERROR]) => handleCustomNotification('error', payload)\n );\n\n return () => {\n offInfo();\n offSuccess();\n offWarning();\n offError();\n };\n }, [on, processNotification]);\n\n // Listen to preference changes from UserOrgsContext\n useEffect(() => {\n const unsubscribe = on(FrontendEvents.USER_PREFERENCES_CHANGED, (payload: FrontendEventPayloads[FrontendEvents.USER_PREFERENCES_CHANGED]) => {\n if (payload.notificationsPreferences) {\n setNotificationsPreferences(payload.notificationsPreferences);\n logDebug('Notification preferences updated from UserOrgsContext event', {\n email: payload.notificationsPreferences.email,\n inApp: payload.notificationsPreferences.inApp,\n });\n }\n });\n\n return unsubscribe;\n }, [on]);\n\n // Preference getter\n const getNotificationsPreferences = useCallback((): UserPreferences['notifications'] | null => {\n return notificationsPreferences;\n }, [notificationsPreferences]);\n\n // ================================\n // Convenience Methods\n // ================================\n \n /**\n * Show a success notification\n * \n * @param message - Direct message to display (use options.identifier for i18n lookup instead)\n * @param options - Additional options including:\n * - identifier: i18n identifier for message lookup (overrides message param)\n * - data: Additional context data\n * - i18nParams: Interpolation parameters for i18n messages\n * - overridePolicy: Override display behavior for this notification\n * \n * @example\n * // Direct message\n * notifySuccess('Task created successfully');\n * \n * // Using i18n identifier\n * notifySuccess(undefined, { identifier: 'task.created' });\n */\n const notifySuccess = useCallback((\n message?: string,\n options: NotifyOptions = {}\n ): void => {\n processNotification('success', 'custom', {\n message: options.message ?? message,\n identifier: options.identifier,\n data: options.data,\n i18nParams: options.i18nParams,\n overridePolicy: options.overridePolicy,\n });\n }, [processNotification]);\n \n /**\n * Show an error notification\n * \n * @param message - Direct message to display\n * @param options - Additional options (see notifySuccess for details)\n */\n const notifyError = useCallback((\n message?: string,\n options: NotifyOptions = {}\n ): void => {\n processNotification('error', 'custom', {\n message: options.message ?? message,\n identifier: options.identifier,\n data: options.data,\n i18nParams: options.i18nParams,\n overridePolicy: options.overridePolicy,\n });\n }, [processNotification]);\n \n /**\n * Show a warning notification\n * \n * @param message - Direct message to display\n * @param options - Additional options (see notifySuccess for details)\n */\n const notifyWarning = useCallback((\n message?: string,\n options: NotifyOptions = {}\n ): void => {\n processNotification('warning', 'custom', {\n message: options.message ?? message,\n identifier: options.identifier,\n data: options.data,\n i18nParams: options.i18nParams,\n overridePolicy: options.overridePolicy,\n });\n }, [processNotification]);\n \n /**\n * Show an info notification\n * \n * @param message - Direct message to display\n * @param options - Additional options (see notifySuccess for details)\n */\n const notifyInfo = useCallback((\n message?: string,\n options: NotifyOptions = {}\n ): void => {\n processNotification('info', 'custom', {\n message: options.message ?? message,\n identifier: options.identifier,\n data: options.data,\n i18nParams: options.i18nParams,\n overridePolicy: options.overridePolicy,\n });\n }, [processNotification]);\n\n // ================================\n // Notification Center Management\n // ================================\n\n const removeNotification = useCallback((id: string): void => {\n dispatch({ type: 'REMOVE_NOTIFICATION', id });\n }, []);\n\n const clearAll = useCallback((): void => {\n dispatch({ type: 'CLEAR_ALL' });\n }, []);\n\n // ================================\n // Context Value\n // ================================\n\n const contextValue: NotificationContextType = useMemo(() => ({\n // State\n notifications: state.notifications,\n \n // Notification Center Management\n removeNotification,\n clearAll,\n \n // Convenience Methods\n notifySuccess,\n notifyError,\n notifyWarning,\n notifyInfo,\n \n // Direct Toast Access\n showToast,\n showPersistentToast,\n dismissPersistentToast,\n\n // Celebration (Phase 1a)\n celebration,\n dismissCelebration,\n\n // Preferences\n notificationsPreferences,\n getNotificationsPreferences,\n }), [\n state.notifications,\n removeNotification,\n clearAll,\n notifySuccess,\n notifyError,\n notifyWarning,\n notifyInfo,\n showToast,\n showPersistentToast,\n dismissPersistentToast,\n celebration,\n dismissCelebration,\n notificationsPreferences,\n getNotificationsPreferences,\n ]);\n\n return (\n <NotificationContext.Provider value={contextValue}>\n {children}\n </NotificationContext.Provider>\n );\n}\n\n// useNotification hook is now in separate file: ./useNotification.ts\n// This separation is required for React Fast Refresh compatibility\n"]}
@@ -55,6 +55,12 @@ export declare enum FrontendEvents {
55
55
  USER_APP_ROLE_CHANGED = "user_app_role_changed",
56
56
  USER_CONSENT_CHANGED = "user_consent_changed",
57
57
  USER_PREFERENCES_CHANGED = "user_preferences_changed",
58
+ /**
59
+ * The current organization's branding as the application shows it (#2306): its colour and logo while its branding is
60
+ * in effect (the organization holds the custom-branding entitlement), `null` values otherwise. Emitted by
61
+ * `OrganizationBrandingPublisher` when the current organization, its entitlement or its branding changes.
62
+ */
63
+ ORGANIZATION_BRANDING_CHANGED = "organization_branding_changed",
58
64
  APP_VERSION_CHANGED = "app_changed",
59
65
  APP_STATUS_CHANGED = "app_status_changed",
60
66
  BADGE_COUNT_CHANGED = "badge_count_changed",
@@ -70,6 +76,7 @@ export declare enum FrontendEvents {
70
76
  NAVIGATION_CLEAR_ZONE = "navigation_clear_zone",// Clear a specific zone's stack
71
77
  NAVIGATION_ZONE_CHANGED = "navigation_zone_changed",// Zone content changed (for subscribers)
72
78
  NAVIGATION_URL_PATH_UPDATED = "navigation_url_path_updated",
79
+ NAVIGATION_ORGANIZATION_FOLLOWED = "navigation_organization_followed",
73
80
  HOTKEY_COMMAND_MENU_OPEN = "hotkey_command_menu_open",
74
81
  /** Toggles primary sidebar collapse when the sidebar surface is enabled. */
75
82
  HOTKEY_SIDEBAR_TOGGLE = "hotkey_sidebar_toggle",
@@ -131,6 +138,7 @@ export declare const FrontendEventResourceOperationSchema: z.ZodObject<{
131
138
  }, z.core.$strip>>;
132
139
  optionalDiscriminator: z.ZodOptional<z.ZodString>;
133
140
  resultSummary: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
141
+ isPartialWrite: z.ZodOptional<z.ZodBoolean>;
134
142
  tier: z.ZodOptional<z.ZodEnum<typeof LoadingTier>>;
135
143
  phase: z.ZodOptional<z.ZodEnum<typeof LoadingPhase>>;
136
144
  }, z.core.$strip>;
@@ -210,6 +218,14 @@ export declare enum SessionEndReason {
210
218
  * restored, or an error carried the forced-logout signal.
211
219
  */
212
220
  SESSION_ENDED = "session_ended",
221
+ /**
222
+ * The backend refused the session because the ACCOUNT can no longer sign in: its status is not ACTIVE (deactivated
223
+ * by the person or an administrator, suspended, pending, erased). Derived from the refusal's
224
+ * `authentication_user_not_active` reference, never from message text (#2541). Distinct from {@link SESSION_ENDED}
225
+ * because the remedy differs: signing in again cannot work, and only an administrator restores access. A TEMPORARY
226
+ * lockout after failed attempts (`authentication_account_locked`) lifts by itself, so it is a plain SESSION_ENDED.
227
+ */
228
+ ACCOUNT_NOT_ACTIVE = "account_not_active",
213
229
  /** Another person signed in on this tab without signing the previous one out first. */
214
230
  REPLACED = "replaced"
215
231
  }
@@ -328,14 +344,18 @@ export declare const FrontendEventUserPreferencesChangedSchema: z.ZodObject<{
328
344
  locale: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodOptional<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("@wildo-ai/presets-components-models").AvailableLanguage>>>>;
329
345
  }, z.core.$strip>>>;
330
346
  organizationRegionalPreferences: z.ZodOptional<z.ZodNullable<z.ZodObject<{
331
- locale: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("@wildo-ai/presets-components-models").AvailableLanguage>>>>>;
332
347
  timezone: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodUnion<[z.ZodEnum<typeof import("@wildo-ai/presets-components-models").CommonTimezone>, z.ZodString]>>>>;
348
+ locale: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("@wildo-ai/presets-components-models").AvailableLanguage>>>>>;
333
349
  dateFormat: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("@wildo-ai/presets-components-models").DateFormat>>>>;
334
350
  timeFormat: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("@wildo-ai/presets-components-models").TimeFormat>>>>;
335
351
  }, z.core.$strip>>>;
336
352
  notificationsPreferences: z.ZodOptional<z.ZodNullable<z.ZodObject<{
337
353
  email: z.ZodDefault<z.ZodBoolean>;
338
354
  inApp: z.ZodDefault<z.ZodBoolean>;
355
+ byResourceType: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
356
+ email: z.ZodOptional<z.ZodBoolean>;
357
+ inApp: z.ZodOptional<z.ZodBoolean>;
358
+ }, z.core.$strip>>>;
339
359
  }, z.core.$strip>>>;
340
360
  uiPreferences: z.ZodOptional<z.ZodNullable<z.ZodObject<{
341
361
  theme: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodEnum<typeof import("@wildo-ai/saas-models").UserTheme>>>;
@@ -345,6 +365,15 @@ export declare const FrontendEventUserPreferencesChangedSchema: z.ZodObject<{
345
365
  consentDecidedAt: z.ZodOptional<z.ZodDate>;
346
366
  }, z.core.$strip>>>;
347
367
  }, z.core.$strip>;
368
+ /** The current organization's branding in effect (#2306): `null` values show the application's own brand. */
369
+ export declare const FrontendEventOrganizationBrandingChangedSchema: z.ZodObject<{
370
+ organizationId: z.ZodNullable<z.ZodString>;
371
+ primaryColor: z.ZodNullable<z.ZodString>;
372
+ secondaryColor: z.ZodNullable<z.ZodString>;
373
+ logoUrl: z.ZodNullable<z.ZodString>;
374
+ productName: z.ZodNullable<z.ZodString>;
375
+ }, z.core.$strip>;
376
+ export type FrontendEventOrganizationBrandingChanged = z.infer<typeof FrontendEventOrganizationBrandingChangedSchema>;
348
377
  /**
349
378
  * Navigation request — the high-level "I want to navigate" event.
350
379
  *
@@ -365,8 +394,15 @@ export declare const FrontendEventUserPreferencesChangedSchema: z.ZodObject<{
365
394
  * build a full NavigationContent payload. The controller, which is inside
366
395
  * ResourceRegistryProvider, performs the resolution.
367
396
  *
368
- * Either `content` or `operationRef` must be provided. If both are
369
- * provided, `operationRef` takes precedence.
397
+ * **Address only** (#2578): neither `content` nor `operationRef`, only
398
+ * `urlPath` — a path inside this frontend, such as a backend notification's
399
+ * destination. `NavigationRequestBridge` opens it URL-first through the
400
+ * router, and the route's own sync rebuilds the navigation state, as for a
401
+ * deep link.
402
+ *
403
+ * If both `content` and `operationRef` are provided, `operationRef` takes
404
+ * precedence; a ref that resolves to nothing navigates nowhere, its `urlPath`
405
+ * notwithstanding.
370
406
  */
371
407
  export declare const FrontendEvent_NavigationRequestSchema: z.ZodObject<{
372
408
  content: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -804,6 +840,9 @@ export declare const FrontendEvent_NavigationUrlPathUpdatedSchema: z.ZodObject<{
804
840
  stackEntryId: z.ZodString;
805
841
  urlPath: z.ZodString;
806
842
  }, z.core.$strip>;
843
+ export declare const FrontendEvent_NavigationOrganizationFollowedSchema: z.ZodObject<{
844
+ organizationId: z.ZodString;
845
+ }, z.core.$strip>;
807
846
  export declare const FrontendEvent_NavigationPopSchema: z.ZodObject<{
808
847
  zone: z.ZodUnion<readonly [z.ZodEnum<typeof NavigationZoneName>, z.ZodLiteral<"overlay">]>;
809
848
  toStackEntryId: z.ZodOptional<z.ZodString>;
@@ -955,6 +994,7 @@ export declare const FrontendEvent_PrimaryScopeChangedSchema: z.ZodObject<{
955
994
  fieldIdentifier: z.ZodString;
956
995
  newValue: z.ZodNullable<z.ZodString>;
957
996
  previousValue: z.ZodNullable<z.ZodString>;
997
+ initiator: z.ZodOptional<z.ZodEnum<typeof ScopeChangeInitiator>>;
958
998
  }, z.core.$strip>;
959
999
  export declare const FrontendEvent_AppScopeChangedSchema: z.ZodObject<{
960
1000
  fieldIdentifier: z.ZodString;
@@ -1061,6 +1101,7 @@ export type FrontendEvent_NavigationClose = z.infer<typeof FrontendEvent_Navigat
1061
1101
  export type FrontendEvent_NavigationClearZone = z.infer<typeof FrontendEvent_NavigationClearZoneSchema>;
1062
1102
  export type FrontendEvent_NavigationZoneChanged = z.infer<typeof FrontendEvent_NavigationZoneChangedSchema>;
1063
1103
  export type FrontendEvent_NavigationUrlPathUpdated = z.infer<typeof FrontendEvent_NavigationUrlPathUpdatedSchema>;
1104
+ export type FrontendEvent_NavigationOrganizationFollowed = z.infer<typeof FrontendEvent_NavigationOrganizationFollowedSchema>;
1064
1105
  export type FrontendEventResourceEditing = z.infer<typeof FrontendEventResourceEditingSchema>;
1065
1106
  export type FrontendEventResourceCustom = z.infer<typeof FrontendEventResourceCustomSchema>;
1066
1107
  export type FrontendEvent_PrimaryScopeChanged = z.infer<typeof FrontendEvent_PrimaryScopeChangedSchema>;
@@ -1151,6 +1192,7 @@ export declare const FrontendEventSchemas: {
1151
1192
  }, z.core.$strip>>;
1152
1193
  optionalDiscriminator: z.ZodOptional<z.ZodString>;
1153
1194
  resultSummary: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1195
+ isPartialWrite: z.ZodOptional<z.ZodBoolean>;
1154
1196
  tier: z.ZodOptional<z.ZodEnum<typeof LoadingTier>>;
1155
1197
  phase: z.ZodOptional<z.ZodEnum<typeof LoadingPhase>>;
1156
1198
  }, z.core.$strip>;
@@ -1183,6 +1225,7 @@ export declare const FrontendEventSchemas: {
1183
1225
  }, z.core.$strip>>;
1184
1226
  optionalDiscriminator: z.ZodOptional<z.ZodString>;
1185
1227
  resultSummary: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1228
+ isPartialWrite: z.ZodOptional<z.ZodBoolean>;
1186
1229
  tier: z.ZodOptional<z.ZodEnum<typeof LoadingTier>>;
1187
1230
  phase: z.ZodOptional<z.ZodEnum<typeof LoadingPhase>>;
1188
1231
  }, z.core.$strip>;
@@ -1216,6 +1259,7 @@ export declare const FrontendEventSchemas: {
1216
1259
  }, z.core.$strip>>;
1217
1260
  optionalDiscriminator: z.ZodOptional<z.ZodString>;
1218
1261
  resultSummary: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1262
+ isPartialWrite: z.ZodOptional<z.ZodBoolean>;
1219
1263
  tier: z.ZodOptional<z.ZodEnum<typeof LoadingTier>>;
1220
1264
  phase: z.ZodOptional<z.ZodEnum<typeof LoadingPhase>>;
1221
1265
  }, z.core.$strip>;
@@ -1248,6 +1292,7 @@ export declare const FrontendEventSchemas: {
1248
1292
  }, z.core.$strip>>;
1249
1293
  optionalDiscriminator: z.ZodOptional<z.ZodString>;
1250
1294
  resultSummary: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1295
+ isPartialWrite: z.ZodOptional<z.ZodBoolean>;
1251
1296
  tier: z.ZodOptional<z.ZodEnum<typeof LoadingTier>>;
1252
1297
  phase: z.ZodOptional<z.ZodEnum<typeof LoadingPhase>>;
1253
1298
  }, z.core.$strip>;
@@ -1280,6 +1325,7 @@ export declare const FrontendEventSchemas: {
1280
1325
  }, z.core.$strip>>;
1281
1326
  optionalDiscriminator: z.ZodOptional<z.ZodString>;
1282
1327
  resultSummary: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1328
+ isPartialWrite: z.ZodOptional<z.ZodBoolean>;
1283
1329
  tier: z.ZodOptional<z.ZodEnum<typeof LoadingTier>>;
1284
1330
  phase: z.ZodOptional<z.ZodEnum<typeof LoadingPhase>>;
1285
1331
  }, z.core.$strip>;
@@ -1312,6 +1358,7 @@ export declare const FrontendEventSchemas: {
1312
1358
  }, z.core.$strip>>;
1313
1359
  optionalDiscriminator: z.ZodOptional<z.ZodString>;
1314
1360
  resultSummary: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1361
+ isPartialWrite: z.ZodOptional<z.ZodBoolean>;
1315
1362
  tier: z.ZodOptional<z.ZodEnum<typeof LoadingTier>>;
1316
1363
  phase: z.ZodOptional<z.ZodEnum<typeof LoadingPhase>>;
1317
1364
  }, z.core.$strip>;
@@ -1383,14 +1430,18 @@ export declare const FrontendEventSchemas: {
1383
1430
  locale: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodOptional<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("@wildo-ai/presets-components-models").AvailableLanguage>>>>;
1384
1431
  }, z.core.$strip>>>;
1385
1432
  organizationRegionalPreferences: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1386
- locale: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("@wildo-ai/presets-components-models").AvailableLanguage>>>>>;
1387
1433
  timezone: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodUnion<[z.ZodEnum<typeof import("@wildo-ai/presets-components-models").CommonTimezone>, z.ZodString]>>>>;
1434
+ locale: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("@wildo-ai/presets-components-models").AvailableLanguage>>>>>;
1388
1435
  dateFormat: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("@wildo-ai/presets-components-models").DateFormat>>>>;
1389
1436
  timeFormat: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("@wildo-ai/presets-components-models").TimeFormat>>>>;
1390
1437
  }, z.core.$strip>>>;
1391
1438
  notificationsPreferences: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1392
1439
  email: z.ZodDefault<z.ZodBoolean>;
1393
1440
  inApp: z.ZodDefault<z.ZodBoolean>;
1441
+ byResourceType: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1442
+ email: z.ZodOptional<z.ZodBoolean>;
1443
+ inApp: z.ZodOptional<z.ZodBoolean>;
1444
+ }, z.core.$strip>>>;
1394
1445
  }, z.core.$strip>>>;
1395
1446
  uiPreferences: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1396
1447
  theme: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodEnum<typeof import("@wildo-ai/saas-models").UserTheme>>>;
@@ -1400,6 +1451,13 @@ export declare const FrontendEventSchemas: {
1400
1451
  consentDecidedAt: z.ZodOptional<z.ZodDate>;
1401
1452
  }, z.core.$strip>>>;
1402
1453
  }, z.core.$strip>;
1454
+ readonly organization_branding_changed: z.ZodObject<{
1455
+ organizationId: z.ZodNullable<z.ZodString>;
1456
+ primaryColor: z.ZodNullable<z.ZodString>;
1457
+ secondaryColor: z.ZodNullable<z.ZodString>;
1458
+ logoUrl: z.ZodNullable<z.ZodString>;
1459
+ productName: z.ZodNullable<z.ZodString>;
1460
+ }, z.core.$strip>;
1403
1461
  readonly app_changed: z.ZodObject<{}, z.core.$strip>;
1404
1462
  readonly app_status_changed: z.ZodObject<{}, z.core.$strip>;
1405
1463
  readonly badge_count_changed: z.ZodObject<{
@@ -2045,6 +2103,9 @@ export declare const FrontendEventSchemas: {
2045
2103
  stackEntryId: z.ZodString;
2046
2104
  urlPath: z.ZodString;
2047
2105
  }, z.core.$strip>;
2106
+ readonly navigation_organization_followed: z.ZodObject<{
2107
+ organizationId: z.ZodString;
2108
+ }, z.core.$strip>;
2048
2109
  readonly hotkey_command_menu_open: z.ZodObject<{}, z.core.$strip>;
2049
2110
  readonly hotkey_sidebar_toggle: z.ZodObject<{}, z.core.$strip>;
2050
2111
  readonly hotkey_notifications_open: z.ZodObject<{}, z.core.$strip>;
@@ -2055,6 +2116,7 @@ export declare const FrontendEventSchemas: {
2055
2116
  fieldIdentifier: z.ZodString;
2056
2117
  newValue: z.ZodNullable<z.ZodString>;
2057
2118
  previousValue: z.ZodNullable<z.ZodString>;
2119
+ initiator: z.ZodOptional<z.ZodEnum<typeof ScopeChangeInitiator>>;
2058
2120
  }, z.core.$strip>;
2059
2121
  readonly app_scope_changed: z.ZodObject<{
2060
2122
  fieldIdentifier: z.ZodString;
@@ -2169,6 +2231,7 @@ export type FrontendEventPayloads = {
2169
2231
  [FrontendEvents.USER_ORG_ROLE_CHANGED]: FrontEndEvent_BasicUser;
2170
2232
  [FrontendEvents.USER_APP_ROLE_CHANGED]: FrontEndEvent_BasicUser;
2171
2233
  [FrontendEvents.USER_PREFERENCES_CHANGED]: FrontendEventUserPreferencesChanged;
2234
+ [FrontendEvents.ORGANIZATION_BRANDING_CHANGED]: FrontendEventOrganizationBrandingChanged;
2172
2235
  [FrontendEvents.APP_VERSION_CHANGED]: FrontendEventNoData;
2173
2236
  [FrontendEvents.APP_STATUS_CHANGED]: FrontendEventNoData;
2174
2237
  [FrontendEvents.BADGE_COUNT_CHANGED]: FrontendEventBadgeCountChanged;
@@ -2185,6 +2248,7 @@ export type FrontendEventPayloads = {
2185
2248
  [FrontendEvents.NAVIGATION_CLEAR_ZONE]: FrontendEvent_NavigationClearZone;
2186
2249
  [FrontendEvents.NAVIGATION_ZONE_CHANGED]: FrontendEvent_NavigationZoneChanged;
2187
2250
  [FrontendEvents.NAVIGATION_URL_PATH_UPDATED]: FrontendEvent_NavigationUrlPathUpdated;
2251
+ [FrontendEvents.NAVIGATION_ORGANIZATION_FOLLOWED]: FrontendEvent_NavigationOrganizationFollowed;
2188
2252
  [FrontendEvents.HOTKEY_COMMAND_MENU_OPEN]: FrontendEvent_HotkeyCommandMenuOpen;
2189
2253
  [FrontendEvents.HOTKEY_SIDEBAR_TOGGLE]: FrontendEvent_HotkeySidebarToggle;
2190
2254
  [FrontendEvents.HOTKEY_NOTIFICATIONS_OPEN]: FrontendEvent_HotkeyNotificationsOpen;