@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":"app-shell-placement-coverage.js","sourceRoot":"","sources":["../../../../src/testing/app-shell-placement-coverage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAG1G,OAAO,EAAE,qBAAqB,EAAE,MAAM,uEAAuE,CAAC;AAE9G;;;;;;;;;;;;;;;;;;GAkBG;AAEH,8CAA8C;AAC9C,MAAM,CAAC,MAAM,6BAA6B,GAAG,wBAAwB,CAAC;AACtE,MAAM,CAAC,MAAM,uCAAuC,GAAG,2BAA2B,CAAC;AAEnF,4GAA4G;AAC5G,MAAM,UAAU,uBAAuB,CAAC,MAAmB;IACzD,OAAO,SAAS,iBAAiB,CAAC,KAAK;QACrC,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;YAChC,CAAC,6BAA6B,CAAC,EAAE,MAAM;YACvC,CAAC,uCAAuC,CAAC,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE;SACnF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,mHAAmH;AACnH,MAAM,YAAY,GAA4C;IAC5D,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,gBAAgB;IAChB,iBAAiB;IACjB,sBAAsB;CACvB,CAAC;AACF,MAAM,eAAe,GAAG,CAAC,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAU,CAAC;AAEtF;;;GAGG;AACH,MAAM,SAAS,CAAC,CAAC,gCAAgC;IAC/C,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QAC9D,KAAK,MAAM,gBAAgB,IAAI,eAAe,EAAE,CAAC;YAC/C,KAAK,MAAM,qBAAqB,IAAI,eAAe,EAAE,CAAC;gBACpD,KAAK,MAAM,kBAAkB,IAAI,qBAAqB,EAAE,CAAC;oBACvD,MAAM,MAAM,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAwB,CAAC;oBAC1H,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,GAAI,MAA6C,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxH,MAAM,MAAM,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,kBAAkB,GAAqG;IAC3H,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC;IACvG,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;CAC/F,CAAC;AAEF,8GAA8G;AAC9G,MAAM,UAAU,uBAAuB,CAAC,MAA0B;IAChE,OAAO,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;SACtC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC;SACD,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAgB,EAAE,MAA0B;IACnF,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,6BAA6B,GAAG,CAAC,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,6BAA6B,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,uCAAuC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1K,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/I,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,6BAA6B,WAAW,CAAC,OAAO,IAAI,CAAC,CAAC;IAC1F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,4BAA4B,CAAC,CAAC;IACrF,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,uCAAuC,CAAC,CAAC;YAC/E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAChG,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAC;YAClE,IAAI,CAAC,SAAS,KAAK,mBAAmB,CAAC,KAAK,IAAI,SAAS,KAAK,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,kBAAkB,SAAS,8BAA8B,CAAC,CAAC;YACrL,IAAI,CAAC,SAAS,KAAK,mBAAmB,CAAC,GAAG,IAAI,SAAS,KAAK,iBAAiB,CAAC,MAAM,CAAC,IAAI,MAAM;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,kBAAkB,SAAS,+BAA+B,CAAC,CAAC;QACxL,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["import React from 'react';\nimport { HorizontalPlacement, ShellRegion, VerticalPlacement } from '@wildo-ai/presets-components-models';\n\nimport type { AppShellLayoutInfo } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\nimport { STATUS_BAR_PLACEMENTS } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\n\n/**\n * # Shell placement coverage\n *\n * A shell LAYOUT decides where the regions go; it must never decide WHETHER one appears. These helpers check that,\n * for any layout container — the 2D default, a 3D layout's own disposal, an application's custom layout — over every\n * configuration the shell can compute:\n *\n * - every region the configuration enables is placed exactly once, with the placement it is configured at;\n * - a region at a START or TOP edge comes before the content area in document order, and one at an END or BOTTOM\n * edge after it — so swapping two outlets is caught, not only omitting one;\n * - the content area is rendered once, and the overlays once.\n *\n * The expectation is derived from the CONFIGURATION, never from a layout, so a region added to the shell later and\n * missed by a layout fails the check.\n *\n * Use: replace each region component with {@link createShellRegionMarker} (the region wrappers are the modules\n * `~wildo-frontend-lib/components/navigation/app-level/ApplicationLevel_*`), render the layout container for each\n * {@link everyAppShellLayoutConfiguration}, and assert {@link shellPlacementViolations} is empty.\n */\n\n/** The attributes a region marker carries. */\nexport const SHELL_REGION_MARKER_ATTRIBUTE = 'data-test-shell-region';\nexport const SHELL_REGION_PLACEMENT_MARKER_ATTRIBUTE = 'data-test-shell-placement';\n\n/** A stand-in for a region component: an element naming the region and the placement it was rendered at. */\nexport function createShellRegionMarker(region: ShellRegion): (props: { placement?: string; position?: string }) => React.JSX.Element {\n return function ShellRegionMarker(props) {\n return React.createElement('div', {\n [SHELL_REGION_MARKER_ATTRIBUTE]: region,\n [SHELL_REGION_PLACEMENT_MARKER_ATTRIBUTE]: props.placement ?? props.position ?? '',\n });\n };\n}\n\n/** The layout flags the shell computes. Typed against `AppShellLayoutInfo`, so a renamed flag fails to compile. */\nconst LAYOUT_FLAGS: ReadonlyArray<keyof AppShellLayoutInfo> = [\n 'hasMenubar',\n 'hasSidebar',\n 'hasStatusBar',\n 'hasToolbar',\n 'hasActivityBar',\n 'hasUtilityPanel',\n 'hasQuickActionButton',\n];\nconst EDGE_PLACEMENTS = [HorizontalPlacement.START, HorizontalPlacement.END] as const;\n\n/**\n * Every configuration the shell can compute: each on/off combination of the region flags, with every placement the\n * configuration schemas admit (sidebar and utility panel at START or END, the status bar at `STATUS_BAR_PLACEMENTS`).\n */\nexport function* everyAppShellLayoutConfiguration(): Generator<AppShellLayoutInfo> {\n for (let mask = 0; mask < 1 << LAYOUT_FLAGS.length; mask += 1) {\n for (const sidebarPlacement of EDGE_PLACEMENTS) {\n for (const utilityPanelPlacement of EDGE_PLACEMENTS) {\n for (const statusBarPlacement of STATUS_BAR_PLACEMENTS) {\n const layout = { isLayoutReady: true, sidebarPlacement, utilityPanelPlacement, statusBarPlacement } as AppShellLayoutInfo;\n LAYOUT_FLAGS.forEach((flag, i) => { (layout as unknown as Record<string, boolean>)[flag] = Boolean(mask & (1 << i)); });\n yield layout;\n }\n }\n }\n }\n}\n\n/**\n * For each region a layout places through an outlet — every `ShellRegion` but the content area, which has its own\n * outlet — the placement a configuration expects it at: `''` for a region without an edge, `null` when the\n * configuration does not enable it. A `Record` over the enum, so a region added to `ShellRegion` fails to compile\n * HERE until the expectation knows it — and then every layout that forgets it fails its coverage test.\n */\nconst EXPECTED_PLACEMENT: Record<Exclude<ShellRegion, ShellRegion.CONTENT>, (layout: AppShellLayoutInfo) => string | null> = {\n [ShellRegion.ACTIVITY_BAR]: (layout) => (layout.hasActivityBar ? '' : null),\n [ShellRegion.MENUBAR]: (layout) => (layout.hasMenubar ? '' : null),\n [ShellRegion.TOOLBAR]: (layout) => (layout.hasToolbar ? '' : null),\n [ShellRegion.SIDEBAR]: (layout) => (layout.hasSidebar ? layout.sidebarPlacement : null),\n [ShellRegion.UTILITY_PANEL]: (layout) => (layout.hasUtilityPanel ? layout.utilityPanelPlacement : null),\n [ShellRegion.STATUS_BAR]: (layout) => (layout.hasStatusBar ? layout.statusBarPlacement : null),\n};\n\n/** The regions a configuration enables, as `region@placement` (no placement for a region without an edge). */\nexport function expectedShellPlacements(layout: AppShellLayoutInfo): string[] {\n return Object.entries(EXPECTED_PLACEMENT)\n .flatMap(([region, placementOf]) => {\n const placement = placementOf(layout);\n return placement === null ? [] : [`${region}@${placement}`];\n })\n .sort();\n}\n\n/**\n * What is wrong with a rendered layout for a configuration; empty when nothing is. `root` is what the layout\n * container rendered, with its region components replaced by {@link createShellRegionMarker}.\n */\nexport function shellPlacementViolations(root: ParentNode, layout: AppShellLayoutInfo): string[] {\n const violations: string[] = [];\n const markers = [...root.querySelectorAll(`[${SHELL_REGION_MARKER_ATTRIBUTE}]`)];\n const placed = markers.map((element) => `${element.getAttribute(SHELL_REGION_MARKER_ATTRIBUTE)}@${element.getAttribute(SHELL_REGION_PLACEMENT_MARKER_ATTRIBUTE)}`).sort();\n const expected = expectedShellPlacements(layout);\n if (JSON.stringify(placed) !== JSON.stringify(expected)) violations.push(`placed [${placed.join(', ')}], configured [${expected.join(', ')}]`);\n\n const mains = root.querySelectorAll(`main[data-component-area=\"${ShellRegion.CONTENT}\"]`);\n if (mains.length !== 1) violations.push(`${mains.length} content areas, expected 1`);\n const main = mains[0];\n if (main) {\n for (const marker of markers) {\n const placement = marker.getAttribute(SHELL_REGION_PLACEMENT_MARKER_ATTRIBUTE);\n const before = Boolean(marker.compareDocumentPosition(main) & Node.DOCUMENT_POSITION_FOLLOWING);\n const region = marker.getAttribute(SHELL_REGION_MARKER_ATTRIBUTE);\n if ((placement === HorizontalPlacement.START || placement === VerticalPlacement.TOP) && !before) violations.push(`${region} configured at ${placement} is placed after the content`);\n if ((placement === HorizontalPlacement.END || placement === VerticalPlacement.BOTTOM) && before) violations.push(`${region} configured at ${placement} is placed before the content`);\n }\n }\n return violations;\n}\n"]}
1
+ {"version":3,"file":"app-shell-placement-coverage.js","sourceRoot":"","sources":["../../../../src/testing/app-shell-placement-coverage.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { HorizontalPlacement, ShellRegion, VerticalPlacement } from '@wildo-ai/presets-components-models';\n\nimport type { AppShellLayoutInfo } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\nimport { STATUS_BAR_PLACEMENTS } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\n\n/**\n * # Shell placement coverage\n *\n * A shell LAYOUT decides where the regions go; it must never decide WHETHER one appears. These helpers check that,\n * for any layout container — the 2D default, a 3D layout's own disposal, an application's custom layout — over every\n * configuration the shell can compute:\n *\n * - every region the configuration enables is placed exactly once, with the placement it is configured at;\n * - a region at a START or TOP edge comes before the content area in document order, and one at an END or BOTTOM\n * edge after it — so swapping two outlets is caught, not only omitting one;\n * - the content area is rendered once, and the overlays once.\n *\n * The expectation is derived from the CONFIGURATION, never from a layout, so a region added to the shell later and\n * missed by a layout fails the check.\n *\n * Use: replace each region component with {@link createShellRegionMarker} (the region wrappers are the modules\n * `~wildo-frontend-lib/components/navigation/app-level/ApplicationLevel_*`), render the layout container for each\n * {@link everyAppShellLayoutConfiguration}, and assert {@link shellPlacementViolations} is empty.\n */\n\n/** The attributes a region marker carries. */\nexport const SHELL_REGION_MARKER_ATTRIBUTE = 'data-test-shell-region';\nexport const SHELL_REGION_PLACEMENT_MARKER_ATTRIBUTE = 'data-test-shell-placement';\n\n/** A stand-in for a region component: an element naming the region and the placement it was rendered at. */\nexport function createShellRegionMarker(region: ShellRegion): (props: { placement?: string; position?: string }) => React.JSX.Element {\n return function ShellRegionMarker(props) {\n return React.createElement('div', {\n [SHELL_REGION_MARKER_ATTRIBUTE]: region,\n [SHELL_REGION_PLACEMENT_MARKER_ATTRIBUTE]: props.placement ?? props.position ?? '',\n });\n };\n}\n\n/** The layout flags the shell computes. Typed against `AppShellLayoutInfo`, so a renamed flag fails to compile. */\nconst LAYOUT_FLAGS: ReadonlyArray<keyof AppShellLayoutInfo> = [\n 'hasMenubar',\n 'hasSidebar',\n 'hasStatusBar',\n 'hasToolbar',\n 'hasActivityBar',\n 'hasUtilityPanel',\n 'hasQuickActionButton',\n];\nconst EDGE_PLACEMENTS = [HorizontalPlacement.START, HorizontalPlacement.END] as const;\n\n/**\n * Every configuration the shell can compute: each on/off combination of the region flags, with every placement the\n * configuration schemas admit (sidebar and utility panel at START or END, the status bar at `STATUS_BAR_PLACEMENTS`).\n */\nexport function* everyAppShellLayoutConfiguration(): Generator<AppShellLayoutInfo> {\n for (let mask = 0; mask < 1 << LAYOUT_FLAGS.length; mask += 1) {\n for (const sidebarPlacement of EDGE_PLACEMENTS) {\n for (const utilityPanelPlacement of EDGE_PLACEMENTS) {\n for (const statusBarPlacement of STATUS_BAR_PLACEMENTS) {\n // Hosting a component in the chrome moves it out of its own region; these configurations host nothing.\n const layout = {\n isLayoutReady: true, sidebarPlacement, utilityPanelPlacement, statusBarPlacement,\n quickActionButtonHostedInChrome: false, utilityPanelHostedInChrome: false,\n } as AppShellLayoutInfo;\n LAYOUT_FLAGS.forEach((flag, i) => { (layout as unknown as Record<string, boolean>)[flag] = Boolean(mask & (1 << i)); });\n yield layout;\n }\n }\n }\n }\n}\n\n/**\n * For each region a layout places through an outlet — every `ShellRegion` but the content area, which has its own\n * outlet — the placement a configuration expects it at: `''` for a region without an edge, `null` when the\n * configuration does not enable it. A `Record` over the enum, so a region added to `ShellRegion` fails to compile\n * HERE until the expectation knows it — and then every layout that forgets it fails its coverage test.\n */\nconst EXPECTED_PLACEMENT: Record<Exclude<ShellRegion, ShellRegion.CONTENT>, (layout: AppShellLayoutInfo) => string | null> = {\n [ShellRegion.ACTIVITY_BAR]: (layout) => (layout.hasActivityBar ? '' : null),\n [ShellRegion.MENUBAR]: (layout) => (layout.hasMenubar ? '' : null),\n [ShellRegion.TOOLBAR]: (layout) => (layout.hasToolbar ? '' : null),\n [ShellRegion.SIDEBAR]: (layout) => (layout.hasSidebar ? layout.sidebarPlacement : null),\n [ShellRegion.UTILITY_PANEL]: (layout) => (layout.hasUtilityPanel && !layout.utilityPanelHostedInChrome ? layout.utilityPanelPlacement : null),\n [ShellRegion.STATUS_BAR]: (layout) => (layout.hasStatusBar ? layout.statusBarPlacement : null),\n};\n\n/** The regions a configuration enables, as `region@placement` (no placement for a region without an edge). */\nexport function expectedShellPlacements(layout: AppShellLayoutInfo): string[] {\n return Object.entries(EXPECTED_PLACEMENT)\n .flatMap(([region, placementOf]) => {\n const placement = placementOf(layout);\n return placement === null ? [] : [`${region}@${placement}`];\n })\n .sort();\n}\n\n/**\n * What is wrong with a rendered layout for a configuration; empty when nothing is. `root` is what the layout\n * container rendered, with its region components replaced by {@link createShellRegionMarker}.\n */\nexport function shellPlacementViolations(root: ParentNode, layout: AppShellLayoutInfo): string[] {\n const violations: string[] = [];\n const markers = [...root.querySelectorAll(`[${SHELL_REGION_MARKER_ATTRIBUTE}]`)];\n const placed = markers.map((element) => `${element.getAttribute(SHELL_REGION_MARKER_ATTRIBUTE)}@${element.getAttribute(SHELL_REGION_PLACEMENT_MARKER_ATTRIBUTE)}`).sort();\n const expected = expectedShellPlacements(layout);\n if (JSON.stringify(placed) !== JSON.stringify(expected)) violations.push(`placed [${placed.join(', ')}], configured [${expected.join(', ')}]`);\n\n const mains = root.querySelectorAll(`main[data-component-area=\"${ShellRegion.CONTENT}\"]`);\n if (mains.length !== 1) violations.push(`${mains.length} content areas, expected 1`);\n const main = mains[0];\n if (main) {\n for (const marker of markers) {\n const placement = marker.getAttribute(SHELL_REGION_PLACEMENT_MARKER_ATTRIBUTE);\n const before = Boolean(marker.compareDocumentPosition(main) & Node.DOCUMENT_POSITION_FOLLOWING);\n const region = marker.getAttribute(SHELL_REGION_MARKER_ATTRIBUTE);\n if ((placement === HorizontalPlacement.START || placement === VerticalPlacement.TOP) && !before) violations.push(`${region} configured at ${placement} is placed after the content`);\n if ((placement === HorizontalPlacement.END || placement === VerticalPlacement.BOTTOM) && before) violations.push(`${region} configured at ${placement} is placed before the content`);\n }\n }\n return violations;\n}\n"]}
@@ -1,4 +1,5 @@
1
- import type { FeatureConfiguration } from '@wildo-ai/saas-models';
1
+ import type { FeatureConfiguration, RolesConfiguration, UserSelfAccessProfile } from '@wildo-ai/saas-models';
2
+ import type { LauncherEffectiveRoles } from '../core/navigation/launcher-resolution';
2
3
  import type { ApplicationContextType } from '../core/runtime/ApplicationContext.shared';
3
4
  import type { I18nContextType } from '../core/i18n/I18nContext';
4
5
  import type { ResourcesRepositoryFrontendService } from '../core/resources/resources-repository.frontend.service';
@@ -86,4 +87,15 @@ export interface MockAppScopeInitOptions {
86
87
  * Minimal {@link AppScopeContextValue} for `AppScopeContext.Provider` overrides (Tier 3 tests).
87
88
  */
88
89
  export declare function createMinimalAppScopeContextValue(options?: MockAppScopeInitOptions): AppScopeContextValue;
90
+ /**
91
+ * A viewer's effective roles for a shell visibility test: the given roles, expanded against the application's real
92
+ * role tables (defaults plus `customRoles`) with unknown roles inert — what `useViewerEffectiveRoles` builds inside
93
+ * the application shell. Built from the real resolver so a test cannot hand-write tables the backend would not hold.
94
+ */
95
+ export declare function buildViewerEffectiveRoles(roles?: {
96
+ applicationRoles?: string[];
97
+ organizationRoles?: string[];
98
+ organizationId?: string | null;
99
+ accessProfile?: UserSelfAccessProfile | null;
100
+ }, customRoles?: RolesConfiguration): LauncherEffectiveRoles;
89
101
  //# sourceMappingURL=mock-builders.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock-builders.d.ts","sourceRoot":"","sources":["../../../../src/testing/mock-builders.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4DAA4D,CAAC;AACzG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAGjF,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,0EAA0E,CAAC;AACnI,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sEAAsE,CAAC;AAEnH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAEnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAgB7F,wBAAgB,oBAAoB,IAAI,sBAAsB,CAmB7D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,+BAA+B,CAC7C,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwBzB;AAED,wBAAgB,6BAA6B,IAAI,kCAAkC,CA0BlF;AAeD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,GAAE,OAAO,CAAC,eAAe,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAM,GAC9D,eAAe,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CA2HxC;AAsDD;;;;;;GAMG;AACH,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,sBAAsB,EAC5B,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACrC,sBAAsB,CAOxB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAC1C,sBAAsB,CA4CxB;AAED,wFAAwF;AACxF,wBAAgB,qCAAqC,IAAI,oBAAoB,CAe5E;AAED,MAAM,WAAW,0BAA0B;IACzC,wFAAwF;IACxF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,GAAE,0BAA+B,GACvC,sBAAsB,CA2DxB;AAED,MAAM,WAAW,uBAAuB;IACtC,4FAA4F;IAC5F,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,GAAE,uBAA4B,GACpC,mBAAmB,CAgCrB;AAED,MAAM,WAAW,uBAAuB;IACtC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,GAAE,uBAA4B,GACpC,oBAAoB,CAiDtB"}
1
+ {"version":3,"file":"mock-builders.d.ts","sourceRoot":"","sources":["../../../../src/testing/mock-builders.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE7G,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AACtG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4DAA4D,CAAC;AACzG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAIjF,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,0EAA0E,CAAC;AACnI,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sEAAsE,CAAC;AAEnH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAEnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAgB7F,wBAAgB,oBAAoB,IAAI,sBAAsB,CAmB7D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,+BAA+B,CAC7C,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4BzB;AAED,wBAAgB,6BAA6B,IAAI,kCAAkC,CA0BlF;AAeD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,GAAE,OAAO,CAAC,eAAe,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAM,GAC9D,eAAe,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAqIxC;AAsDD;;;;;;GAMG;AACH,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,sBAAsB,EAC5B,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACrC,sBAAsB,CAOxB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAC1C,sBAAsB,CA6CxB;AAED,wFAAwF;AACxF,wBAAgB,qCAAqC,IAAI,oBAAoB,CAe5E;AAED,MAAM,WAAW,0BAA0B;IACzC,wFAAwF;IACxF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,GAAE,0BAA+B,GACvC,sBAAsB,CA6DxB;AAED,MAAM,WAAW,uBAAuB;IACtC,4FAA4F;IAC5F,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,GAAE,uBAA4B,GACpC,mBAAmB,CAiCrB;AAED,MAAM,WAAW,uBAAuB;IACtC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,GAAE,uBAA4B,GACpC,oBAAoB,CAiDtB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,GAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,aAAa,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAA;CAAO,EACvJ,WAAW,CAAC,EAAE,kBAAkB,GAC/B,sBAAsB,CAQxB"}
@@ -5,8 +5,10 @@
5
5
  * Chaining (`.mockResolvedValue`, `.mockReturnValue`) is typed loosely: real `vi.fn`/`jest.fn`
6
6
  * provide these at runtime; we cast at the boundary to keep `dist/` free of Vitest imports.
7
7
  */
8
- import { AvailableLanguage, REGIONAL_FORMATTING_DEFAULTS, TextDirection, } from '@wildo-ai/presets-components-models';
8
+ import { AvailableLanguage, REGIONAL_FORMATTING_DEFAULTS, RegionalFormattingUtils, TextDirection, } from '@wildo-ai/presets-components-models';
9
9
  import { ActivationCriterionType, ClientInstanceIdScope, GovernedDocumentAcceptanceMode, GovernedDocumentApprovalGate, FeatureUnavailabilityBehavior, FeatureUnavailabilityReason, OrgAuthMethodPolicy, OrganizationProfileVisibility, UserProfileVisibility, } from '@wildo-ai/saas-models';
10
+ import { resolveApplicationRoleConfigurations, UnresolvableRoleTreatment } from '@wildo-ai/saas-models';
11
+ import { RegionalReaderStanding } from '../core/i18n/regional-preference-resolution.frontend.utils.js';
10
12
  import { MainContextInitComponents } from '../core/runtime/runtime.frontend.schemas.js';
11
13
  import { LoggerFrontendService } from '../core/monitoring/logger.frontend.service.js';
12
14
  import { createFrontendProviderRegistryFrontendService } from '../core/external-providers/frontend-provider-registry.frontend.service.js';
@@ -63,6 +65,10 @@ export function createMockManualCallsHttpClient(overrides = {}) {
63
65
  getAnalyticsMomentsAchieved: mock().mockResolvedValue({ moments: [] }),
64
66
  /** `AuthSessionContext.logout()` fire-and-forget revocation. */
65
67
  logoutFromBackend: mock().mockResolvedValue(undefined),
68
+ /** `AuthSessionContext.signOutEverywhere()` (#2317). */
69
+ logoutAllFromBackend: mock().mockResolvedValue(undefined),
70
+ listMySessions: mock().mockResolvedValue({ sessions: [] }),
71
+ revokeMySession: mock().mockResolvedValue(undefined),
66
72
  reAuthenticate: mock().mockResolvedValue({ reAuthToken: 'test-reauth-token' }),
67
73
  /** `FeaturesContext` resolves entitlements through the generic `get`. */
68
74
  get: mock().mockImplementation((url) => (typeof url === 'string' && url.includes('features/resolved')
@@ -138,6 +144,8 @@ export function createMockI18nValue(overrides = {}) {
138
144
  allowUserOverride: true,
139
145
  languagePreferences: null,
140
146
  regionalPreferences: null,
147
+ // A signed-in reader, so `resolvedRegionalPreferences` below is what the formatters honestly reflect.
148
+ regionalReaderStanding: RegionalReaderStanding.SIGNED_IN,
141
149
  // ── Actions ──
142
150
  changeLanguage: async () => undefined,
143
151
  loadTranslations: async () => undefined,
@@ -165,6 +173,7 @@ export function createMockI18nValue(overrides = {}) {
165
173
  tResourceFilterPreset: echoLabel,
166
174
  tSidebarSection: echoLabel,
167
175
  tSettingsHubCategory: (_categoryRef, fallbackLabel) => fallbackLabel,
176
+ tSettingsHubGroup: (_categoryRef, _groupRef, fallbackLabel) => fallbackLabel,
168
177
  tSettingsHubSection: (_sectionRef, fallbackLabel) => fallbackLabel,
169
178
  tCompositeView: echoLabel,
170
179
  tCompositeViewSection: echoLabel,
@@ -204,7 +213,14 @@ export function createMockI18nValue(overrides = {}) {
204
213
  // test that cares which mode was requested asserts it against the real formatter.
205
214
  formatDateForDisplayMode: (value) => String(value),
206
215
  formatDateTimeForDisplayMode: (value) => String(value),
216
+ formatDisplayRange: (range) => ({
217
+ from: range.from === undefined || range.from === null ? undefined : String(range.from),
218
+ to: range.to === undefined || range.to === null ? undefined : String(range.to),
219
+ }),
207
220
  formatNumber: (value) => String(value),
221
+ // The real formatter on the default config, so a component test reads what a reader would.
222
+ formatByteSize: (bytes, options) => RegionalFormattingUtils.formatByteSize(bytes, REGIONAL_FORMATTING_DEFAULTS, options),
223
+ formatList: (items, options) => RegionalFormattingUtils.formatList(items, REGIONAL_FORMATTING_DEFAULTS, options),
208
224
  // ── Component translation utilities ──
209
225
  hasComponentTranslations: () => true,
210
226
  getComponentKeys: () => [],
@@ -313,6 +329,7 @@ export function createMockApplicationContextValue(overrides) {
313
329
  userTypes: {},
314
330
  frontendServices: {},
315
331
  compliance: MOCK_TEST_COMPLIANCE,
332
+ enabledEngineCapabilities: [],
316
333
  },
317
334
  appIdentity,
318
335
  appPreferences: { languages: MOCK_APP_LANGUAGES },
@@ -394,10 +411,12 @@ export function createMockAuthSessionContextValue(options = {}) {
394
411
  getSessionState: mock().mockResolvedValue({}),
395
412
  isAuthenticated: () => !!auth.accessToken,
396
413
  logout: mock(),
414
+ signOutEverywhere: mock().mockResolvedValue(undefined),
397
415
  endSession: mock(),
398
416
  // A tab that loads with a stored token has RESUMED that session; one that signs in reports SIGNED_IN (#1977).
399
417
  getSessionEstablishment: mock().mockReturnValue(SessionEstablishment.RESUMED),
400
418
  getSessionEndReason: mock().mockReturnValue(SessionEndReason.SESSION_ENDED),
419
+ endedSessionReason: null,
401
420
  initiateOAuth2Login: mock().mockResolvedValue(undefined),
402
421
  handleAuthCodeExchange: mock().mockResolvedValue(undefined),
403
422
  handleEmailVerification: mock().mockResolvedValue(undefined),
@@ -447,6 +466,7 @@ export function createMinimalUserOrgsContextValue(options = {}) {
447
466
  primaryScopeInitiatorIds: null,
448
467
  privacy: null,
449
468
  setCurrentOrganization: mock(),
469
+ followRouteOrganization: mock().mockReturnValue(true),
450
470
  getCurrentOrganization: mock().mockReturnValue(null),
451
471
  refreshOrganizations: mock(),
452
472
  getPrivacy: mock().mockReturnValue(null),
@@ -503,4 +523,18 @@ export function createMinimalAppScopeContextValue(options = {}) {
503
523
  isLoading: false,
504
524
  };
505
525
  }
526
+ /**
527
+ * A viewer's effective roles for a shell visibility test: the given roles, expanded against the application's real
528
+ * role tables (defaults plus `customRoles`) with unknown roles inert — what `useViewerEffectiveRoles` builds inside
529
+ * the application shell. Built from the real resolver so a test cannot hand-write tables the backend would not hold.
530
+ */
531
+ export function buildViewerEffectiveRoles(roles = {}, customRoles) {
532
+ return {
533
+ applicationRoles: roles.applicationRoles ?? [],
534
+ organizationRoles: roles.organizationRoles ?? [],
535
+ roleTables: { ...resolveApplicationRoleConfigurations(customRoles), unresolvableRoles: UnresolvableRoleTreatment.INERT },
536
+ organizationId: roles.organizationId ?? null,
537
+ accessProfile: roles.accessProfile ?? null,
538
+ };
539
+ }
506
540
  //# sourceMappingURL=mock-builders.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock-builders.js","sourceRoot":"","sources":["../../../../src/testing/mock-builders.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Runner-agnostic mock builders for frontend engine tests.\n * Uses {@link getMockFn} — configure via {@link configureMockFactory} in setup.\n *\n * Chaining (`.mockResolvedValue`, `.mockReturnValue`) is typed loosely: real `vi.fn`/`jest.fn`\n * provide these at runtime; we cast at the boundary to keep `dist/` free of Vitest imports.\n */\nimport {\n AvailableLanguage,\n REGIONAL_FORMATTING_DEFAULTS,\n TextDirection,\n} from '@wildo-ai/presets-components-models';\nimport {\n ActivationCriterionType,\n ClientInstanceIdScope,\n GovernedDocumentAcceptanceMode,\n GovernedDocumentApprovalGate,\n FeatureUnavailabilityBehavior,\n FeatureUnavailabilityReason,\n OrgAuthMethodPolicy,\n OrganizationProfileVisibility,\n UserProfileVisibility,\n} from '@wildo-ai/saas-models';\nimport type { FeatureConfiguration } from '@wildo-ai/saas-models';\nimport type { ApplicationContextType } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport type { I18nContextType } from '~wildo-frontend-lib/core/i18n/I18nContext';\nimport { MainContextInitComponents } from '~wildo-frontend-lib/core/runtime/runtime.frontend.schemas';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport type { ResourcesRepositoryFrontendService } from '~wildo-frontend-lib/core/resources/resources-repository.frontend.service';\nimport type { WildoBackendHttpClient } from '~wildo-frontend-lib/core/requests/wildo-http-client.frontend.service';\nimport { createFrontendProviderRegistryFrontendService } from '~wildo-frontend-lib/core/external-providers/frontend-provider-registry.frontend.service';\nimport type { AppScopeContextValue } from '~wildo-frontend-lib/core/scope/AppScopeContext';\nimport { AppScopeSessionMode } from '~wildo-frontend-lib/core/scope/scope.frontend.schemas';\nimport type { AuthSessionContextType } from '~wildo-frontend-lib/core/security/AuthSessionContext';\nimport { RegistrationOutcome } from '~wildo-frontend-lib/core/security/registration-outcome.frontend.utils';\nimport type { UserOrgsContextType } from '~wildo-frontend-lib/core/security/UserOrgsContext';\nimport { EMPTY_AUTH_STATE, type AuthState } from '~wildo-frontend-lib/core/security/security.frontend.schemas';\nimport { getMockFn } from './mock-factory';\nimport { SessionEndReason, SessionEstablishment } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\n\n/** Chainable mock surface shared by Vitest and Jest mock functions. */\ntype ChainableMock = ((...args: unknown[]) => unknown) & {\n mockResolvedValue: (v: unknown) => ChainableMock;\n mockReturnValue: (v: unknown) => ChainableMock;\n mockImplementation: (fn: (...args: never[]) => unknown) => ChainableMock;\n};\n\nfunction mock(): ChainableMock {\n return getMockFn()() as ChainableMock;\n}\n\nexport function createMockHttpClient(): WildoBackendHttpClient {\n return {\n setAuthToken: mock(),\n clearAuthToken: mock(),\n setTokenRenewalHandler: mock(),\n setStepUpAuthHandler: mock(),\n setConsumableToken: mock(),\n setAnonymousSession: mock(),\n setAnonymousSessionTokenHandler: mock(),\n clearAnonymousSession: mock(),\n updateAnonymousSessionToken: mock(),\n /** Real client returns `config.baseURL || ''`; `''` models the same-origin deployment (relative API URLs). */\n getBaseURL: mock().mockReturnValue(''),\n get: mock().mockResolvedValue({}),\n post: mock().mockResolvedValue({}),\n put: mock().mockResolvedValue({}),\n patch: mock().mockResolvedValue({}),\n delete: mock().mockResolvedValue({}),\n } as unknown as WildoBackendHttpClient;\n}\n\n/**\n * Test double for the module-level `getManualCallsHttpClient()` singleton.\n *\n * It is built ON TOP of {@link createMockHttpClient} on purpose: the manual-calls\n * client EXTENDS `WildoBackendHttpClient`, and several contexts fan state out to\n * every client instance they can reach — `AnonymousSessionProvider` calls\n * `setAnonymousSessionTokenHandler` on both the application client and this one,\n * `AuthSessionProvider` calls `setAuthToken` / `setConsumableToken`. A hand-rolled\n * literal that lists \"the methods this test needs\" silently omits whichever setter\n * a provider picked up most recently and dies with `x is not a function` at mount.\n * Inheriting the base surface here means that class of drift is fixed once.\n *\n * `overrides` supplies the per-test behavior (auth responses, rejections, spies).\n */\nexport function createMockManualCallsHttpClient(\n overrides: Record<string, unknown> = {},\n): Record<string, unknown> {\n return {\n ...(createMockHttpClient() as unknown as Record<string, unknown>),\n\n /** `I18nContext` batch-fetches labels on a timer; every mock must answer or the flush throws. */\n getI18nLabels: mock().mockResolvedValue({ labels: {}, language: 'en' }),\n getI18nLabelsByKeys: mock().mockResolvedValue({ labels: {} }),\n getMilestoneDefinitions: mock().mockResolvedValue({ definitions: [] }),\n getAppConfig: mock().mockResolvedValue({}),\n getAnalyticsMomentsAchieved: mock().mockResolvedValue({ moments: [] }),\n\n /** `AuthSessionContext.logout()` fire-and-forget revocation. */\n logoutFromBackend: mock().mockResolvedValue(undefined),\n reAuthenticate: mock().mockResolvedValue({ reAuthToken: 'test-reauth-token' }),\n\n /** `FeaturesContext` resolves entitlements through the generic `get`. */\n get: mock().mockImplementation((url: string) => (\n typeof url === 'string' && url.includes('features/resolved')\n ? Promise.resolve({ features: [], limits: {}, currentUsage: {} })\n : Promise.resolve({})\n )),\n\n ...overrides,\n };\n}\n\nexport function createMockResourcesRepository(): ResourcesRepositoryFrontendService {\n const mockHttpClient = {\n doOperation: mock().mockResolvedValue({}),\n executeSearchOperation: mock().mockResolvedValue({ data: [], total: 0 }),\n setAuthToken: mock(),\n clearAuthToken: mock(),\n setTokenRenewalHandler: mock(),\n setStepUpAuthHandler: mock(),\n setConsumableToken: mock(),\n get: mock().mockResolvedValue({ systems: [] }),\n getAvailableOperationPaths: mock().mockReturnValue([]),\n };\n\n // Distinct from the resources client above — mirrors the real runtime where the\n // base application HTTP client (used by file uploads) is a separate instance that\n // the registry must also fan the auth token out to.\n const mockApplicationHttpClient = createMockHttpClient();\n\n return {\n getResourcesRegistry: mock().mockReturnValue({\n resourceConfigurations: {},\n relationshipsMap: {},\n }),\n getResourcesHttpClient: mock().mockReturnValue(mockHttpClient),\n getApplicationHttpClient: mock().mockReturnValue(mockApplicationHttpClient),\n } as unknown as ResourcesRepositoryFrontendService;\n}\n\n/**\n * Echo translator: returns the LAST string argument, which is the label key in\n * every `t*` signature (`t(key)`, `tComponent(type, key)`, `tView(family, ref, key)`,\n * `tResourceHeader(resource, 'title')`, …). Tests therefore assert on the key,\n * exactly like the hand-rolled `(_type, key) => key` mocks this replaces.\n */\nfunction echoLabel(...args: unknown[]): string {\n for (let i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'string') return args[i] as string;\n }\n return '';\n}\n\n/**\n * Full `useI18n()` return value as a test double.\n *\n * Why this is one exhaustive literal rather than a per-test partial object:\n * `useI18n()` spreads the whole `I18nContextType`, and engine components call\n * whichever helper they need (`ViewLayout_Header` reaches for `tView`, action\n * bars for `tResourceOperation`, …). A partial `vi.mock` factory that lists only\n * the two helpers a test happened to need throws `X is not a function` the moment\n * a rendered component picks up another one — silently, in every test file at\n * once. The return type is pinned to `I18nContextType`, so ADDING a helper to the\n * context makes THIS file fail `pnpm typecheck` — a compile error in one place\n * instead of runtime failures spread across the suite.\n *\n * Every helper echoes its label key (see {@link echoLabel}); pass `overrides` for\n * the handful of values a test actually asserts on.\n */\nexport function createMockI18nValue(\n overrides: Partial<I18nContextType & { isReady: boolean }> = {},\n): I18nContextType & { isReady: boolean } {\n const value: I18nContextType & { isReady: boolean } = {\n // ── State ──\n currentLanguage: AvailableLanguage.EN,\n dir: TextDirection.LTR,\n translations: {},\n isLoading: false,\n isReady: true,\n availableLanguages: [AvailableLanguage.EN],\n enableLanguageSwitcher: false,\n allowUserOverride: true,\n languagePreferences: null,\n regionalPreferences: null,\n\n // ── Actions ──\n changeLanguage: async () => undefined,\n loadTranslations: async () => undefined,\n\n // ── Helpers ──\n t: echoLabel,\n getLanguageName: (language) => String(language),\n isLanguageSupported: () => true,\n getLanguagePreferences: () => null,\n getRegionalPreferences: () => null,\n\n // ── Structured labelling helpers ──\n tResourceHeader: echoLabel,\n tResourceEmptyState: echoLabel,\n tResourceOperation: echoLabel,\n tResourceFieldDisplay: echoLabel,\n tResourceFieldEdit: echoLabel,\n tResourceFieldEnumValue: echoLabel,\n tErrorValidation: echoLabel,\n tComponent: echoLabel,\n tErrorMessage: echoLabel,\n tErrorGuidance: echoLabel,\n tNotificationCustom: echoLabel,\n tSystemEnum: echoLabel,\n tResourceSection: echoLabel,\n tResourceWizardStep: echoLabel,\n tResourceFilterPreset: echoLabel,\n tSidebarSection: echoLabel,\n tSettingsHubCategory: (_categoryRef, fallbackLabel) => fallbackLabel,\n tSettingsHubSection: (_sectionRef, fallbackLabel) => fallbackLabel,\n tCompositeView: echoLabel,\n tCompositeViewSection: echoLabel,\n tView: echoLabel,\n\n // ── Guidance ──\n tGuidanceFlow: echoLabel,\n tGuidanceElement: echoLabel,\n tGuidanceTourStep: echoLabel,\n tGuidanceSurveyQuestion: echoLabel,\n makeTrGuidanceElement: () => echoLabel,\n\n // ── Milestones ──\n tMilestone: echoLabel,\n tMilestoneReward: echoLabel,\n makeTrMilestone: () => echoLabel,\n\n // ── Lifecycle ──\n tLifecycle: echoLabel,\n tLifecycleStage: echoLabel,\n /** Echo the criterion's source ref — the discriminant decides which one carries it. */\n tActivationCriterion: (criterion) => (\n criterion.criterionType === ActivationCriterionType.MILESTONE\n ? criterion.milestoneRef\n : criterion.guidanceFlowRef\n ),\n tMilestoneCategory: echoLabel,\n\n // ── Billing ──\n tBillingProduct: echoLabel,\n tBillingFeature: echoLabel,\n tBillingLimit: echoLabel,\n tBillingCreditPool: echoLabel,\n\n // ── Roles ──\n tRole: echoLabel,\n\n // ── Regional formatting ──\n resolvedRegionalPreferences: REGIONAL_FORMATTING_DEFAULTS,\n formatDate: (value) => String(value),\n formatTime: (value) => String(value),\n formatDateTime: (value) => String(value),\n // Echoes the value like its siblings, and IGNORES the mode on purpose. A mock that phrased\n // relatively would make every assertion about a temporal field depend on the wall clock; a\n // test that cares which mode was requested asserts it against the real formatter.\n formatDateForDisplayMode: (value) => String(value),\n formatDateTimeForDisplayMode: (value) => String(value),\n formatNumber: (value) => String(value),\n\n // ── Component translation utilities ──\n hasComponentTranslations: () => true,\n getComponentKeys: () => [],\n\n // ── Lazy key loading ──\n requestKeys: async () => undefined,\n isKeyLoaded: () => true,\n // Settled AND loaded in the mock: a test that wants the failed-bundle path overrides this.\n isKeySettled: () => true,\n getKeyStatus: () => 'loaded',\n requestComponentKeys: async () => undefined,\n requestResourceKeys: async () => undefined,\n\n // ── Curried resource helpers ──\n makeTrResourceHeader: () => echoLabel,\n makeTrResourceEmptyState: () => echoLabel,\n makeTrResourceOperation: () => echoLabel,\n makeTrResourceFieldDisplay: () => echoLabel,\n makeTrResourceFieldEdit: () => echoLabel,\n makeTrResourceFieldEnum: () => echoLabel,\n makeTrErrorMessage: () => echoLabel,\n makeTrErrorGuidance: () => echoLabel,\n makeTrNotificationCustom: () => echoLabel,\n makeTrErrorValidation: () => echoLabel,\n makeTrComponent: () => echoLabel,\n makeTrSystemEnum: () => echoLabel,\n\n ...overrides,\n };\n\n return value;\n}\n\n/** Shared language block — matches `AppConfiguration_Shared_AppPreferencesLanguage` defaults. */\nconst MOCK_APP_LANGUAGES: NonNullable<ApplicationContextType['appPreferences']['languages']> = {\n defaultLanguage: AvailableLanguage.EN,\n enabledLanguages: [AvailableLanguage.EN],\n fallbackLanguage: AvailableLanguage.EN,\n autoDetectFromBrowser: true,\n allowUserOverride: true,\n allowOrganizationOverride: true,\n enableLanguageSwitcher: true,\n};\n\n/** Include `main_backend_api` for AuthSession WebSocket URL derivation, FlowsActors init, etc. */\nconst MOCK_TEST_RUNTIME: ApplicationContextType['runtime'] = {\n endPoints: {\n api: { publicUrl: 'http://localhost:3000' },\n main_backend_api: { publicUrl: 'http://localhost:3000' },\n },\n};\n\nconst MOCK_TEST_AUTH: ApplicationContextType['auth'] = {\n passkeyConfig: { rpName: 'Vitest', rpId: 'localhost', maxPasskeysPerUser: 10 },\n socialOAuth2Providers: {},\n orgAuthMethodPolicy: OrgAuthMethodPolicy.RESTRICT_ONLY,\n crossOrgSSOAccess: true,\n};\n\nconst MOCK_TEST_COMPLIANCE: ApplicationContextType['compliance'] = {\n userProfileVisibility: UserProfileVisibility.ORGANIZATION,\n organizationProfileVisibility: OrganizationProfileVisibility.PRIVATE,\n // Mirrors the framework default: client-install identification is OPT-IN and OFF unless an\n // application authors it (Fork D / SD9), so the shared test context must not imply otherwise.\n clientInstanceIdScope: ClientInstanceIdScope.DISABLED,\n // Same posture for the same reason: an application declares its governed-document releases or has\n // none, so the shared test context renders the registration form a document-less app gets — no\n // consent control, nothing to accept (issue #54).\n governedDocumentReleases: [],\n // Same posture again (#168): an application SERVES a public governed document or serves none, so\n // the shared test context renders what a document-less app gets — `/privacy` and `/terms` reach\n // the page and it fails closed, which is the contract rather than an edge case.\n publicDocuments: [],\n // The framework default, stated rather than inherited: the shared test context renders the\n // clickwrap shape registration has always shipped, so a test that does not care about the\n // acceptance mode never silently exercises a weaker one (#1258).\n governedDocumentAcceptanceMode: GovernedDocumentAcceptanceMode.EXPLICIT_CHECKBOX,\n // The framework default (#1565): the shared test context shows and asks for unapproved releases,\n // as every application does until it arms the gate.\n governedDocumentApprovalGate: GovernedDocumentApprovalGate.UNARMED,\n // Same posture again (#1462): no resource operation declares a `consentGate` in the shared test\n // context, so the derived set is empty — the same observable state as before this field existed.\n capabilityDeclaredConsentPurposes: [],\n};\n\n/**\n * Merges a partial `ApplicationContextType` into a base value.\n *\n * Top-level keys follow object spread. **`appConfig` is merged one level** so\n * overrides like `{ appConfig: { analytics: { enabled: true } } }` keep\n * `apiJwtPublicKey`, `userTypes`, etc. from `base`.\n */\nexport function mergeMockApplicationContextOverrides(\n base: ApplicationContextType,\n patch: Partial<ApplicationContextType>,\n): ApplicationContextType {\n return {\n ...base,\n ...patch,\n appConfig:\n patch.appConfig !== undefined ? { ...base.appConfig, ...patch.appConfig } : base.appConfig,\n };\n}\n\n/**\n * Builds a minimal valid `ApplicationContextType` for tests.\n */\nexport function createMockApplicationContextValue(\n overrides?: Partial<ApplicationContextType>,\n): ApplicationContextType {\n const appIdentity: ApplicationContextType['appIdentity'] = {\n appName: 'test-app',\n version: '1.0.0',\n };\n\n const base: ApplicationContextType = {\n appConfig: {\n appIdentity,\n appPreferences: { languages: MOCK_APP_LANGUAGES },\n apiJwtPublicKey: 'test-api-jwt-public-key',\n runtime: MOCK_TEST_RUNTIME,\n auth: MOCK_TEST_AUTH,\n userTypes: {},\n frontendServices: {},\n compliance: MOCK_TEST_COMPLIANCE,\n },\n appIdentity,\n appPreferences: { languages: MOCK_APP_LANGUAGES },\n runtime: MOCK_TEST_RUNTIME,\n auth: MOCK_TEST_AUTH,\n compliance: MOCK_TEST_COMPLIANCE,\n frontendConfiguration: {\n appComponentsConfiguration: {},\n } as unknown as ApplicationContextType['frontendConfiguration'],\n logger: LoggerFrontendService.getLogger(),\n httpClient: createMockHttpClient(),\n frontendProviderRegistry: createFrontendProviderRegistryFrontendService(),\n isInitialized: true,\n version: '1.0.0',\n initializationStatus: {\n [MainContextInitComponents.MAIN_CONTEXT]: true,\n [MainContextInitComponents.UI]: true,\n [MainContextInitComponents.LOADER]: true,\n [MainContextInitComponents.ERRORS]: true,\n [MainContextInitComponents.ROUTER]: true,\n [MainContextInitComponents.I18N]: true,\n [MainContextInitComponents.APP_MAIN_CONTAINER]: true,\n [MainContextInitComponents.PUBLIC_APP_CONTAINER]: true,\n },\n markComponentInitialized: mock(),\n };\n\n return overrides ? mergeMockApplicationContextOverrides(base, overrides) : base;\n}\n\n/** Minimal valid {@link FeatureConfiguration} for {@link FeaturesProvider} in tests. */\nexport function createMinimalTestFeatureConfiguration(): FeatureConfiguration {\n return {\n definitions: [],\n profiles: {},\n unavailabilityPolicy: {\n defaultBehavior: FeatureUnavailabilityBehavior.UPGRADE_PROMPT,\n whenBillingDisabled: FeatureUnavailabilityBehavior.HIDE,\n roleDefaults: {},\n reasonDefaults: {\n [FeatureUnavailabilityReason.FEATURE_NOT_ENABLED]: FeatureUnavailabilityBehavior.UPGRADE_PROMPT,\n [FeatureUnavailabilityReason.LIMIT_EXCEEDED]: FeatureUnavailabilityBehavior.LIMIT_UPGRADE_PROMPT,\n [FeatureUnavailabilityReason.NOT_CONFIGURED]: FeatureUnavailabilityBehavior.HIDE,\n },\n },\n };\n}\n\nexport interface MockAuthSessionInitOptions {\n /** When true (default), {@link AuthSessionContextType.isAuthenticated} returns true. */\n authenticated?: boolean;\n}\n\n/**\n * Full {@link AuthSessionContextType} for `AuthSessionContext.Provider` overrides (Tier 3 tests).\n */\nexport function createMockAuthSessionContextValue(\n options: MockAuthSessionInitOptions = {},\n): AuthSessionContextType {\n const authenticated = options.authenticated !== false;\n const auth: AuthState = {\n ...EMPTY_AUTH_STATE,\n ...(authenticated ? { accessToken: 'test-access-token' } : {}),\n };\n\n // Auth-hardening A-Step 6: `AuthenticationResponse` no longer carries\n // `refreshToken` (the cookie does). Tests that exercised body-channel\n // rotation pre-A-Step-6 should now assert on `Set-Cookie` headers.\n const asyncAuthResp = mock().mockResolvedValue({\n success: true,\n accessToken: 'x',\n });\n\n return {\n auth,\n tokenStorage: {\n getAccessToken: () => auth.accessToken,\n // `EphemeralSessionTokenStorage` still exposes `getRefreshToken()`\n // for one-off / test contexts; the persistent storage adapter\n // returns `null` permanently post-A-Step-3. Mock surfaces `null`\n // by default — override per-test if a one-off scenario needs it.\n getRefreshToken: () => null,\n storeTokens: mock(),\n getOrganizationId: mock().mockReturnValue(null),\n setOrganizationId: mock(),\n clear: mock(),\n },\n identifyByEmail: mock().mockResolvedValue({}),\n authenticateWithPassword: asyncAuthResp,\n authenticate: asyncAuthResp,\n getSessionState: mock().mockResolvedValue({}),\n isAuthenticated: () => !!auth.accessToken,\n logout: mock(),\n endSession: mock(),\n // A tab that loads with a stored token has RESUMED that session; one that signs in reports SIGNED_IN (#1977).\n getSessionEstablishment: mock().mockReturnValue(SessionEstablishment.RESUMED),\n getSessionEndReason: mock().mockReturnValue(SessionEndReason.SESSION_ENDED),\n initiateOAuth2Login: mock().mockResolvedValue(undefined),\n handleAuthCodeExchange: mock().mockResolvedValue(undefined),\n handleEmailVerification: mock().mockResolvedValue(undefined),\n acceptInvitation: mock().mockResolvedValue({}),\n // An answer that adopts no auth state — a test driving sign-in or enrollment overrides it.\n registerAccount: mock().mockResolvedValue(RegistrationOutcome.EMAIL_VERIFICATION_PENDING),\n handleMagicLinkVerify: asyncAuthResp,\n handleMfaVerify: asyncAuthResp,\n completeEnrollmentSession: mock().mockReturnValue(false),\n adoptPendingMfaSession: mock().mockReturnValue(false),\n completeOrganizationOnboarding: mock().mockResolvedValue(undefined),\n abandonOrganizationOnboarding: mock(),\n handlePasskeyAuth: asyncAuthResp,\n signInWithPasskey: asyncAuthResp,\n handleOneOffTokenExchange: mock().mockResolvedValue(undefined),\n markSessionRestored: mock(),\n setSessionRestoring: mock(),\n connectWebSocket: mock(),\n notifyOrganizationSwitch: mock(),\n } as unknown as AuthSessionContextType;\n}\n\nexport interface MockUserOrgsInitOptions {\n /** When true (default), `isAuthenticated()` is true (Guidance / progression init paths). */\n authenticated?: boolean;\n}\n\n/**\n * Minimal {@link UserOrgsContextType} for `UserOrgsContext.Provider` overrides (Tier 3 tests).\n */\nexport function createMinimalUserOrgsContextValue(\n options: MockUserOrgsInitOptions = {},\n): UserOrgsContextType {\n const authenticated = options.authenticated !== false;\n const auth: AuthState = {\n ...EMPTY_AUTH_STATE,\n ...(authenticated ? { accessToken: 'test-access-token', refreshToken: 'test-refresh-token' } : {}),\n };\n\n const asyncAuth = mock().mockResolvedValue({ success: true });\n\n return {\n auth,\n identifyByEmail: mock(),\n authenticateWithPassword: asyncAuth,\n authenticate: asyncAuth,\n getSessionState: mock(),\n isAuthenticated: () => !!auth.accessToken,\n logout: mock(),\n restoreSession: mock().mockResolvedValue(false),\n initiateOAuth2Login: mock(),\n handleAuthCodeExchange: mock(),\n user: null,\n organizations: [],\n currentOrganizationId: null,\n permissions: null,\n primaryScopeInitiatorIds: null,\n privacy: null,\n setCurrentOrganization: mock(),\n getCurrentOrganization: mock().mockReturnValue(null),\n refreshOrganizations: mock(),\n getPrivacy: mock().mockReturnValue(null),\n recordConsentDecision: mock().mockResolvedValue({ consentedPurposes: [] }),\n } as unknown as UserOrgsContextType;\n}\n\nexport interface MockAppScopeInitOptions {\n currentOrganizationId?: string | null;\n currentUserId?: string | null;\n currentApplicationId?: string | null;\n currentAnonymousUserId?: string | null;\n sessionMode?: AppScopeSessionMode;\n}\n\n/**\n * Minimal {@link AppScopeContextValue} for `AppScopeContext.Provider` overrides (Tier 3 tests).\n */\nexport function createMinimalAppScopeContextValue(\n options: MockAppScopeInitOptions = {},\n): AppScopeContextValue {\n const currentOrganizationId = options.currentOrganizationId ?? null;\n const currentUserId = options.currentUserId ?? 'test-user-id';\n const currentApplicationId = options.currentApplicationId ?? null;\n const currentAnonymousUserId = options.currentAnonymousUserId ?? null;\n\n const primaryScopeValues = {\n organizationId: currentOrganizationId,\n userId: currentUserId,\n applicationId: currentApplicationId,\n anonymousUserId: currentAnonymousUserId,\n };\n\n return {\n primaryScopeValues,\n customScopeValues: {},\n allScopeValues: { ...primaryScopeValues },\n sessionMode: options.sessionMode ?? AppScopeSessionMode.AUTHENTICATED_PERSISTENT,\n currentOrganizationId,\n currentUserId,\n currentApplicationId,\n currentAnonymousUserId,\n primaryScopeFields: [],\n customScopeFields: [],\n setScopeValue: () => undefined,\n clearCustomScopeValues: () => undefined,\n dependencies: [],\n getDependentFields: () => [],\n buildContextResourceIdentifiers: () =>\n currentOrganizationId ? { organizationId: currentOrganizationId } : {},\n buildContextualParameters: () => {\n const parameters: Record<string, string | string[]> = {};\n if (currentOrganizationId) {\n parameters.organizationId = currentOrganizationId;\n }\n if (currentUserId) {\n parameters.userId = currentUserId;\n }\n if (currentApplicationId) {\n parameters.applicationId = currentApplicationId;\n }\n if (currentAnonymousUserId) {\n parameters.anonymousUserId = currentAnonymousUserId;\n }\n return parameters;\n },\n isReady: true,\n isLoading: false,\n };\n}\n"]}
1
+ {"version":3,"file":"mock-builders.js","sourceRoot":"","sources":["../../../../src/testing/mock-builders.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EACL,iBAAiB,EACjB,4BAA4B,EAC5B,uBAAuB,EACvB,aAAa,GACd,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,8BAA8B,EAC9B,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,EAC3B,mBAAmB,EACnB,6BAA6B,EAC7B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oCAAoC,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAIxG,OAAO,EAAE,sBAAsB,EAAE,MAAM,6EAA6E,CAAC;AACrH,OAAO,EAAE,yBAAyB,EAAE,MAAM,2DAA2D,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AAGpG,OAAO,EAAE,6CAA6C,EAAE,MAAM,yFAAyF,CAAC;AAExJ,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAE5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uEAAuE,CAAC;AAE5G,OAAO,EAAE,gBAAgB,EAAkB,MAAM,6DAA6D,CAAC;AAC/G,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,yDAAyD,CAAC;AASjH,SAAS,IAAI;IACX,OAAO,SAAS,EAAE,EAAmB,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,YAAY,EAAE,IAAI,EAAE;QACpB,cAAc,EAAE,IAAI,EAAE;QACtB,sBAAsB,EAAE,IAAI,EAAE;QAC9B,oBAAoB,EAAE,IAAI,EAAE;QAC5B,kBAAkB,EAAE,IAAI,EAAE;QAC1B,mBAAmB,EAAE,IAAI,EAAE;QAC3B,+BAA+B,EAAE,IAAI,EAAE;QACvC,qBAAqB,EAAE,IAAI,EAAE;QAC7B,2BAA2B,EAAE,IAAI,EAAE;QACnC,8GAA8G;QAC9G,UAAU,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;QACtC,GAAG,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACjC,IAAI,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAClC,GAAG,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACjC,KAAK,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACnC,MAAM,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;KACA,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,+BAA+B,CAC7C,YAAqC,EAAE;IAEvC,OAAO;QACL,GAAI,oBAAoB,EAAyC;QAEjE,iGAAiG;QACjG,aAAa,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACvE,mBAAmB,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAC7D,uBAAuB,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QACtE,YAAY,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC1C,2BAA2B,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAEtE,gEAAgE;QAChE,iBAAiB,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACtD,wDAAwD;QACxD,oBAAoB,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACzD,cAAc,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC1D,eAAe,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACpD,cAAc,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;QAE9E,yEAAyE;QACzE,GAAG,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,CAC9C,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAC1D,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;YACjE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CACxB,CAAC;QAEF,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,MAAM,cAAc,GAAG;QACrB,WAAW,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACzC,sBAAsB,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACxE,YAAY,EAAE,IAAI,EAAE;QACpB,cAAc,EAAE,IAAI,EAAE;QACtB,sBAAsB,EAAE,IAAI,EAAE;QAC9B,oBAAoB,EAAE,IAAI,EAAE;QAC5B,kBAAkB,EAAE,IAAI,EAAE;QAC1B,GAAG,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC9C,0BAA0B,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;KACvD,CAAC;IAEF,gFAAgF;IAChF,kFAAkF;IAClF,oDAAoD;IACpD,MAAM,yBAAyB,GAAG,oBAAoB,EAAE,CAAC;IAEzD,OAAO;QACL,oBAAoB,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC;YAC3C,sBAAsB,EAAE,EAAE;YAC1B,gBAAgB,EAAE,EAAE;SACrB,CAAC;QACF,sBAAsB,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,cAAc,CAAC;QAC9D,wBAAwB,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,yBAAyB,CAAC;KAC3B,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,GAAG,IAAe;IACnC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,CAAC,CAAW,CAAC;IAC5D,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,mBAAmB,CACjC,YAA6D,EAAE;IAE/D,MAAM,KAAK,GAA2C;QACpD,cAAc;QACd,eAAe,EAAE,iBAAiB,CAAC,EAAE;QACrC,GAAG,EAAE,aAAa,CAAC,GAAG;QACtB,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,IAAI;QACb,kBAAkB,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC1C,sBAAsB,EAAE,KAAK;QAC7B,iBAAiB,EAAE,IAAI;QACvB,mBAAmB,EAAE,IAAI;QACzB,mBAAmB,EAAE,IAAI;QACzB,sGAAsG;QACtG,sBAAsB,EAAE,sBAAsB,CAAC,SAAS;QAExD,gBAAgB;QAChB,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACrC,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QAEvC,gBAAgB;QAChB,CAAC,EAAE,SAAS;QACZ,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC/C,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI;QAC/B,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI;QAClC,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI;QAElC,qCAAqC;QACrC,eAAe,EAAE,SAAS;QAC1B,mBAAmB,EAAE,SAAS;QAC9B,kBAAkB,EAAE,SAAS;QAC7B,qBAAqB,EAAE,SAAS;QAChC,kBAAkB,EAAE,SAAS;QAC7B,uBAAuB,EAAE,SAAS;QAClC,gBAAgB,EAAE,SAAS;QAC3B,UAAU,EAAE,SAAS;QACrB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,SAAS;QACzB,mBAAmB,EAAE,SAAS;QAC9B,WAAW,EAAE,SAAS;QACtB,gBAAgB,EAAE,SAAS;QAC3B,mBAAmB,EAAE,SAAS;QAC9B,qBAAqB,EAAE,SAAS;QAChC,eAAe,EAAE,SAAS;QAC1B,oBAAoB,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE,CAAC,aAAa;QACpE,iBAAiB,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,CAAC,aAAa;QAC5E,mBAAmB,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE,CAAC,aAAa;QAClE,cAAc,EAAE,SAAS;QACzB,qBAAqB,EAAE,SAAS;QAChC,KAAK,EAAE,SAAS;QAEhB,iBAAiB;QACjB,aAAa,EAAE,SAAS;QACxB,gBAAgB,EAAE,SAAS;QAC3B,iBAAiB,EAAE,SAAS;QAC5B,uBAAuB,EAAE,SAAS;QAClC,qBAAqB,EAAE,GAAG,EAAE,CAAC,SAAS;QAEtC,mBAAmB;QACnB,UAAU,EAAE,SAAS;QACrB,gBAAgB,EAAE,SAAS;QAC3B,eAAe,EAAE,GAAG,EAAE,CAAC,SAAS;QAEhC,kBAAkB;QAClB,UAAU,EAAE,SAAS;QACrB,eAAe,EAAE,SAAS;QAC1B,uFAAuF;QACvF,oBAAoB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CACnC,SAAS,CAAC,aAAa,KAAK,uBAAuB,CAAC,SAAS;YAC3D,CAAC,CAAC,SAAS,CAAC,YAAY;YACxB,CAAC,CAAC,SAAS,CAAC,eAAe,CAC9B;QACD,kBAAkB,EAAE,SAAS;QAE7B,gBAAgB;QAChB,eAAe,EAAE,SAAS;QAC1B,eAAe,EAAE,SAAS;QAC1B,aAAa,EAAE,SAAS;QACxB,kBAAkB,EAAE,SAAS;QAE7B,cAAc;QACd,KAAK,EAAE,SAAS;QAEhB,4BAA4B;QAC5B,2BAA2B,EAAE,4BAA4B;QACzD,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QACpC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QACpC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QACxC,2FAA2F;QAC3F,2FAA2F;QAC3F,kFAAkF;QAClF,wBAAwB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QAClD,4BAA4B,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QACtD,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YACtF,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK,SAAS,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;SAC/E,CAAC;QACF,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QACtC,2FAA2F;QAC3F,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,uBAAuB,CAAC,cAAc,CAAC,KAAK,EAAE,4BAA4B,EAAE,OAAO,CAAC;QACxH,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,uBAAuB,CAAC,UAAU,CAAC,KAAK,EAAE,4BAA4B,EAAE,OAAO,CAAC;QAEhH,wCAAwC;QACxC,wBAAwB,EAAE,GAAG,EAAE,CAAC,IAAI;QACpC,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAE;QAE1B,yBAAyB;QACzB,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QAClC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;QACvB,2FAA2F;QAC3F,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ;QAC5B,oBAAoB,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QAC3C,mBAAmB,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QAE1C,iCAAiC;QACjC,oBAAoB,EAAE,GAAG,EAAE,CAAC,SAAS;QACrC,wBAAwB,EAAE,GAAG,EAAE,CAAC,SAAS;QACzC,uBAAuB,EAAE,GAAG,EAAE,CAAC,SAAS;QACxC,0BAA0B,EAAE,GAAG,EAAE,CAAC,SAAS;QAC3C,uBAAuB,EAAE,GAAG,EAAE,CAAC,SAAS;QACxC,uBAAuB,EAAE,GAAG,EAAE,CAAC,SAAS;QACxC,kBAAkB,EAAE,GAAG,EAAE,CAAC,SAAS;QACnC,mBAAmB,EAAE,GAAG,EAAE,CAAC,SAAS;QACpC,wBAAwB,EAAE,GAAG,EAAE,CAAC,SAAS;QACzC,qBAAqB,EAAE,GAAG,EAAE,CAAC,SAAS;QACtC,eAAe,EAAE,GAAG,EAAE,CAAC,SAAS;QAChC,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS;QAEjC,GAAG,SAAS;KACb,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iGAAiG;AACjG,MAAM,kBAAkB,GAAuE;IAC7F,eAAe,EAAE,iBAAiB,CAAC,EAAE;IACrC,gBAAgB,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACxC,gBAAgB,EAAE,iBAAiB,CAAC,EAAE;IACtC,qBAAqB,EAAE,IAAI;IAC3B,iBAAiB,EAAE,IAAI;IACvB,yBAAyB,EAAE,IAAI;IAC/B,sBAAsB,EAAE,IAAI;CAC7B,CAAC;AAEF,kGAAkG;AAClG,MAAM,iBAAiB,GAAsC;IAC3D,SAAS,EAAE;QACT,GAAG,EAAE,EAAE,SAAS,EAAE,uBAAuB,EAAE;QAC3C,gBAAgB,EAAE,EAAE,SAAS,EAAE,uBAAuB,EAAE;KACzD;CACF,CAAC;AAEF,MAAM,cAAc,GAAmC;IACrD,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,EAAE;IAC9E,qBAAqB,EAAE,EAAE;IACzB,mBAAmB,EAAE,mBAAmB,CAAC,aAAa;IACtD,iBAAiB,EAAE,IAAI;CACxB,CAAC;AAEF,MAAM,oBAAoB,GAAyC;IACjE,qBAAqB,EAAE,qBAAqB,CAAC,YAAY;IACzD,6BAA6B,EAAE,6BAA6B,CAAC,OAAO;IACpE,2FAA2F;IAC3F,8FAA8F;IAC9F,qBAAqB,EAAE,qBAAqB,CAAC,QAAQ;IACrD,kGAAkG;IAClG,+FAA+F;IAC/F,kDAAkD;IAClD,wBAAwB,EAAE,EAAE;IAC5B,iGAAiG;IACjG,gGAAgG;IAChG,gFAAgF;IAChF,eAAe,EAAE,EAAE;IACnB,2FAA2F;IAC3F,0FAA0F;IAC1F,iEAAiE;IACjE,8BAA8B,EAAE,8BAA8B,CAAC,iBAAiB;IAChF,iGAAiG;IACjG,oDAAoD;IACpD,4BAA4B,EAAE,4BAA4B,CAAC,OAAO;IAClE,gGAAgG;IAChG,iGAAiG;IACjG,iCAAiC,EAAE,EAAE;CACtC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,oCAAoC,CAClD,IAA4B,EAC5B,KAAsC;IAEtC,OAAO;QACL,GAAG,IAAI;QACP,GAAG,KAAK;QACR,SAAS,EACP,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;KAC7F,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAC/C,SAA2C;IAE3C,MAAM,WAAW,GAA0C;QACzD,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,OAAO;KACjB,CAAC;IAEF,MAAM,IAAI,GAA2B;QACnC,SAAS,EAAE;YACT,WAAW;YACX,cAAc,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE;YACjD,eAAe,EAAE,yBAAyB;YAC1C,OAAO,EAAE,iBAAiB;YAC1B,IAAI,EAAE,cAAc;YACpB,SAAS,EAAE,EAAE;YACb,gBAAgB,EAAE,EAAE;YACpB,UAAU,EAAE,oBAAoB;YAChC,yBAAyB,EAAE,EAAE;SAC9B;QACD,WAAW;QACX,cAAc,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE;QACjD,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,oBAAoB;QAChC,qBAAqB,EAAE;YACrB,0BAA0B,EAAE,EAAE;SAC+B;QAC/D,MAAM,EAAE,qBAAqB,CAAC,SAAS,EAAE;QACzC,UAAU,EAAE,oBAAoB,EAAE;QAClC,wBAAwB,EAAE,6CAA6C,EAAE;QACzE,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE,OAAO;QAChB,oBAAoB,EAAE;YACpB,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,IAAI;YAC9C,CAAC,yBAAyB,CAAC,EAAE,CAAC,EAAE,IAAI;YACpC,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,IAAI;YACxC,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,IAAI;YACxC,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,IAAI;YACxC,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,IAAI;YACtC,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,IAAI;YACpD,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,EAAE,IAAI;SACvD;QACD,wBAAwB,EAAE,IAAI,EAAE;KACjC,CAAC;IAEF,OAAO,SAAS,CAAC,CAAC,CAAC,oCAAoC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClF,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,qCAAqC;IACnD,OAAO;QACL,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,EAAE;QACZ,oBAAoB,EAAE;YACpB,eAAe,EAAE,6BAA6B,CAAC,cAAc;YAC7D,mBAAmB,EAAE,6BAA6B,CAAC,IAAI;YACvD,YAAY,EAAE,EAAE;YAChB,cAAc,EAAE;gBACd,CAAC,2BAA2B,CAAC,mBAAmB,CAAC,EAAE,6BAA6B,CAAC,cAAc;gBAC/F,CAAC,2BAA2B,CAAC,cAAc,CAAC,EAAE,6BAA6B,CAAC,oBAAoB;gBAChG,CAAC,2BAA2B,CAAC,cAAc,CAAC,EAAE,6BAA6B,CAAC,IAAI;aACjF;SACF;KACF,CAAC;AACJ,CAAC;AAOD;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAC/C,UAAsC,EAAE;IAExC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC;IACtD,MAAM,IAAI,GAAc;QACtB,GAAG,gBAAgB;QACnB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC;IAEF,sEAAsE;IACtE,sEAAsE;IACtE,mEAAmE;IACnE,MAAM,aAAa,GAAG,IAAI,EAAE,CAAC,iBAAiB,CAAC;QAC7C,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,GAAG;KACjB,CAAC,CAAC;IAEH,OAAO;QACL,IAAI;QACJ,YAAY,EAAE;YACZ,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW;YACtC,mEAAmE;YACnE,8DAA8D;YAC9D,iEAAiE;YACjE,iEAAiE;YACjE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI;YAC3B,WAAW,EAAE,IAAI,EAAE;YACnB,iBAAiB,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YAC/C,iBAAiB,EAAE,IAAI,EAAE;YACzB,KAAK,EAAE,IAAI,EAAE;SACd;QACD,eAAe,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC7C,wBAAwB,EAAE,aAAa;QACvC,YAAY,EAAE,aAAa;QAC3B,eAAe,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC7C,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW;QACzC,MAAM,EAAE,IAAI,EAAE;QACd,iBAAiB,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACtD,UAAU,EAAE,IAAI,EAAE;QAClB,8GAA8G;QAC9G,uBAAuB,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,oBAAoB,CAAC,OAAO,CAAC;QAC7E,mBAAmB,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,gBAAgB,CAAC,aAAa,CAAC;QAC3E,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACxD,sBAAsB,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAC3D,uBAAuB,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAC5D,gBAAgB,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC9C,2FAA2F;QAC3F,eAAe,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;QACzF,qBAAqB,EAAE,aAAa;QACpC,eAAe,EAAE,aAAa;QAC9B,yBAAyB,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;QACxD,sBAAsB,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;QACrD,8BAA8B,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACnE,6BAA6B,EAAE,IAAI,EAAE;QACrC,iBAAiB,EAAE,aAAa;QAChC,iBAAiB,EAAE,aAAa;QAChC,yBAAyB,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAC9D,mBAAmB,EAAE,IAAI,EAAE;QAC3B,mBAAmB,EAAE,IAAI,EAAE;QAC3B,gBAAgB,EAAE,IAAI,EAAE;QACxB,wBAAwB,EAAE,IAAI,EAAE;KACI,CAAC;AACzC,CAAC;AAOD;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAC/C,UAAmC,EAAE;IAErC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC;IACtD,MAAM,IAAI,GAAc;QACtB,GAAG,gBAAgB;QACnB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnG,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9D,OAAO;QACL,IAAI;QACJ,eAAe,EAAE,IAAI,EAAE;QACvB,wBAAwB,EAAE,SAAS;QACnC,YAAY,EAAE,SAAS;QACvB,eAAe,EAAE,IAAI,EAAE;QACvB,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW;QACzC,MAAM,EAAE,IAAI,EAAE;QACd,cAAc,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC;QAC/C,mBAAmB,EAAE,IAAI,EAAE;QAC3B,sBAAsB,EAAE,IAAI,EAAE;QAC9B,IAAI,EAAE,IAAI;QACV,aAAa,EAAE,EAAE;QACjB,qBAAqB,EAAE,IAAI;QAC3B,WAAW,EAAE,IAAI;QACjB,wBAAwB,EAAE,IAAI;QAC9B,OAAO,EAAE,IAAI;QACb,sBAAsB,EAAE,IAAI,EAAE;QAC9B,uBAAuB,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;QACrD,sBAAsB,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;QACpD,oBAAoB,EAAE,IAAI,EAAE;QAC5B,UAAU,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;QACxC,qBAAqB,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;KACzC,CAAC;AACtC,CAAC;AAUD;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAC/C,UAAmC,EAAE;IAErC,MAAM,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,IAAI,IAAI,CAAC;IACpE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,cAAc,CAAC;IAC9D,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC;IAClE,MAAM,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,IAAI,IAAI,CAAC;IAEtE,MAAM,kBAAkB,GAAG;QACzB,cAAc,EAAE,qBAAqB;QACrC,MAAM,EAAE,aAAa;QACrB,aAAa,EAAE,oBAAoB;QACnC,eAAe,EAAE,sBAAsB;KACxC,CAAC;IAEF,OAAO;QACL,kBAAkB;QAClB,iBAAiB,EAAE,EAAE;QACrB,cAAc,EAAE,EAAE,GAAG,kBAAkB,EAAE;QACzC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,mBAAmB,CAAC,wBAAwB;QAChF,qBAAqB;QACrB,aAAa;QACb,oBAAoB;QACpB,sBAAsB;QACtB,kBAAkB,EAAE,EAAE;QACtB,iBAAiB,EAAE,EAAE;QACrB,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;QAC9B,sBAAsB,EAAE,GAAG,EAAE,CAAC,SAAS;QACvC,YAAY,EAAE,EAAE;QAChB,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAE;QAC5B,+BAA+B,EAAE,GAAG,EAAE,CACpC,qBAAqB,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE;QACxE,yBAAyB,EAAE,GAAG,EAAE;YAC9B,MAAM,UAAU,GAAsC,EAAE,CAAC;YACzD,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,UAAU,CAAC,cAAc,GAAG,qBAAqB,CAAC;YACpD,CAAC;YACD,IAAI,aAAa,EAAE,CAAC;gBAClB,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC;YACpC,CAAC;YACD,IAAI,oBAAoB,EAAE,CAAC;gBACzB,UAAU,CAAC,aAAa,GAAG,oBAAoB,CAAC;YAClD,CAAC;YACD,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,UAAU,CAAC,eAAe,GAAG,sBAAsB,CAAC;YACtD,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAqJ,EAAE,EACvJ,WAAgC;IAEhC,OAAO;QACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,EAAE;QAC9C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,EAAE;QAChD,UAAU,EAAE,EAAE,GAAG,oCAAoC,CAAC,WAAW,CAAC,EAAE,iBAAiB,EAAE,yBAAyB,CAAC,KAAK,EAAE;QACxH,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,IAAI;QAC5C,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,IAAI;KAC3C,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Runner-agnostic mock builders for frontend engine tests.\n * Uses {@link getMockFn} — configure via {@link configureMockFactory} in setup.\n *\n * Chaining (`.mockResolvedValue`, `.mockReturnValue`) is typed loosely: real `vi.fn`/`jest.fn`\n * provide these at runtime; we cast at the boundary to keep `dist/` free of Vitest imports.\n */\nimport {\n AvailableLanguage,\n REGIONAL_FORMATTING_DEFAULTS,\n RegionalFormattingUtils,\n TextDirection,\n} from '@wildo-ai/presets-components-models';\nimport {\n ActivationCriterionType,\n ClientInstanceIdScope,\n GovernedDocumentAcceptanceMode,\n GovernedDocumentApprovalGate,\n FeatureUnavailabilityBehavior,\n FeatureUnavailabilityReason,\n OrgAuthMethodPolicy,\n OrganizationProfileVisibility,\n UserProfileVisibility,\n} from '@wildo-ai/saas-models';\nimport type { FeatureConfiguration, RolesConfiguration, UserSelfAccessProfile } from '@wildo-ai/saas-models';\nimport { resolveApplicationRoleConfigurations, UnresolvableRoleTreatment } from '@wildo-ai/saas-models';\nimport type { LauncherEffectiveRoles } from '~wildo-frontend-lib/core/navigation/launcher-resolution';\nimport type { ApplicationContextType } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport type { I18nContextType } from '~wildo-frontend-lib/core/i18n/I18nContext';\nimport { RegionalReaderStanding } from '~wildo-frontend-lib/core/i18n/regional-preference-resolution.frontend.utils';\nimport { MainContextInitComponents } from '~wildo-frontend-lib/core/runtime/runtime.frontend.schemas';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport type { ResourcesRepositoryFrontendService } from '~wildo-frontend-lib/core/resources/resources-repository.frontend.service';\nimport type { WildoBackendHttpClient } from '~wildo-frontend-lib/core/requests/wildo-http-client.frontend.service';\nimport { createFrontendProviderRegistryFrontendService } from '~wildo-frontend-lib/core/external-providers/frontend-provider-registry.frontend.service';\nimport type { AppScopeContextValue } from '~wildo-frontend-lib/core/scope/AppScopeContext';\nimport { AppScopeSessionMode } from '~wildo-frontend-lib/core/scope/scope.frontend.schemas';\nimport type { AuthSessionContextType } from '~wildo-frontend-lib/core/security/AuthSessionContext';\nimport { RegistrationOutcome } from '~wildo-frontend-lib/core/security/registration-outcome.frontend.utils';\nimport type { UserOrgsContextType } from '~wildo-frontend-lib/core/security/UserOrgsContext';\nimport { EMPTY_AUTH_STATE, type AuthState } from '~wildo-frontend-lib/core/security/security.frontend.schemas';\nimport { getMockFn } from './mock-factory';\nimport { SessionEndReason, SessionEstablishment } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\n\n/** Chainable mock surface shared by Vitest and Jest mock functions. */\ntype ChainableMock = ((...args: unknown[]) => unknown) & {\n mockResolvedValue: (v: unknown) => ChainableMock;\n mockReturnValue: (v: unknown) => ChainableMock;\n mockImplementation: (fn: (...args: never[]) => unknown) => ChainableMock;\n};\n\nfunction mock(): ChainableMock {\n return getMockFn()() as ChainableMock;\n}\n\nexport function createMockHttpClient(): WildoBackendHttpClient {\n return {\n setAuthToken: mock(),\n clearAuthToken: mock(),\n setTokenRenewalHandler: mock(),\n setStepUpAuthHandler: mock(),\n setConsumableToken: mock(),\n setAnonymousSession: mock(),\n setAnonymousSessionTokenHandler: mock(),\n clearAnonymousSession: mock(),\n updateAnonymousSessionToken: mock(),\n /** Real client returns `config.baseURL || ''`; `''` models the same-origin deployment (relative API URLs). */\n getBaseURL: mock().mockReturnValue(''),\n get: mock().mockResolvedValue({}),\n post: mock().mockResolvedValue({}),\n put: mock().mockResolvedValue({}),\n patch: mock().mockResolvedValue({}),\n delete: mock().mockResolvedValue({}),\n } as unknown as WildoBackendHttpClient;\n}\n\n/**\n * Test double for the module-level `getManualCallsHttpClient()` singleton.\n *\n * It is built ON TOP of {@link createMockHttpClient} on purpose: the manual-calls\n * client EXTENDS `WildoBackendHttpClient`, and several contexts fan state out to\n * every client instance they can reach — `AnonymousSessionProvider` calls\n * `setAnonymousSessionTokenHandler` on both the application client and this one,\n * `AuthSessionProvider` calls `setAuthToken` / `setConsumableToken`. A hand-rolled\n * literal that lists \"the methods this test needs\" silently omits whichever setter\n * a provider picked up most recently and dies with `x is not a function` at mount.\n * Inheriting the base surface here means that class of drift is fixed once.\n *\n * `overrides` supplies the per-test behavior (auth responses, rejections, spies).\n */\nexport function createMockManualCallsHttpClient(\n overrides: Record<string, unknown> = {},\n): Record<string, unknown> {\n return {\n ...(createMockHttpClient() as unknown as Record<string, unknown>),\n\n /** `I18nContext` batch-fetches labels on a timer; every mock must answer or the flush throws. */\n getI18nLabels: mock().mockResolvedValue({ labels: {}, language: 'en' }),\n getI18nLabelsByKeys: mock().mockResolvedValue({ labels: {} }),\n getMilestoneDefinitions: mock().mockResolvedValue({ definitions: [] }),\n getAppConfig: mock().mockResolvedValue({}),\n getAnalyticsMomentsAchieved: mock().mockResolvedValue({ moments: [] }),\n\n /** `AuthSessionContext.logout()` fire-and-forget revocation. */\n logoutFromBackend: mock().mockResolvedValue(undefined),\n /** `AuthSessionContext.signOutEverywhere()` (#2317). */\n logoutAllFromBackend: mock().mockResolvedValue(undefined),\n listMySessions: mock().mockResolvedValue({ sessions: [] }),\n revokeMySession: mock().mockResolvedValue(undefined),\n reAuthenticate: mock().mockResolvedValue({ reAuthToken: 'test-reauth-token' }),\n\n /** `FeaturesContext` resolves entitlements through the generic `get`. */\n get: mock().mockImplementation((url: string) => (\n typeof url === 'string' && url.includes('features/resolved')\n ? Promise.resolve({ features: [], limits: {}, currentUsage: {} })\n : Promise.resolve({})\n )),\n\n ...overrides,\n };\n}\n\nexport function createMockResourcesRepository(): ResourcesRepositoryFrontendService {\n const mockHttpClient = {\n doOperation: mock().mockResolvedValue({}),\n executeSearchOperation: mock().mockResolvedValue({ data: [], total: 0 }),\n setAuthToken: mock(),\n clearAuthToken: mock(),\n setTokenRenewalHandler: mock(),\n setStepUpAuthHandler: mock(),\n setConsumableToken: mock(),\n get: mock().mockResolvedValue({ systems: [] }),\n getAvailableOperationPaths: mock().mockReturnValue([]),\n };\n\n // Distinct from the resources client above — mirrors the real runtime where the\n // base application HTTP client (used by file uploads) is a separate instance that\n // the registry must also fan the auth token out to.\n const mockApplicationHttpClient = createMockHttpClient();\n\n return {\n getResourcesRegistry: mock().mockReturnValue({\n resourceConfigurations: {},\n relationshipsMap: {},\n }),\n getResourcesHttpClient: mock().mockReturnValue(mockHttpClient),\n getApplicationHttpClient: mock().mockReturnValue(mockApplicationHttpClient),\n } as unknown as ResourcesRepositoryFrontendService;\n}\n\n/**\n * Echo translator: returns the LAST string argument, which is the label key in\n * every `t*` signature (`t(key)`, `tComponent(type, key)`, `tView(family, ref, key)`,\n * `tResourceHeader(resource, 'title')`, …). Tests therefore assert on the key,\n * exactly like the hand-rolled `(_type, key) => key` mocks this replaces.\n */\nfunction echoLabel(...args: unknown[]): string {\n for (let i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'string') return args[i] as string;\n }\n return '';\n}\n\n/**\n * Full `useI18n()` return value as a test double.\n *\n * Why this is one exhaustive literal rather than a per-test partial object:\n * `useI18n()` spreads the whole `I18nContextType`, and engine components call\n * whichever helper they need (`ViewLayout_Header` reaches for `tView`, action\n * bars for `tResourceOperation`, …). A partial `vi.mock` factory that lists only\n * the two helpers a test happened to need throws `X is not a function` the moment\n * a rendered component picks up another one — silently, in every test file at\n * once. The return type is pinned to `I18nContextType`, so ADDING a helper to the\n * context makes THIS file fail `pnpm typecheck` — a compile error in one place\n * instead of runtime failures spread across the suite.\n *\n * Every helper echoes its label key (see {@link echoLabel}); pass `overrides` for\n * the handful of values a test actually asserts on.\n */\nexport function createMockI18nValue(\n overrides: Partial<I18nContextType & { isReady: boolean }> = {},\n): I18nContextType & { isReady: boolean } {\n const value: I18nContextType & { isReady: boolean } = {\n // ── State ──\n currentLanguage: AvailableLanguage.EN,\n dir: TextDirection.LTR,\n translations: {},\n isLoading: false,\n isReady: true,\n availableLanguages: [AvailableLanguage.EN],\n enableLanguageSwitcher: false,\n allowUserOverride: true,\n languagePreferences: null,\n regionalPreferences: null,\n // A signed-in reader, so `resolvedRegionalPreferences` below is what the formatters honestly reflect.\n regionalReaderStanding: RegionalReaderStanding.SIGNED_IN,\n\n // ── Actions ──\n changeLanguage: async () => undefined,\n loadTranslations: async () => undefined,\n\n // ── Helpers ──\n t: echoLabel,\n getLanguageName: (language) => String(language),\n isLanguageSupported: () => true,\n getLanguagePreferences: () => null,\n getRegionalPreferences: () => null,\n\n // ── Structured labelling helpers ──\n tResourceHeader: echoLabel,\n tResourceEmptyState: echoLabel,\n tResourceOperation: echoLabel,\n tResourceFieldDisplay: echoLabel,\n tResourceFieldEdit: echoLabel,\n tResourceFieldEnumValue: echoLabel,\n tErrorValidation: echoLabel,\n tComponent: echoLabel,\n tErrorMessage: echoLabel,\n tErrorGuidance: echoLabel,\n tNotificationCustom: echoLabel,\n tSystemEnum: echoLabel,\n tResourceSection: echoLabel,\n tResourceWizardStep: echoLabel,\n tResourceFilterPreset: echoLabel,\n tSidebarSection: echoLabel,\n tSettingsHubCategory: (_categoryRef, fallbackLabel) => fallbackLabel,\n tSettingsHubGroup: (_categoryRef, _groupRef, fallbackLabel) => fallbackLabel,\n tSettingsHubSection: (_sectionRef, fallbackLabel) => fallbackLabel,\n tCompositeView: echoLabel,\n tCompositeViewSection: echoLabel,\n tView: echoLabel,\n\n // ── Guidance ──\n tGuidanceFlow: echoLabel,\n tGuidanceElement: echoLabel,\n tGuidanceTourStep: echoLabel,\n tGuidanceSurveyQuestion: echoLabel,\n makeTrGuidanceElement: () => echoLabel,\n\n // ── Milestones ──\n tMilestone: echoLabel,\n tMilestoneReward: echoLabel,\n makeTrMilestone: () => echoLabel,\n\n // ── Lifecycle ──\n tLifecycle: echoLabel,\n tLifecycleStage: echoLabel,\n /** Echo the criterion's source ref — the discriminant decides which one carries it. */\n tActivationCriterion: (criterion) => (\n criterion.criterionType === ActivationCriterionType.MILESTONE\n ? criterion.milestoneRef\n : criterion.guidanceFlowRef\n ),\n tMilestoneCategory: echoLabel,\n\n // ── Billing ──\n tBillingProduct: echoLabel,\n tBillingFeature: echoLabel,\n tBillingLimit: echoLabel,\n tBillingCreditPool: echoLabel,\n\n // ── Roles ──\n tRole: echoLabel,\n\n // ── Regional formatting ──\n resolvedRegionalPreferences: REGIONAL_FORMATTING_DEFAULTS,\n formatDate: (value) => String(value),\n formatTime: (value) => String(value),\n formatDateTime: (value) => String(value),\n // Echoes the value like its siblings, and IGNORES the mode on purpose. A mock that phrased\n // relatively would make every assertion about a temporal field depend on the wall clock; a\n // test that cares which mode was requested asserts it against the real formatter.\n formatDateForDisplayMode: (value) => String(value),\n formatDateTimeForDisplayMode: (value) => String(value),\n formatDisplayRange: (range) => ({\n from: range.from === undefined || range.from === null ? undefined : String(range.from),\n to: range.to === undefined || range.to === null ? undefined : String(range.to),\n }),\n formatNumber: (value) => String(value),\n // The real formatter on the default config, so a component test reads what a reader would.\n formatByteSize: (bytes, options) => RegionalFormattingUtils.formatByteSize(bytes, REGIONAL_FORMATTING_DEFAULTS, options),\n formatList: (items, options) => RegionalFormattingUtils.formatList(items, REGIONAL_FORMATTING_DEFAULTS, options),\n\n // ── Component translation utilities ──\n hasComponentTranslations: () => true,\n getComponentKeys: () => [],\n\n // ── Lazy key loading ──\n requestKeys: async () => undefined,\n isKeyLoaded: () => true,\n // Settled AND loaded in the mock: a test that wants the failed-bundle path overrides this.\n isKeySettled: () => true,\n getKeyStatus: () => 'loaded',\n requestComponentKeys: async () => undefined,\n requestResourceKeys: async () => undefined,\n\n // ── Curried resource helpers ──\n makeTrResourceHeader: () => echoLabel,\n makeTrResourceEmptyState: () => echoLabel,\n makeTrResourceOperation: () => echoLabel,\n makeTrResourceFieldDisplay: () => echoLabel,\n makeTrResourceFieldEdit: () => echoLabel,\n makeTrResourceFieldEnum: () => echoLabel,\n makeTrErrorMessage: () => echoLabel,\n makeTrErrorGuidance: () => echoLabel,\n makeTrNotificationCustom: () => echoLabel,\n makeTrErrorValidation: () => echoLabel,\n makeTrComponent: () => echoLabel,\n makeTrSystemEnum: () => echoLabel,\n\n ...overrides,\n };\n\n return value;\n}\n\n/** Shared language block — matches `AppConfiguration_Shared_AppPreferencesLanguage` defaults. */\nconst MOCK_APP_LANGUAGES: NonNullable<ApplicationContextType['appPreferences']['languages']> = {\n defaultLanguage: AvailableLanguage.EN,\n enabledLanguages: [AvailableLanguage.EN],\n fallbackLanguage: AvailableLanguage.EN,\n autoDetectFromBrowser: true,\n allowUserOverride: true,\n allowOrganizationOverride: true,\n enableLanguageSwitcher: true,\n};\n\n/** Include `main_backend_api` for AuthSession WebSocket URL derivation, FlowsActors init, etc. */\nconst MOCK_TEST_RUNTIME: ApplicationContextType['runtime'] = {\n endPoints: {\n api: { publicUrl: 'http://localhost:3000' },\n main_backend_api: { publicUrl: 'http://localhost:3000' },\n },\n};\n\nconst MOCK_TEST_AUTH: ApplicationContextType['auth'] = {\n passkeyConfig: { rpName: 'Vitest', rpId: 'localhost', maxPasskeysPerUser: 10 },\n socialOAuth2Providers: {},\n orgAuthMethodPolicy: OrgAuthMethodPolicy.RESTRICT_ONLY,\n crossOrgSSOAccess: true,\n};\n\nconst MOCK_TEST_COMPLIANCE: ApplicationContextType['compliance'] = {\n userProfileVisibility: UserProfileVisibility.ORGANIZATION,\n organizationProfileVisibility: OrganizationProfileVisibility.PRIVATE,\n // Mirrors the framework default: client-install identification is OPT-IN and OFF unless an\n // application authors it (Fork D / SD9), so the shared test context must not imply otherwise.\n clientInstanceIdScope: ClientInstanceIdScope.DISABLED,\n // Same posture for the same reason: an application declares its governed-document releases or has\n // none, so the shared test context renders the registration form a document-less app gets — no\n // consent control, nothing to accept (issue #54).\n governedDocumentReleases: [],\n // Same posture again (#168): an application SERVES a public governed document or serves none, so\n // the shared test context renders what a document-less app gets — `/privacy` and `/terms` reach\n // the page and it fails closed, which is the contract rather than an edge case.\n publicDocuments: [],\n // The framework default, stated rather than inherited: the shared test context renders the\n // clickwrap shape registration has always shipped, so a test that does not care about the\n // acceptance mode never silently exercises a weaker one (#1258).\n governedDocumentAcceptanceMode: GovernedDocumentAcceptanceMode.EXPLICIT_CHECKBOX,\n // The framework default (#1565): the shared test context shows and asks for unapproved releases,\n // as every application does until it arms the gate.\n governedDocumentApprovalGate: GovernedDocumentApprovalGate.UNARMED,\n // Same posture again (#1462): no resource operation declares a `consentGate` in the shared test\n // context, so the derived set is empty — the same observable state as before this field existed.\n capabilityDeclaredConsentPurposes: [],\n};\n\n/**\n * Merges a partial `ApplicationContextType` into a base value.\n *\n * Top-level keys follow object spread. **`appConfig` is merged one level** so\n * overrides like `{ appConfig: { analytics: { enabled: true } } }` keep\n * `apiJwtPublicKey`, `userTypes`, etc. from `base`.\n */\nexport function mergeMockApplicationContextOverrides(\n base: ApplicationContextType,\n patch: Partial<ApplicationContextType>,\n): ApplicationContextType {\n return {\n ...base,\n ...patch,\n appConfig:\n patch.appConfig !== undefined ? { ...base.appConfig, ...patch.appConfig } : base.appConfig,\n };\n}\n\n/**\n * Builds a minimal valid `ApplicationContextType` for tests.\n */\nexport function createMockApplicationContextValue(\n overrides?: Partial<ApplicationContextType>,\n): ApplicationContextType {\n const appIdentity: ApplicationContextType['appIdentity'] = {\n appName: 'test-app',\n version: '1.0.0',\n };\n\n const base: ApplicationContextType = {\n appConfig: {\n appIdentity,\n appPreferences: { languages: MOCK_APP_LANGUAGES },\n apiJwtPublicKey: 'test-api-jwt-public-key',\n runtime: MOCK_TEST_RUNTIME,\n auth: MOCK_TEST_AUTH,\n userTypes: {},\n frontendServices: {},\n compliance: MOCK_TEST_COMPLIANCE,\n enabledEngineCapabilities: [],\n },\n appIdentity,\n appPreferences: { languages: MOCK_APP_LANGUAGES },\n runtime: MOCK_TEST_RUNTIME,\n auth: MOCK_TEST_AUTH,\n compliance: MOCK_TEST_COMPLIANCE,\n frontendConfiguration: {\n appComponentsConfiguration: {},\n } as unknown as ApplicationContextType['frontendConfiguration'],\n logger: LoggerFrontendService.getLogger(),\n httpClient: createMockHttpClient(),\n frontendProviderRegistry: createFrontendProviderRegistryFrontendService(),\n isInitialized: true,\n version: '1.0.0',\n initializationStatus: {\n [MainContextInitComponents.MAIN_CONTEXT]: true,\n [MainContextInitComponents.UI]: true,\n [MainContextInitComponents.LOADER]: true,\n [MainContextInitComponents.ERRORS]: true,\n [MainContextInitComponents.ROUTER]: true,\n [MainContextInitComponents.I18N]: true,\n [MainContextInitComponents.APP_MAIN_CONTAINER]: true,\n [MainContextInitComponents.PUBLIC_APP_CONTAINER]: true,\n },\n markComponentInitialized: mock(),\n };\n\n return overrides ? mergeMockApplicationContextOverrides(base, overrides) : base;\n}\n\n/** Minimal valid {@link FeatureConfiguration} for {@link FeaturesProvider} in tests. */\nexport function createMinimalTestFeatureConfiguration(): FeatureConfiguration {\n return {\n definitions: [],\n profiles: {},\n unavailabilityPolicy: {\n defaultBehavior: FeatureUnavailabilityBehavior.UPGRADE_PROMPT,\n whenBillingDisabled: FeatureUnavailabilityBehavior.HIDE,\n roleDefaults: {},\n reasonDefaults: {\n [FeatureUnavailabilityReason.FEATURE_NOT_ENABLED]: FeatureUnavailabilityBehavior.UPGRADE_PROMPT,\n [FeatureUnavailabilityReason.LIMIT_EXCEEDED]: FeatureUnavailabilityBehavior.LIMIT_UPGRADE_PROMPT,\n [FeatureUnavailabilityReason.NOT_CONFIGURED]: FeatureUnavailabilityBehavior.HIDE,\n },\n },\n };\n}\n\nexport interface MockAuthSessionInitOptions {\n /** When true (default), {@link AuthSessionContextType.isAuthenticated} returns true. */\n authenticated?: boolean;\n}\n\n/**\n * Full {@link AuthSessionContextType} for `AuthSessionContext.Provider` overrides (Tier 3 tests).\n */\nexport function createMockAuthSessionContextValue(\n options: MockAuthSessionInitOptions = {},\n): AuthSessionContextType {\n const authenticated = options.authenticated !== false;\n const auth: AuthState = {\n ...EMPTY_AUTH_STATE,\n ...(authenticated ? { accessToken: 'test-access-token' } : {}),\n };\n\n // Auth-hardening A-Step 6: `AuthenticationResponse` no longer carries\n // `refreshToken` (the cookie does). Tests that exercised body-channel\n // rotation pre-A-Step-6 should now assert on `Set-Cookie` headers.\n const asyncAuthResp = mock().mockResolvedValue({\n success: true,\n accessToken: 'x',\n });\n\n return {\n auth,\n tokenStorage: {\n getAccessToken: () => auth.accessToken,\n // `EphemeralSessionTokenStorage` still exposes `getRefreshToken()`\n // for one-off / test contexts; the persistent storage adapter\n // returns `null` permanently post-A-Step-3. Mock surfaces `null`\n // by default — override per-test if a one-off scenario needs it.\n getRefreshToken: () => null,\n storeTokens: mock(),\n getOrganizationId: mock().mockReturnValue(null),\n setOrganizationId: mock(),\n clear: mock(),\n },\n identifyByEmail: mock().mockResolvedValue({}),\n authenticateWithPassword: asyncAuthResp,\n authenticate: asyncAuthResp,\n getSessionState: mock().mockResolvedValue({}),\n isAuthenticated: () => !!auth.accessToken,\n logout: mock(),\n signOutEverywhere: mock().mockResolvedValue(undefined),\n endSession: mock(),\n // A tab that loads with a stored token has RESUMED that session; one that signs in reports SIGNED_IN (#1977).\n getSessionEstablishment: mock().mockReturnValue(SessionEstablishment.RESUMED),\n getSessionEndReason: mock().mockReturnValue(SessionEndReason.SESSION_ENDED),\n endedSessionReason: null,\n initiateOAuth2Login: mock().mockResolvedValue(undefined),\n handleAuthCodeExchange: mock().mockResolvedValue(undefined),\n handleEmailVerification: mock().mockResolvedValue(undefined),\n acceptInvitation: mock().mockResolvedValue({}),\n // An answer that adopts no auth state — a test driving sign-in or enrollment overrides it.\n registerAccount: mock().mockResolvedValue(RegistrationOutcome.EMAIL_VERIFICATION_PENDING),\n handleMagicLinkVerify: asyncAuthResp,\n handleMfaVerify: asyncAuthResp,\n completeEnrollmentSession: mock().mockReturnValue(false),\n adoptPendingMfaSession: mock().mockReturnValue(false),\n completeOrganizationOnboarding: mock().mockResolvedValue(undefined),\n abandonOrganizationOnboarding: mock(),\n handlePasskeyAuth: asyncAuthResp,\n signInWithPasskey: asyncAuthResp,\n handleOneOffTokenExchange: mock().mockResolvedValue(undefined),\n markSessionRestored: mock(),\n setSessionRestoring: mock(),\n connectWebSocket: mock(),\n notifyOrganizationSwitch: mock(),\n } as unknown as AuthSessionContextType;\n}\n\nexport interface MockUserOrgsInitOptions {\n /** When true (default), `isAuthenticated()` is true (Guidance / progression init paths). */\n authenticated?: boolean;\n}\n\n/**\n * Minimal {@link UserOrgsContextType} for `UserOrgsContext.Provider` overrides (Tier 3 tests).\n */\nexport function createMinimalUserOrgsContextValue(\n options: MockUserOrgsInitOptions = {},\n): UserOrgsContextType {\n const authenticated = options.authenticated !== false;\n const auth: AuthState = {\n ...EMPTY_AUTH_STATE,\n ...(authenticated ? { accessToken: 'test-access-token', refreshToken: 'test-refresh-token' } : {}),\n };\n\n const asyncAuth = mock().mockResolvedValue({ success: true });\n\n return {\n auth,\n identifyByEmail: mock(),\n authenticateWithPassword: asyncAuth,\n authenticate: asyncAuth,\n getSessionState: mock(),\n isAuthenticated: () => !!auth.accessToken,\n logout: mock(),\n restoreSession: mock().mockResolvedValue(false),\n initiateOAuth2Login: mock(),\n handleAuthCodeExchange: mock(),\n user: null,\n organizations: [],\n currentOrganizationId: null,\n permissions: null,\n primaryScopeInitiatorIds: null,\n privacy: null,\n setCurrentOrganization: mock(),\n followRouteOrganization: mock().mockReturnValue(true),\n getCurrentOrganization: mock().mockReturnValue(null),\n refreshOrganizations: mock(),\n getPrivacy: mock().mockReturnValue(null),\n recordConsentDecision: mock().mockResolvedValue({ consentedPurposes: [] }),\n } as unknown as UserOrgsContextType;\n}\n\nexport interface MockAppScopeInitOptions {\n currentOrganizationId?: string | null;\n currentUserId?: string | null;\n currentApplicationId?: string | null;\n currentAnonymousUserId?: string | null;\n sessionMode?: AppScopeSessionMode;\n}\n\n/**\n * Minimal {@link AppScopeContextValue} for `AppScopeContext.Provider` overrides (Tier 3 tests).\n */\nexport function createMinimalAppScopeContextValue(\n options: MockAppScopeInitOptions = {},\n): AppScopeContextValue {\n const currentOrganizationId = options.currentOrganizationId ?? null;\n const currentUserId = options.currentUserId ?? 'test-user-id';\n const currentApplicationId = options.currentApplicationId ?? null;\n const currentAnonymousUserId = options.currentAnonymousUserId ?? null;\n\n const primaryScopeValues = {\n organizationId: currentOrganizationId,\n userId: currentUserId,\n applicationId: currentApplicationId,\n anonymousUserId: currentAnonymousUserId,\n };\n\n return {\n primaryScopeValues,\n customScopeValues: {},\n allScopeValues: { ...primaryScopeValues },\n sessionMode: options.sessionMode ?? AppScopeSessionMode.AUTHENTICATED_PERSISTENT,\n currentOrganizationId,\n currentUserId,\n currentApplicationId,\n currentAnonymousUserId,\n primaryScopeFields: [],\n customScopeFields: [],\n setScopeValue: () => undefined,\n clearCustomScopeValues: () => undefined,\n dependencies: [],\n getDependentFields: () => [],\n buildContextResourceIdentifiers: () =>\n currentOrganizationId ? { organizationId: currentOrganizationId } : {},\n buildContextualParameters: () => {\n const parameters: Record<string, string | string[]> = {};\n if (currentOrganizationId) {\n parameters.organizationId = currentOrganizationId;\n }\n if (currentUserId) {\n parameters.userId = currentUserId;\n }\n if (currentApplicationId) {\n parameters.applicationId = currentApplicationId;\n }\n if (currentAnonymousUserId) {\n parameters.anonymousUserId = currentAnonymousUserId;\n }\n return parameters;\n },\n isReady: true,\n isLoading: false,\n };\n}\n\n/**\n * A viewer's effective roles for a shell visibility test: the given roles, expanded against the application's real\n * role tables (defaults plus `customRoles`) with unknown roles inert — what `useViewerEffectiveRoles` builds inside\n * the application shell. Built from the real resolver so a test cannot hand-write tables the backend would not hold.\n */\nexport function buildViewerEffectiveRoles(\n roles: { applicationRoles?: string[]; organizationRoles?: string[]; organizationId?: string | null; accessProfile?: UserSelfAccessProfile | null } = {},\n customRoles?: RolesConfiguration,\n): LauncherEffectiveRoles {\n return {\n applicationRoles: roles.applicationRoles ?? [],\n organizationRoles: roles.organizationRoles ?? [],\n roleTables: { ...resolveApplicationRoleConfigurations(customRoles), unresolvableRoles: UnresolvableRoleTreatment.INERT },\n organizationId: roles.organizationId ?? null,\n accessProfile: roles.accessProfile ?? null,\n };\n}\n"]}
@@ -2,10 +2,8 @@
2
2
  * Shared helpers for RMM unit & hook tests (Phase 5.2).
3
3
  *
4
4
  * Runner-agnostic — no Vitest/Jest mock APIs.
5
- *
6
- * @see `.cursor/plans/prompts/prompt-rmm-phase5-2-test-suite.md`
7
5
  */
8
- import type { FieldMetaEntry } from '@wildo-ai/saas-models';
6
+ import type { FieldMetaEntry, ResourceOperationApprovalPending } from '@wildo-ai/saas-models';
9
7
  import { ResourceMutationManager } from '../core/resources/rmm/ResourceMutationManager';
10
8
  import type { MutationError, MutationErrorType, OperationDescriptor, ResourceMutationManagerConfig, TransportAdapter } from '../core/resources/rmm/types';
11
9
  export interface MockTransport {
@@ -13,6 +11,8 @@ export interface MockTransport {
13
11
  readonly lastDescriptor: OperationDescriptor | null;
14
12
  readonly callCount: number;
15
13
  resolveSuccess: (data?: Record<string, unknown>, newVersion?: number, fieldMeta?: Record<string, FieldMetaEntry>) => void;
14
+ /** Answer that the write was HELD for another person's approval (#2288), as `HttpTransportAdapter` reports it. */
15
+ resolveHeldForApproval: (heldForApproval: ResourceOperationApprovalPending) => void;
16
16
  resolveError: (type: MutationErrorType, opts?: {
17
17
  status?: number;
18
18
  message?: string;
@@ -20,6 +20,8 @@ export interface MockTransport {
20
20
  conflictDetails?: MutationError['conflictDetails'];
21
21
  /** The caught transport failure, as `HttpTransportAdapter` records it. */
22
22
  cause?: unknown;
23
+ /** `false` for a failure that may already have been applied (#3004), as `HttpTransportAdapter` judges it. */
24
+ resendable?: boolean;
23
25
  }) => void;
24
26
  reject: (error: Error) => void;
25
27
  reset: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"rmm-helpers.d.ts","sourceRoot":"","sources":["../../../../src/testing/rmm-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAC;AACzG,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EAEnB,6BAA6B,EAC7B,gBAAgB,EACjB,MAAM,8CAA8C,CAAC;AAGtD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,CACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,KACvC,IAAI,CAAC;IACV,YAAY,EAAE,CACZ,IAAI,EAAE,iBAAiB,EACvB,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;QACnD,0EAA0E;QAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,KACE,IAAI,CAAC;IACV,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,wBAAgB,mBAAmB,IAAI,aAAa,CAqDnD;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAI7C;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,uBAAuB,CAAC;IAC7B,SAAS,EAAE,aAAa,CAAC;IACzB,MAAM,EAAE,6BAA6B,CAAC;CACvC;AAED,wBAAgB,aAAa,CAC3B,SAAS,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAClD,SAAS,CAAC,EAAE,aAAa,GACxB,OAAO,CAYT"}
1
+ {"version":3,"file":"rmm-helpers.d.ts","sourceRoot":"","sources":["../../../../src/testing/rmm-helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAC;AACzG,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EAEnB,6BAA6B,EAC7B,gBAAgB,EACjB,MAAM,8CAA8C,CAAC;AAGtD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,CACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,KACvC,IAAI,CAAC;IACV,kHAAkH;IAClH,sBAAsB,EAAE,CAAC,eAAe,EAAE,gCAAgC,KAAK,IAAI,CAAC;IACpF,YAAY,EAAE,CACZ,IAAI,EAAE,iBAAiB,EACvB,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;QACnD,0EAA0E;QAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,6GAA6G;QAC7G,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,KACE,IAAI,CAAC;IACV,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,wBAAgB,mBAAmB,IAAI,aAAa,CAyDnD;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAI7C;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,uBAAuB,CAAC;IAC7B,SAAS,EAAE,aAAa,CAAC;IACzB,MAAM,EAAE,6BAA6B,CAAC;CACvC;AAED,wBAAgB,aAAa,CAC3B,SAAS,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAClD,SAAS,CAAC,EAAE,aAAa,GACxB,OAAO,CAYT"}
@@ -26,6 +26,9 @@ export function createMockTransport() {
26
26
  resolveSuccess: (data, newVersion, fieldMeta) => {
27
27
  resolveNext?.({ status: OperationResultStatus.SUCCESS, data, newVersion, fieldMeta });
28
28
  },
29
+ resolveHeldForApproval: (heldForApproval) => {
30
+ resolveNext?.({ status: OperationResultStatus.SUCCESS, heldForApproval });
31
+ },
29
32
  resolveError: (type, opts) => {
30
33
  resolveNext?.({
31
34
  status: OperationResultStatus.ERROR,
@@ -1 +1 @@
1
- {"version":3,"file":"rmm-helpers.js","sourceRoot":"","sources":["../../../../src/testing/rmm-helpers.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAC;AASzG,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AA0BvG,MAAM,UAAU,mBAAmB;IACjC,IAAI,WAAW,GAA+C,IAAI,CAAC;IACnE,IAAI,UAAU,GAAoC,IAAI,CAAC;IACvD,IAAI,cAAc,GAA+B,IAAI,CAAC;IACtD,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,MAAM,OAAO,GAAqB;QAChC,OAAO,EAAE,CAAC,UAA+B,EAA4B,EAAE;YACrE,cAAc,GAAG,UAAU,CAAC;YAC5B,SAAS,EAAE,CAAC;YACZ,OAAO,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACtD,WAAW,GAAG,OAAO,CAAC;gBACtB,UAAU,GAAG,MAAM,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,OAAO;QACL,OAAO;QACP,IAAI,cAAc;YAChB,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,IAAI,SAAS;YACX,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,cAAc,EAAE,CAAC,IAA8B,EAAE,UAAmB,EAAE,SAA0C,EAAE,EAAE;YAClH,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,YAAY,EAAE,CACZ,IAAuB,EACvB,IAMC,EACD,EAAE;YACF,WAAW,EAAE,CAAC;gBACZ,MAAM,EAAE,qBAAqB,CAAC,KAAK;gBACnC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE;aACzB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,EAAE,CAAC,KAAY,EAAE,EAAE;YACvB,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACV,cAAc,GAAG,IAAI,CAAC;YACtB,SAAS,GAAG,CAAC,CAAC;YACd,WAAW,GAAG,IAAI,CAAC;YACnB,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,UAAU,aAAa,CAC3B,SAAkD,EAClD,SAAyB;IAEzB,MAAM,aAAa,GAAG,SAAS,IAAI,mBAAmB,EAAE,CAAC;IACzD,MAAM,MAAM,GAAkC;QAC5C,YAAY,EAAE,eAAe;QAC7B,UAAU,EAAE,WAAW;QACvB,gBAAgB,EAAE,aAAa,CAAC,OAAO;QACvC,cAAc,EAAE,EAAE,QAAQ,EAAE,gBAAgB,CAAC,aAAa,EAAE;QAC5D,aAAa,EAAE,QAAQ;QACvB,oBAAoB,EAAE,EAAE;QACxB,GAAG,SAAS;KACb,CAAC;IACF,OAAO,EAAE,GAAG,EAAE,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;AACxF,CAAC","sourcesContent":["/**\n * Shared helpers for RMM unit & hook tests (Phase 5.2).\n *\n * Runner-agnostic — no Vitest/Jest mock APIs.\n *\n * @see `.cursor/plans/prompts/prompt-rmm-phase5-2-test-suite.md`\n */\nimport type { FieldMetaEntry } from '@wildo-ai/saas-models';\nimport { ResourceMutationManager } from '~wildo-frontend-lib/core/resources/rmm/ResourceMutationManager';\nimport type {\n MutationError,\n MutationErrorType,\n OperationDescriptor,\n OperationResult,\n ResourceMutationManagerConfig,\n TransportAdapter,\n} from '~wildo-frontend-lib/core/resources/rmm/types';\nimport { ConflictStrategy, OperationResultStatus } from '~wildo-frontend-lib/core/resources/rmm/types';\n\nexport interface MockTransport {\n adapter: TransportAdapter;\n readonly lastDescriptor: OperationDescriptor | null;\n readonly callCount: number;\n resolveSuccess: (\n data?: Record<string, unknown>,\n newVersion?: number,\n fieldMeta?: Record<string, FieldMetaEntry>,\n ) => void;\n resolveError: (\n type: MutationErrorType,\n opts?: {\n status?: number;\n message?: string;\n validationErrors?: Record<string, unknown>;\n conflictDetails?: MutationError['conflictDetails'];\n /** The caught transport failure, as `HttpTransportAdapter` records it. */\n cause?: unknown;\n },\n ) => void;\n reject: (error: Error) => void;\n reset: () => void;\n}\n\nexport function createMockTransport(): MockTransport {\n let resolveNext: ((result: OperationResult) => void) | null = null;\n let rejectNext: ((error: Error) => void) | null = null;\n let lastDescriptor: OperationDescriptor | null = null;\n let callCount = 0;\n\n const adapter: TransportAdapter = {\n execute: (descriptor: OperationDescriptor): Promise<OperationResult> => {\n lastDescriptor = descriptor;\n callCount++;\n return new Promise<OperationResult>((resolve, reject) => {\n resolveNext = resolve;\n rejectNext = reject;\n });\n },\n };\n\n return {\n adapter,\n get lastDescriptor() {\n return lastDescriptor;\n },\n get callCount() {\n return callCount;\n },\n resolveSuccess: (data?: Record<string, unknown>, newVersion?: number, fieldMeta?: Record<string, FieldMetaEntry>) => {\n resolveNext?.({ status: OperationResultStatus.SUCCESS, data, newVersion, fieldMeta });\n },\n resolveError: (\n type: MutationErrorType,\n opts?: {\n status?: number;\n message?: string;\n validationErrors?: Record<string, unknown>;\n conflictDetails?: MutationError['conflictDetails'];\n cause?: unknown;\n },\n ) => {\n resolveNext?.({\n status: OperationResultStatus.ERROR,\n error: { type, ...opts },\n });\n },\n reject: (error: Error) => {\n rejectNext?.(error);\n },\n reset: () => {\n lastDescriptor = null;\n callCount = 0;\n resolveNext = null;\n rejectNext = null;\n },\n };\n}\n\n/** Drain microtasks — do not use `setTimeout` when fake timers are enabled. */\nexport function flushPromises(): Promise<void> {\n return new Promise((resolve) => {\n queueMicrotask(resolve);\n });\n}\n\nexport interface TestRMM {\n rmm: ResourceMutationManager;\n transport: MockTransport;\n config: ResourceMutationManagerConfig;\n}\n\nexport function createTestRMM(\n overrides?: Partial<ResourceMutationManagerConfig>,\n transport?: MockTransport,\n): TestRMM {\n const mockTransport = transport ?? createMockTransport();\n const config: ResourceMutationManagerConfig = {\n resourceType: 'test-resource',\n resourceId: 'test-id-1',\n transportAdapter: mockTransport.adapter,\n conflictPolicy: { strategy: ConflictStrategy.ACCEPT_REMOTE },\n currentUserId: 'user-1',\n contextualParameters: {},\n ...overrides,\n };\n return { rmm: new ResourceMutationManager(config), transport: mockTransport, config };\n}\n"]}
1
+ {"version":3,"file":"rmm-helpers.js","sourceRoot":"","sources":["../../../../src/testing/rmm-helpers.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAC;AASzG,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AA8BvG,MAAM,UAAU,mBAAmB;IACjC,IAAI,WAAW,GAA+C,IAAI,CAAC;IACnE,IAAI,UAAU,GAAoC,IAAI,CAAC;IACvD,IAAI,cAAc,GAA+B,IAAI,CAAC;IACtD,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,MAAM,OAAO,GAAqB;QAChC,OAAO,EAAE,CAAC,UAA+B,EAA4B,EAAE;YACrE,cAAc,GAAG,UAAU,CAAC;YAC5B,SAAS,EAAE,CAAC;YACZ,OAAO,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACtD,WAAW,GAAG,OAAO,CAAC;gBACtB,UAAU,GAAG,MAAM,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,OAAO;QACL,OAAO;QACP,IAAI,cAAc;YAChB,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,IAAI,SAAS;YACX,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,cAAc,EAAE,CAAC,IAA8B,EAAE,UAAmB,EAAE,SAA0C,EAAE,EAAE;YAClH,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,sBAAsB,EAAE,CAAC,eAAiD,EAAE,EAAE;YAC5E,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,qBAAqB,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,YAAY,EAAE,CACZ,IAAuB,EACvB,IAOC,EACD,EAAE;YACF,WAAW,EAAE,CAAC;gBACZ,MAAM,EAAE,qBAAqB,CAAC,KAAK;gBACnC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE;aACzB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,EAAE,CAAC,KAAY,EAAE,EAAE;YACvB,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACV,cAAc,GAAG,IAAI,CAAC;YACtB,SAAS,GAAG,CAAC,CAAC;YACd,WAAW,GAAG,IAAI,CAAC;YACnB,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,UAAU,aAAa,CAC3B,SAAkD,EAClD,SAAyB;IAEzB,MAAM,aAAa,GAAG,SAAS,IAAI,mBAAmB,EAAE,CAAC;IACzD,MAAM,MAAM,GAAkC;QAC5C,YAAY,EAAE,eAAe;QAC7B,UAAU,EAAE,WAAW;QACvB,gBAAgB,EAAE,aAAa,CAAC,OAAO;QACvC,cAAc,EAAE,EAAE,QAAQ,EAAE,gBAAgB,CAAC,aAAa,EAAE;QAC5D,aAAa,EAAE,QAAQ;QACvB,oBAAoB,EAAE,EAAE;QACxB,GAAG,SAAS;KACb,CAAC;IACF,OAAO,EAAE,GAAG,EAAE,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;AACxF,CAAC","sourcesContent":["/**\n * Shared helpers for RMM unit & hook tests (Phase 5.2).\n *\n * Runner-agnostic — no Vitest/Jest mock APIs.\n */\nimport type { FieldMetaEntry, ResourceOperationApprovalPending } from '@wildo-ai/saas-models';\nimport { ResourceMutationManager } from '~wildo-frontend-lib/core/resources/rmm/ResourceMutationManager';\nimport type {\n MutationError,\n MutationErrorType,\n OperationDescriptor,\n OperationResult,\n ResourceMutationManagerConfig,\n TransportAdapter,\n} from '~wildo-frontend-lib/core/resources/rmm/types';\nimport { ConflictStrategy, OperationResultStatus } from '~wildo-frontend-lib/core/resources/rmm/types';\n\nexport interface MockTransport {\n adapter: TransportAdapter;\n readonly lastDescriptor: OperationDescriptor | null;\n readonly callCount: number;\n resolveSuccess: (\n data?: Record<string, unknown>,\n newVersion?: number,\n fieldMeta?: Record<string, FieldMetaEntry>,\n ) => void;\n /** Answer that the write was HELD for another person's approval (#2288), as `HttpTransportAdapter` reports it. */\n resolveHeldForApproval: (heldForApproval: ResourceOperationApprovalPending) => void;\n resolveError: (\n type: MutationErrorType,\n opts?: {\n status?: number;\n message?: string;\n validationErrors?: Record<string, unknown>;\n conflictDetails?: MutationError['conflictDetails'];\n /** The caught transport failure, as `HttpTransportAdapter` records it. */\n cause?: unknown;\n /** `false` for a failure that may already have been applied (#3004), as `HttpTransportAdapter` judges it. */\n resendable?: boolean;\n },\n ) => void;\n reject: (error: Error) => void;\n reset: () => void;\n}\n\nexport function createMockTransport(): MockTransport {\n let resolveNext: ((result: OperationResult) => void) | null = null;\n let rejectNext: ((error: Error) => void) | null = null;\n let lastDescriptor: OperationDescriptor | null = null;\n let callCount = 0;\n\n const adapter: TransportAdapter = {\n execute: (descriptor: OperationDescriptor): Promise<OperationResult> => {\n lastDescriptor = descriptor;\n callCount++;\n return new Promise<OperationResult>((resolve, reject) => {\n resolveNext = resolve;\n rejectNext = reject;\n });\n },\n };\n\n return {\n adapter,\n get lastDescriptor() {\n return lastDescriptor;\n },\n get callCount() {\n return callCount;\n },\n resolveSuccess: (data?: Record<string, unknown>, newVersion?: number, fieldMeta?: Record<string, FieldMetaEntry>) => {\n resolveNext?.({ status: OperationResultStatus.SUCCESS, data, newVersion, fieldMeta });\n },\n resolveHeldForApproval: (heldForApproval: ResourceOperationApprovalPending) => {\n resolveNext?.({ status: OperationResultStatus.SUCCESS, heldForApproval });\n },\n resolveError: (\n type: MutationErrorType,\n opts?: {\n status?: number;\n message?: string;\n validationErrors?: Record<string, unknown>;\n conflictDetails?: MutationError['conflictDetails'];\n cause?: unknown;\n resendable?: boolean;\n },\n ) => {\n resolveNext?.({\n status: OperationResultStatus.ERROR,\n error: { type, ...opts },\n });\n },\n reject: (error: Error) => {\n rejectNext?.(error);\n },\n reset: () => {\n lastDescriptor = null;\n callCount = 0;\n resolveNext = null;\n rejectNext = null;\n },\n };\n}\n\n/** Drain microtasks — do not use `setTimeout` when fake timers are enabled. */\nexport function flushPromises(): Promise<void> {\n return new Promise((resolve) => {\n queueMicrotask(resolve);\n });\n}\n\nexport interface TestRMM {\n rmm: ResourceMutationManager;\n transport: MockTransport;\n config: ResourceMutationManagerConfig;\n}\n\nexport function createTestRMM(\n overrides?: Partial<ResourceMutationManagerConfig>,\n transport?: MockTransport,\n): TestRMM {\n const mockTransport = transport ?? createMockTransport();\n const config: ResourceMutationManagerConfig = {\n resourceType: 'test-resource',\n resourceId: 'test-id-1',\n transportAdapter: mockTransport.adapter,\n conflictPolicy: { strategy: ConflictStrategy.ACCEPT_REMOTE },\n currentUserId: 'user-1',\n contextualParameters: {},\n ...overrides,\n };\n return { rmm: new ResourceMutationManager(config), transport: mockTransport, config };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"test-providers.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-providers.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAyB1B,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;IACrC,IAAI,SAAS;IACb,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,EAAE,OAAO;IACT,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,YAAY,EAQvD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,0BAA0B,EAAE,YAAY,EAGpD,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,KAAK,YAAY,GAAG,YAAY,GAAG,qBAAqB,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;CACzD;AAiCD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAAC,CAuB3G"}
1
+ {"version":3,"file":"test-providers.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-providers.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAyB1B,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;IACrC,IAAI,SAAS;IACb,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,EAAE,OAAO;IACT,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,YAAY,EAQvD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,0BAA0B,EAAE,YAAY,EAGpD,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,KAAK,YAAY,GAAG,YAAY,GAAG,qBAAqB,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;CACzD;AAmCD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAAC,CAuB3G"}
@@ -88,6 +88,9 @@ function TestUIProvider({ children }) {
88
88
  const { frontendConfiguration, markComponentInitialized } = useApplication();
89
89
  const { on } = useEventBus();
90
90
  const subscribeToUserPreferences = React.useCallback((listener) => on(FrontendEvents.USER_PREFERENCES_CHANGED, (payload) => {
91
+ // No key, no news — see the production adapter in `ApplicationMainContext`.
92
+ if (!Object.prototype.hasOwnProperty.call(payload, 'uiPreferences'))
93
+ return;
91
94
  listener(payload.uiPreferences ?? null);
92
95
  }), [on]);
93
96
  const markInitialized = React.useCallback(() => markComponentInitialized(MainContextInitComponents.UI), [markComponentInitialized]);
@@ -1 +1 @@
1
- {"version":3,"file":"test-providers.js","sourceRoot":"","sources":["../../../../src/testing/test-providers.tsx"],"names":[],"mappings":";AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4DAA4D,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+DAA+D,CAAC;AAClG,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gEAAgE,CAAC;AAC1G,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EAAE,cAAc,EAA8B,MAAM,yDAAyD,CAAC;AACrH,OAAO,EAAE,yBAAyB,EAAE,MAAM,2DAA2D,CAAC;AACtG,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAE,wBAAwB,EAAE,MAAM,4DAA4D,CAAC;AAEtG,OAAO,EAAE,iCAAiC,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAEnG,MAAM,CAAN,IAAY,YAgBX;AAhBD,WAAY,YAAY;IACtB,qCAAqB,CAAA;IACrB,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;IACnB,+BAAe,CAAA;IACf,2CAA2B,CAAA;IAC3B,qDAAqC,CAAA;IACrC,6BAAa,CAAA;IACb,6CAA6B,CAAA;IAC7B,uCAAuB,CAAA;IACvB,yBAAS,CAAA;IACT,6CAA6B,CAAA;IAC7B,iDAAiC,CAAA;IACjC,qDAAqC,CAAA;IACrC,2CAA2B,CAAA;IAC3B,iCAAiB,CAAA;AACnB,CAAC,EAhBW,YAAY,KAAZ,YAAY,QAgBvB;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAmB;IAC3D,YAAY,CAAC,QAAQ;IACrB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,WAAW;IACxB,YAAY,CAAC,SAAS;IACtB,YAAY,CAAC,gBAAgB;IAC7B,YAAY,CAAC,gBAAgB;IAC7B,YAAY,CAAC,IAAI;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAmB;IACxD,GAAG,6BAA6B;IAChC,YAAY,CAAC,YAAY;CAC1B,CAAC;AAcF,SAAS,WAAW,CAAC,IAAkB;IACrC,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC/D,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;AACtD,CAAC;AAED,oFAAoF;AACpF,SAAS,cAAc,CAAC,EAAE,QAAQ,EAAiC;IACjE,MAAM,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,GAAG,cAAc,EAAE,CAAC;IAC7E,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;IAC7B,MAAM,0BAA0B,GAAG,KAAK,CAAC,WAAW,CAClD,CAAC,QAA6D,EAAgB,EAAE,CAC9E,EAAE,CAAC,cAAc,CAAC,wBAAwB,EAAE,CAAC,OAAuE,EAAE,EAAE;QACtH,QAAQ,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC,EACJ,CAAC,EAAE,CAAC,CACL,CAAC;IACF,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CACvC,GAAS,EAAE,CAAC,wBAAwB,CAAC,yBAAyB,CAAC,EAAE,CAAC,EAClE,CAAC,wBAAwB,CAAC,CAC3B,CAAC;IACF,OAAO,CACL,KAAC,UAAU,IACT,qBAAqB,EAAE,qBAAqB,EAC5C,0BAA0B,EAAE,0BAA0B,EACtD,eAAe,EAAE,eAAe,YAE/B,QAAQ,GACE,CACd,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAA8B,EAAE;IAChE,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAErD,MAAM,OAAO,GAA4C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxE,IAAI,OAAO,GAAG,4BAAG,QAAQ,GAAI,CAAC;QAE9B,IAAI,gBAAgB,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,gBAAgB,EAAE,CAAC;gBAChD,MAAM,YAAY,GAAG,OAAiC,CAAC;gBACvD,OAAO,GAAG,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,OAAO,GAAyB,CAAC;YACnF,CAAC;QACH,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC;IACpC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAkB,EAClB,QAA4B,EAC5B,KAA8B;IAE9B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY,CAAC,QAAQ;YACxB,OAAO,KAAC,gBAAgB,cAAE,QAAQ,GAAoB,CAAC;QAEzD,KAAK,YAAY,CAAC,SAAS;YACzB,OAAO,KAAC,iBAAiB,cAAE,QAAQ,GAAqB,CAAC;QAE3D,KAAK,YAAY,CAAC,OAAO;YACvB,OAAO,KAAC,eAAe,cAAE,QAAQ,GAAmB,CAAC;QAEvD,KAAK,YAAY,CAAC,KAAK;YACrB,OAAO,KAAC,aAAa,cAAE,QAAQ,GAAiB,CAAC;QAEnD,KAAK,YAAY,CAAC,WAAW;YAC3B,OAAO,CACL,KAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,iCAAiC,CAAC,KAAwC,CAAC,YAC5G,QAAQ,GACmB,CAC/B,CAAC;QAEJ,KAAK,YAAY,CAAC,gBAAgB;YAChC,OAAO,KAAC,wBAAwB,cAAE,QAAQ,GAA4B,CAAC;QAEzE,KAAK,YAAY,CAAC,IAAI;YACpB,OAAO,KAAC,YAAY,cAAE,QAAQ,GAAgB,CAAC;QAEjD,KAAK,YAAY,CAAC,YAAY;YAC5B,OAAO,KAAC,oBAAoB,cAAE,QAAQ,GAAwB,CAAC;QAEjE,KAAK,YAAY,CAAC,SAAS;YACzB,OAAO,KAAC,wBAAwB,cAAE,QAAQ,GAA4B,CAAC;QAEzE,KAAK,YAAY,CAAC,EAAE;YAClB,OAAO,KAAC,cAAc,cAAE,QAAQ,GAAkB,CAAC;QAErD,KAAK,YAAY,CAAC,YAAY;YAC5B,OAAO,KAAC,oBAAoB,cAAE,QAAQ,GAAwB,CAAC;QAEjE,KAAK,YAAY,CAAC,cAAc;YAC9B,OAAO,KAAC,sBAAsB,cAAE,QAAQ,GAA0B,CAAC;QAErE,KAAK,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACnC,MAAM,IAAI,GAAI,KAAK,CAAC,mBAA0D,IAAI,6BAA6B,EAAE,CAAC;YAClH,OAAO,KAAC,wBAAwB,IAAC,mBAAmB,EAAE,IAAI,YAAG,QAAQ,GAA4B,CAAC;QACpG,CAAC;QAED,KAAK,YAAY,CAAC,WAAW;YAC3B,OAAO,KAAC,mBAAmB,cAAE,QAAQ,GAAuB,CAAC;QAE/D,KAAK,YAAY,CAAC,MAAM;YACtB,OAAO,KAAC,YAAY,cAAE,QAAQ,GAAgB,CAAC;QAEjD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,IAAI,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["/**\n * Composable test wrapper factory and {@link TestProvider} enum for mounting engine contexts in tests.\n */\nimport React from 'react';\nimport type { UserPreferences } from '@wildo-ai/saas-models';\nimport { MemoryRouter } from 'react-router-dom';\nimport type { ApplicationContextType } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { ApplicationContext } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { EventBusProvider } from '~wildo-frontend-lib/core/events/EventBusContext';\nimport { WebSocketProvider } from '~wildo-frontend-lib/core/requests/websockets/WebSocketContext';\nimport { IconRegistryProvider } from '~wildo-frontend-lib/core/icons/IconRegistryContext';\nimport { HotkeyRegistryProvider } from '~wildo-frontend-lib/core/hotkey/HotkeyRegistryContext';\nimport { RMMRegistryProvider } from '~wildo-frontend-lib/core/resources/rmm/RMMRegistryContext';\nimport { LoadingProvider } from '~wildo-frontend-lib/core/loading/LoadingContext';\nimport { ErrorProvider } from '~wildo-frontend-lib/core/errors/ErrorContext';\nimport { NotificationProvider } from '~wildo-frontend-lib/core/events/NotificationContext';\nimport { I18nProvider } from '~wildo-frontend-lib/core/i18n/I18nContext';\nimport { AnalyticsContextProvider } from '~wildo-frontend-lib/core/monitoring/analytics/AnalyticsContext';\nimport { UIProvider } from '~wildo-frontend-lib/core/ui/UIContext';\nimport { useApplication } from '~wildo-frontend-lib/core/runtime/useApplication';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { FrontendEvents, type FrontendEventPayloads } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { MainContextInitComponents } from '~wildo-frontend-lib/core/runtime/runtime.frontend.schemas';\nimport { AnonymousSessionProvider } from '~wildo-frontend-lib/core/security/AnonymousSessionContext';\nimport { ResourceRegistryProvider } from '~wildo-frontend-lib/core/resources/ResourceRegistryContext';\nimport type { ResourcesRepositoryFrontendService } from '~wildo-frontend-lib/core/resources/resources-repository.frontend.service';\nimport { createMockApplicationContextValue, createMockResourcesRepository } from './mock-builders';\n\nexport enum TestProvider {\n EventBus = 'EventBus',\n WebSocket = 'WebSocket',\n Loading = 'Loading',\n Error = 'Error',\n Application = 'Application',\n AnonymousSession = 'AnonymousSession',\n I18n = 'I18n',\n Notification = 'Notification',\n Analytics = 'Analytics',\n UI = 'UI',\n IconRegistry = 'IconRegistry',\n HotkeyRegistry = 'HotkeyRegistry',\n ResourceRegistry = 'ResourceRegistry',\n RMMRegistry = 'RMMRegistry',\n Router = 'Router',\n}\n\n/**\n * Real provider stack required by {@link AuthSessionProvider} (outer → inner order for {@link createTestWrapper}).\n */\nexport const AUTH_SESSION_PARENT_PROVIDERS: TestProvider[] = [\n TestProvider.EventBus,\n TestProvider.Error,\n TestProvider.Application,\n TestProvider.WebSocket,\n TestProvider.AnonymousSession,\n TestProvider.ResourceRegistry,\n TestProvider.I18n,\n];\n\n/**\n * Provider stack for tests that mount a REAL engine component tree (as opposed to\n * a single context in isolation) — e.g. `ExecutionView`, `AppRouter`, anything\n * that renders view chrome.\n *\n * Why this exists as a named constant instead of each test hand-listing providers:\n * every engine component that renders chrome eventually calls `useIconRegistry`\n * (through `ViewLayout_Header`, action bars, field chrome, …), and those hooks\n * throw rather than degrade. When a component picks up a NEW context dependency,\n * a hand-listed stack rots silently in every test file at once — that is exactly\n * how ~84 tests across 10 files went red on one `useIconRegistry` addition. Adding\n * the dependency HERE is a one-line change instead of a ten-file sweep.\n *\n * `IconRegistry` is appended INSIDE `AUTH_SESSION_PARENT_PROVIDERS` (innermost),\n * mirroring `ApplicationMainContext`, where `IconRegistryBridge`/`IconRegistryProvider`\n * sit below `ResourceRegistryProvider` + `I18nProvider`. `IconRegistryProvider`\n * itself has no context dependencies, so the nesting is order-safe.\n *\n * Use `AUTH_SESSION_PARENT_PROVIDERS` when the test mounts a context/hook directly\n * and renders no engine chrome; use this when it renders components.\n */\nexport const ENGINE_UI_PARENT_PROVIDERS: TestProvider[] = [\n ...AUTH_SESSION_PARENT_PROVIDERS,\n TestProvider.IconRegistry,\n];\n\ntype ProviderSpecWithProps = {\n name: TestProvider;\n props?: Record<string, unknown>;\n};\n\ntype ProviderSpec = TestProvider | ProviderSpecWithProps;\n\nexport interface TestWrapperOptions {\n providers?: ProviderSpec[];\n contextOverrides?: Map<React.Context<unknown>, unknown>;\n}\n\nfunction resolveSpec(spec: ProviderSpec): { name: TestProvider; props: Record<string, unknown> } {\n if (typeof spec === 'string') return { name: spec, props: {} };\n return { name: spec.name, props: spec.props ?? {} };\n}\n\n/** Mirrors the SaaS UI adapter while retaining the composable test-provider API. */\nfunction TestUIProvider({ children }: { children: React.ReactNode }): React.ReactElement {\n const { frontendConfiguration, markComponentInitialized } = useApplication();\n const { on } = useEventBus();\n const subscribeToUserPreferences = React.useCallback(\n (listener: (preferences: UserPreferences['ui'] | null) => void): (() => void) =>\n on(FrontendEvents.USER_PREFERENCES_CHANGED, (payload: FrontendEventPayloads[FrontendEvents.USER_PREFERENCES_CHANGED]) => {\n listener(payload.uiPreferences ?? null);\n }),\n [on],\n );\n const markInitialized = React.useCallback(\n (): void => markComponentInitialized(MainContextInitComponents.UI),\n [markComponentInitialized],\n );\n return (\n <UIProvider\n frontendConfiguration={frontendConfiguration}\n subscribeToUserPreferences={subscribeToUserPreferences}\n markInitialized={markInitialized}\n >\n {children}\n </UIProvider>\n );\n}\n\n/**\n * Builds a wrapper component that nests the requested providers.\n * Providers are mounted in the order specified — callers are responsible\n * for dependency order (e.g., EventBus before Error).\n */\nexport function createTestWrapper(options: TestWrapperOptions = {}): React.FC<{ children: React.ReactNode }> {\n const { providers = [], contextOverrides } = options;\n\n const Wrapper: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n let element = <>{children}</>;\n\n if (contextOverrides) {\n for (const [Context, value] of contextOverrides) {\n const TypedContext = Context as React.Context<unknown>;\n element = <TypedContext.Provider value={value}>{element}</TypedContext.Provider>;\n }\n }\n\n for (let i = providers.length - 1; i >= 0; i--) {\n const { name, props } = resolveSpec(providers[i]);\n element = wrapWithProvider(name, element, props);\n }\n\n return element;\n };\n\n Wrapper.displayName = 'TestWrapper';\n return Wrapper;\n}\n\nfunction wrapWithProvider(\n name: TestProvider,\n children: React.ReactElement,\n props: Record<string, unknown>,\n): React.ReactElement {\n switch (name) {\n case TestProvider.EventBus:\n return <EventBusProvider>{children}</EventBusProvider>;\n\n case TestProvider.WebSocket:\n return <WebSocketProvider>{children}</WebSocketProvider>;\n\n case TestProvider.Loading:\n return <LoadingProvider>{children}</LoadingProvider>;\n\n case TestProvider.Error:\n return <ErrorProvider>{children}</ErrorProvider>;\n\n case TestProvider.Application:\n return (\n <ApplicationContext.Provider value={createMockApplicationContextValue(props as Partial<ApplicationContextType>)}>\n {children}\n </ApplicationContext.Provider>\n );\n\n case TestProvider.AnonymousSession:\n return <AnonymousSessionProvider>{children}</AnonymousSessionProvider>;\n\n case TestProvider.I18n:\n return <I18nProvider>{children}</I18nProvider>;\n\n case TestProvider.Notification:\n return <NotificationProvider>{children}</NotificationProvider>;\n\n case TestProvider.Analytics:\n return <AnalyticsContextProvider>{children}</AnalyticsContextProvider>;\n\n case TestProvider.UI:\n return <TestUIProvider>{children}</TestUIProvider>;\n\n case TestProvider.IconRegistry:\n return <IconRegistryProvider>{children}</IconRegistryProvider>;\n\n case TestProvider.HotkeyRegistry:\n return <HotkeyRegistryProvider>{children}</HotkeyRegistryProvider>;\n\n case TestProvider.ResourceRegistry: {\n const repo = (props.resourcesRepository as ResourcesRepositoryFrontendService) ?? createMockResourcesRepository();\n return <ResourceRegistryProvider resourcesRepository={repo}>{children}</ResourceRegistryProvider>;\n }\n\n case TestProvider.RMMRegistry:\n return <RMMRegistryProvider>{children}</RMMRegistryProvider>;\n\n case TestProvider.Router:\n return <MemoryRouter>{children}</MemoryRouter>;\n\n default: {\n const _exhaustive: never = name;\n throw new Error(`Unknown TestProvider: ${_exhaustive}`);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"test-providers.js","sourceRoot":"","sources":["../../../../src/testing/test-providers.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Composable test wrapper factory and {@link TestProvider} enum for mounting engine contexts in tests.\n */\nimport React from 'react';\nimport type { UserPreferences } from '@wildo-ai/saas-models';\nimport { MemoryRouter } from 'react-router-dom';\nimport type { ApplicationContextType } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { ApplicationContext } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { EventBusProvider } from '~wildo-frontend-lib/core/events/EventBusContext';\nimport { WebSocketProvider } from '~wildo-frontend-lib/core/requests/websockets/WebSocketContext';\nimport { IconRegistryProvider } from '~wildo-frontend-lib/core/icons/IconRegistryContext';\nimport { HotkeyRegistryProvider } from '~wildo-frontend-lib/core/hotkey/HotkeyRegistryContext';\nimport { RMMRegistryProvider } from '~wildo-frontend-lib/core/resources/rmm/RMMRegistryContext';\nimport { LoadingProvider } from '~wildo-frontend-lib/core/loading/LoadingContext';\nimport { ErrorProvider } from '~wildo-frontend-lib/core/errors/ErrorContext';\nimport { NotificationProvider } from '~wildo-frontend-lib/core/events/NotificationContext';\nimport { I18nProvider } from '~wildo-frontend-lib/core/i18n/I18nContext';\nimport { AnalyticsContextProvider } from '~wildo-frontend-lib/core/monitoring/analytics/AnalyticsContext';\nimport { UIProvider } from '~wildo-frontend-lib/core/ui/UIContext';\nimport { useApplication } from '~wildo-frontend-lib/core/runtime/useApplication';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { FrontendEvents, type FrontendEventPayloads } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { MainContextInitComponents } from '~wildo-frontend-lib/core/runtime/runtime.frontend.schemas';\nimport { AnonymousSessionProvider } from '~wildo-frontend-lib/core/security/AnonymousSessionContext';\nimport { ResourceRegistryProvider } from '~wildo-frontend-lib/core/resources/ResourceRegistryContext';\nimport type { ResourcesRepositoryFrontendService } from '~wildo-frontend-lib/core/resources/resources-repository.frontend.service';\nimport { createMockApplicationContextValue, createMockResourcesRepository } from './mock-builders';\n\nexport enum TestProvider {\n EventBus = 'EventBus',\n WebSocket = 'WebSocket',\n Loading = 'Loading',\n Error = 'Error',\n Application = 'Application',\n AnonymousSession = 'AnonymousSession',\n I18n = 'I18n',\n Notification = 'Notification',\n Analytics = 'Analytics',\n UI = 'UI',\n IconRegistry = 'IconRegistry',\n HotkeyRegistry = 'HotkeyRegistry',\n ResourceRegistry = 'ResourceRegistry',\n RMMRegistry = 'RMMRegistry',\n Router = 'Router',\n}\n\n/**\n * Real provider stack required by {@link AuthSessionProvider} (outer → inner order for {@link createTestWrapper}).\n */\nexport const AUTH_SESSION_PARENT_PROVIDERS: TestProvider[] = [\n TestProvider.EventBus,\n TestProvider.Error,\n TestProvider.Application,\n TestProvider.WebSocket,\n TestProvider.AnonymousSession,\n TestProvider.ResourceRegistry,\n TestProvider.I18n,\n];\n\n/**\n * Provider stack for tests that mount a REAL engine component tree (as opposed to\n * a single context in isolation) — e.g. `ExecutionView`, `AppRouter`, anything\n * that renders view chrome.\n *\n * Why this exists as a named constant instead of each test hand-listing providers:\n * every engine component that renders chrome eventually calls `useIconRegistry`\n * (through `ViewLayout_Header`, action bars, field chrome, …), and those hooks\n * throw rather than degrade. When a component picks up a NEW context dependency,\n * a hand-listed stack rots silently in every test file at once — that is exactly\n * how ~84 tests across 10 files went red on one `useIconRegistry` addition. Adding\n * the dependency HERE is a one-line change instead of a ten-file sweep.\n *\n * `IconRegistry` is appended INSIDE `AUTH_SESSION_PARENT_PROVIDERS` (innermost),\n * mirroring `ApplicationMainContext`, where `IconRegistryBridge`/`IconRegistryProvider`\n * sit below `ResourceRegistryProvider` + `I18nProvider`. `IconRegistryProvider`\n * itself has no context dependencies, so the nesting is order-safe.\n *\n * Use `AUTH_SESSION_PARENT_PROVIDERS` when the test mounts a context/hook directly\n * and renders no engine chrome; use this when it renders components.\n */\nexport const ENGINE_UI_PARENT_PROVIDERS: TestProvider[] = [\n ...AUTH_SESSION_PARENT_PROVIDERS,\n TestProvider.IconRegistry,\n];\n\ntype ProviderSpecWithProps = {\n name: TestProvider;\n props?: Record<string, unknown>;\n};\n\ntype ProviderSpec = TestProvider | ProviderSpecWithProps;\n\nexport interface TestWrapperOptions {\n providers?: ProviderSpec[];\n contextOverrides?: Map<React.Context<unknown>, unknown>;\n}\n\nfunction resolveSpec(spec: ProviderSpec): { name: TestProvider; props: Record<string, unknown> } {\n if (typeof spec === 'string') return { name: spec, props: {} };\n return { name: spec.name, props: spec.props ?? {} };\n}\n\n/** Mirrors the SaaS UI adapter while retaining the composable test-provider API. */\nfunction TestUIProvider({ children }: { children: React.ReactNode }): React.ReactElement {\n const { frontendConfiguration, markComponentInitialized } = useApplication();\n const { on } = useEventBus();\n const subscribeToUserPreferences = React.useCallback(\n (listener: (preferences: UserPreferences['ui'] | null) => void): (() => void) =>\n on(FrontendEvents.USER_PREFERENCES_CHANGED, (payload: FrontendEventPayloads[FrontendEvents.USER_PREFERENCES_CHANGED]) => {\n // No key, no news — see the production adapter in `ApplicationMainContext`.\n if (!Object.prototype.hasOwnProperty.call(payload, 'uiPreferences')) return;\n listener(payload.uiPreferences ?? null);\n }),\n [on],\n );\n const markInitialized = React.useCallback(\n (): void => markComponentInitialized(MainContextInitComponents.UI),\n [markComponentInitialized],\n );\n return (\n <UIProvider\n frontendConfiguration={frontendConfiguration}\n subscribeToUserPreferences={subscribeToUserPreferences}\n markInitialized={markInitialized}\n >\n {children}\n </UIProvider>\n );\n}\n\n/**\n * Builds a wrapper component that nests the requested providers.\n * Providers are mounted in the order specified — callers are responsible\n * for dependency order (e.g., EventBus before Error).\n */\nexport function createTestWrapper(options: TestWrapperOptions = {}): React.FC<{ children: React.ReactNode }> {\n const { providers = [], contextOverrides } = options;\n\n const Wrapper: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n let element = <>{children}</>;\n\n if (contextOverrides) {\n for (const [Context, value] of contextOverrides) {\n const TypedContext = Context as React.Context<unknown>;\n element = <TypedContext.Provider value={value}>{element}</TypedContext.Provider>;\n }\n }\n\n for (let i = providers.length - 1; i >= 0; i--) {\n const { name, props } = resolveSpec(providers[i]);\n element = wrapWithProvider(name, element, props);\n }\n\n return element;\n };\n\n Wrapper.displayName = 'TestWrapper';\n return Wrapper;\n}\n\nfunction wrapWithProvider(\n name: TestProvider,\n children: React.ReactElement,\n props: Record<string, unknown>,\n): React.ReactElement {\n switch (name) {\n case TestProvider.EventBus:\n return <EventBusProvider>{children}</EventBusProvider>;\n\n case TestProvider.WebSocket:\n return <WebSocketProvider>{children}</WebSocketProvider>;\n\n case TestProvider.Loading:\n return <LoadingProvider>{children}</LoadingProvider>;\n\n case TestProvider.Error:\n return <ErrorProvider>{children}</ErrorProvider>;\n\n case TestProvider.Application:\n return (\n <ApplicationContext.Provider value={createMockApplicationContextValue(props as Partial<ApplicationContextType>)}>\n {children}\n </ApplicationContext.Provider>\n );\n\n case TestProvider.AnonymousSession:\n return <AnonymousSessionProvider>{children}</AnonymousSessionProvider>;\n\n case TestProvider.I18n:\n return <I18nProvider>{children}</I18nProvider>;\n\n case TestProvider.Notification:\n return <NotificationProvider>{children}</NotificationProvider>;\n\n case TestProvider.Analytics:\n return <AnalyticsContextProvider>{children}</AnalyticsContextProvider>;\n\n case TestProvider.UI:\n return <TestUIProvider>{children}</TestUIProvider>;\n\n case TestProvider.IconRegistry:\n return <IconRegistryProvider>{children}</IconRegistryProvider>;\n\n case TestProvider.HotkeyRegistry:\n return <HotkeyRegistryProvider>{children}</HotkeyRegistryProvider>;\n\n case TestProvider.ResourceRegistry: {\n const repo = (props.resourcesRepository as ResourcesRepositoryFrontendService) ?? createMockResourcesRepository();\n return <ResourceRegistryProvider resourcesRepository={repo}>{children}</ResourceRegistryProvider>;\n }\n\n case TestProvider.RMMRegistry:\n return <RMMRegistryProvider>{children}</RMMRegistryProvider>;\n\n case TestProvider.Router:\n return <MemoryRouter>{children}</MemoryRouter>;\n\n default: {\n const _exhaustive: never = name;\n throw new Error(`Unknown TestProvider: ${_exhaustive}`);\n }\n }\n}\n"]}