@wildo-ai/saas-frontend-lib 1.1.2 → 1.1.4

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 (1938) hide show
  1. package/dist/esm/browser-bootstrap/theme-bootstrap.d.ts.map +1 -1
  2. package/dist/esm/browser-bootstrap/theme-bootstrap.js.map +1 -1
  3. package/dist/esm/browser-bootstrap.exports.d.ts.map +1 -1
  4. package/dist/esm/browser-bootstrap.exports.js.map +1 -1
  5. package/dist/esm/companion-exports.d.ts +1 -1
  6. package/dist/esm/companion-exports.d.ts.map +1 -1
  7. package/dist/esm/companion-exports.js +1 -1
  8. package/dist/esm/companion-exports.js.map +1 -1
  9. package/dist/esm/companion-runtime-exports.d.ts.map +1 -1
  10. package/dist/esm/companion-runtime-exports.js.map +1 -1
  11. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  12. package/dist/esm/components/actions/action-bar.js.map +1 -1
  13. package/dist/esm/components/actions/action-button.d.ts.map +1 -1
  14. package/dist/esm/components/actions/action-button.js.map +1 -1
  15. package/dist/esm/components/actions/button-group.d.ts.map +1 -1
  16. package/dist/esm/components/actions/button-group.js.map +1 -1
  17. package/dist/esm/components/actions/button.d.ts.map +1 -1
  18. package/dist/esm/components/actions/button.js.map +1 -1
  19. package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.d.ts.map +1 -1
  20. package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.js.map +1 -1
  21. package/dist/esm/components/ai-elements/artifacts/artifact-list.d.ts.map +1 -1
  22. package/dist/esm/components/ai-elements/artifacts/artifact-list.js.map +1 -1
  23. package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
  24. package/dist/esm/components/ai-elements/artifacts/artifact.js.map +1 -1
  25. package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
  26. package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
  27. package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
  28. package/dist/esm/components/ai-elements/artifacts/image.js.map +1 -1
  29. package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
  30. package/dist/esm/components/ai-elements/artifacts/web-preview.js.map +1 -1
  31. package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
  32. package/dist/esm/components/ai-elements/chat/conversation.js.map +1 -1
  33. package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
  34. package/dist/esm/components/ai-elements/chat/message.js.map +1 -1
  35. package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
  36. package/dist/esm/components/ai-elements/chat/prompt-input.js.map +1 -1
  37. package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
  38. package/dist/esm/components/ai-elements/chat/sources.js.map +1 -1
  39. package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
  40. package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
  41. package/dist/esm/components/ai-elements/decision/approval.d.ts +28 -3
  42. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  43. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  44. package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
  45. package/dist/esm/components/ai-elements/execution/confirmation.js.map +1 -1
  46. package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
  47. package/dist/esm/components/ai-elements/execution/queue.js.map +1 -1
  48. package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
  49. package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
  50. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  51. package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
  52. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  53. package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
  54. package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
  55. package/dist/esm/components/ai-elements/graph/connection.js.map +1 -1
  56. package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
  57. package/dist/esm/components/ai-elements/graph/controls.js.map +1 -1
  58. package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
  59. package/dist/esm/components/ai-elements/graph/edge.js.map +1 -1
  60. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  61. package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
  62. package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
  63. package/dist/esm/components/ai-elements/graph/panel.js.map +1 -1
  64. package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
  65. package/dist/esm/components/ai-elements/graph/toolbar.js.map +1 -1
  66. package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts.map +1 -1
  67. package/dist/esm/components/ai-elements/meta/agent-wrappers.js.map +1 -1
  68. package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
  69. package/dist/esm/components/ai-elements/meta/context.js.map +1 -1
  70. package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
  71. package/dist/esm/components/ai-elements/meta/model-selector.js.map +1 -1
  72. package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
  73. package/dist/esm/components/ai-elements/meta/open-in-chat.js.map +1 -1
  74. package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
  75. package/dist/esm/components/ai-elements/shared/loader.js.map +1 -1
  76. package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
  77. package/dist/esm/components/ai-elements/shared/shimmer.js.map +1 -1
  78. package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
  79. package/dist/esm/components/ai-elements/stream/execution-stream.js.map +1 -1
  80. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
  81. package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
  82. package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
  83. package/dist/esm/components/ai-elements/trace/checkpoint.js.map +1 -1
  84. package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
  85. package/dist/esm/components/ai-elements/trace/inline-citation.js.map +1 -1
  86. package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
  87. package/dist/esm/components/ai-elements/trace/plan.js.map +1 -1
  88. package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
  89. package/dist/esm/components/ai-elements/trace/reasoning.js.map +1 -1
  90. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
  91. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
  92. package/dist/esm/components/app/AppLayout_ErrorBoundary.d.ts.map +1 -1
  93. package/dist/esm/components/app/AppLayout_ErrorBoundary.js.map +1 -1
  94. package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.d.ts.map +1 -1
  95. package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.js.map +1 -1
  96. package/dist/esm/components/app/AppLayout_Home.d.ts.map +1 -1
  97. package/dist/esm/components/app/AppLayout_Home.js.map +1 -1
  98. package/dist/esm/components/app/AppLayout_Home.labels.d.ts.map +1 -1
  99. package/dist/esm/components/app/AppLayout_Home.labels.js.map +1 -1
  100. package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
  101. package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
  102. package/dist/esm/components/app/AppLayout_NotificationCenter.d.ts.map +1 -1
  103. package/dist/esm/components/app/AppLayout_NotificationCenter.js +7 -2
  104. package/dist/esm/components/app/AppLayout_NotificationCenter.js.map +1 -1
  105. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.d.ts.map +1 -1
  106. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js.map +1 -1
  107. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.d.ts.map +1 -1
  108. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js.map +1 -1
  109. package/dist/esm/components/app/AppPage_Home.d.ts.map +1 -1
  110. package/dist/esm/components/app/AppPage_Home.js.map +1 -1
  111. package/dist/esm/components/app/PublicLayout_MainContainer.d.ts.map +1 -1
  112. package/dist/esm/components/app/PublicLayout_MainContainer.js.map +1 -1
  113. package/dist/esm/components/app/PublicLayout_StaticContentContainer.d.ts.map +1 -1
  114. package/dist/esm/components/app/PublicLayout_StaticContentContainer.js.map +1 -1
  115. package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.d.ts.map +1 -1
  116. package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.js.map +1 -1
  117. package/dist/esm/components/app/PublicLayout_Terms.labels.d.ts.map +1 -1
  118. package/dist/esm/components/app/PublicLayout_Terms.labels.js.map +1 -1
  119. package/dist/esm/components/auth/Auth_AuthCallback.d.ts.map +1 -1
  120. package/dist/esm/components/auth/Auth_AuthCallback.js.map +1 -1
  121. package/dist/esm/components/auth/Auth_AuthCallback.labels.d.ts.map +1 -1
  122. package/dist/esm/components/auth/Auth_AuthCallback.labels.js.map +1 -1
  123. package/dist/esm/components/auth/Auth_ConfirmEmail.d.ts.map +1 -1
  124. package/dist/esm/components/auth/Auth_ConfirmEmail.js.map +1 -1
  125. package/dist/esm/components/auth/Auth_ConfirmEmail.labels.d.ts.map +1 -1
  126. package/dist/esm/components/auth/Auth_ConfirmEmail.labels.js.map +1 -1
  127. package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
  128. package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
  129. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.d.ts.map +1 -1
  130. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js.map +1 -1
  131. package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
  132. package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
  133. package/dist/esm/components/auth/Auth_Invitation.labels.d.ts.map +1 -1
  134. package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
  135. package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts.map +1 -1
  136. package/dist/esm/components/auth/Auth_MagicLinkVerify.js.map +1 -1
  137. package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.d.ts.map +1 -1
  138. package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.js.map +1 -1
  139. package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
  140. package/dist/esm/components/auth/Auth_Main.js.map +1 -1
  141. package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
  142. package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
  143. package/dist/esm/components/auth/Auth_MfaChallenge.d.ts.map +1 -1
  144. package/dist/esm/components/auth/Auth_MfaChallenge.js.map +1 -1
  145. package/dist/esm/components/auth/Auth_MfaChallenge.labels.d.ts.map +1 -1
  146. package/dist/esm/components/auth/Auth_MfaChallenge.labels.js.map +1 -1
  147. package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
  148. package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
  149. package/dist/esm/components/auth/Auth_OAuthConsent.labels.d.ts.map +1 -1
  150. package/dist/esm/components/auth/Auth_OAuthConsent.labels.js.map +1 -1
  151. package/dist/esm/components/auth/Auth_OAuthLoggedOut.d.ts.map +1 -1
  152. package/dist/esm/components/auth/Auth_OAuthLoggedOut.js.map +1 -1
  153. package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.d.ts.map +1 -1
  154. package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.js.map +1 -1
  155. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.d.ts.map +1 -1
  156. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.js.map +1 -1
  157. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.d.ts.map +1 -1
  158. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.js.map +1 -1
  159. package/dist/esm/components/auth/Auth_OneOffSession.d.ts.map +1 -1
  160. package/dist/esm/components/auth/Auth_OneOffSession.js.map +1 -1
  161. package/dist/esm/components/auth/Auth_OneOffSession.labels.d.ts.map +1 -1
  162. package/dist/esm/components/auth/Auth_OneOffSession.labels.js.map +1 -1
  163. package/dist/esm/components/auth/Auth_PasswordLost.d.ts.map +1 -1
  164. package/dist/esm/components/auth/Auth_PasswordLost.js.map +1 -1
  165. package/dist/esm/components/auth/Auth_PasswordLost.labels.d.ts.map +1 -1
  166. package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
  167. package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
  168. package/dist/esm/components/auth/Auth_Register.js.map +1 -1
  169. package/dist/esm/components/auth/Auth_Register.labels.d.ts.map +1 -1
  170. package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
  171. package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
  172. package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
  173. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
  174. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
  175. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
  176. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
  177. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
  178. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
  179. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.d.ts.map +1 -1
  180. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.js.map +1 -1
  181. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.d.ts.map +1 -1
  182. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
  183. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
  184. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
  185. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.d.ts.map +1 -1
  186. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js.map +1 -1
  187. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.d.ts.map +1 -1
  188. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js.map +1 -1
  189. package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts.map +1 -1
  190. package/dist/esm/components/auth/enrollment/enrollment-method-components.js.map +1 -1
  191. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.d.ts.map +1 -1
  192. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js.map +1 -1
  193. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
  194. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
  195. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.d.ts.map +1 -1
  196. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js.map +1 -1
  197. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.d.ts.map +1 -1
  198. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js.map +1 -1
  199. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
  200. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
  201. package/dist/esm/components/auth/methods/PasskeyAuthMethod.d.ts.map +1 -1
  202. package/dist/esm/components/auth/methods/PasskeyAuthMethod.js.map +1 -1
  203. package/dist/esm/components/auth/methods/PasswordAuthMethod.d.ts.map +1 -1
  204. package/dist/esm/components/auth/methods/PasswordAuthMethod.js.map +1 -1
  205. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.d.ts.map +1 -1
  206. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js.map +1 -1
  207. package/dist/esm/components/auth/methods/TotpAuthMethod.d.ts.map +1 -1
  208. package/dist/esm/components/auth/methods/TotpAuthMethod.js.map +1 -1
  209. package/dist/esm/components/auth/methods/auth-method-components.d.ts.map +1 -1
  210. package/dist/esm/components/auth/methods/auth-method-components.js.map +1 -1
  211. package/dist/esm/components/auth/pages/AuthPage_AuthCallback.d.ts.map +1 -1
  212. package/dist/esm/components/auth/pages/AuthPage_AuthCallback.js.map +1 -1
  213. package/dist/esm/components/auth/pages/AuthPage_AuthExchange.d.ts.map +1 -1
  214. package/dist/esm/components/auth/pages/AuthPage_AuthExchange.js.map +1 -1
  215. package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.d.ts.map +1 -1
  216. package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.js.map +1 -1
  217. package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.d.ts.map +1 -1
  218. package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.js.map +1 -1
  219. package/dist/esm/components/auth/pages/AuthPage_Invitation.d.ts.map +1 -1
  220. package/dist/esm/components/auth/pages/AuthPage_Invitation.js.map +1 -1
  221. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts.map +1 -1
  222. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js.map +1 -1
  223. package/dist/esm/components/auth/pages/AuthPage_Main.d.ts.map +1 -1
  224. package/dist/esm/components/auth/pages/AuthPage_Main.js.map +1 -1
  225. package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.d.ts.map +1 -1
  226. package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.js.map +1 -1
  227. package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.d.ts.map +1 -1
  228. package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.js.map +1 -1
  229. package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.d.ts.map +1 -1
  230. package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.js.map +1 -1
  231. package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.d.ts.map +1 -1
  232. package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.js.map +1 -1
  233. package/dist/esm/components/auth/pages/AuthPage_OneOffSession.d.ts.map +1 -1
  234. package/dist/esm/components/auth/pages/AuthPage_OneOffSession.js.map +1 -1
  235. package/dist/esm/components/auth/pages/AuthPage_PasswordLost.d.ts.map +1 -1
  236. package/dist/esm/components/auth/pages/AuthPage_PasswordLost.js.map +1 -1
  237. package/dist/esm/components/auth/pages/AuthPage_Register.d.ts.map +1 -1
  238. package/dist/esm/components/auth/pages/AuthPage_Register.js.map +1 -1
  239. package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.d.ts.map +1 -1
  240. package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.js.map +1 -1
  241. package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.d.ts.map +1 -1
  242. package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.js.map +1 -1
  243. package/dist/esm/components/auth/utils/LabeledDivider.d.ts.map +1 -1
  244. package/dist/esm/components/auth/utils/LabeledDivider.js.map +1 -1
  245. package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts.map +1 -1
  246. package/dist/esm/components/auth/utils/OAuthProvidersSection.js.map +1 -1
  247. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts.map +1 -1
  248. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
  249. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
  250. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
  251. package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.d.ts.map +1 -1
  252. package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.js.map +1 -1
  253. package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
  254. package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
  255. package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
  256. package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
  257. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  258. package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
  259. package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
  260. package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
  261. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  262. package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
  263. package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
  264. package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
  265. package/dist/esm/components/data-display/DisplayContextKindContext.d.ts.map +1 -1
  266. package/dist/esm/components/data-display/DisplayContextKindContext.js.map +1 -1
  267. package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
  268. package/dist/esm/components/data-display/DisplayField.js +8 -5
  269. package/dist/esm/components/data-display/DisplayField.js.map +1 -1
  270. package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
  271. package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
  272. package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
  273. package/dist/esm/components/data-display/DisplayFieldEditable.js +6 -2
  274. package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
  275. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
  276. package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
  277. package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
  278. package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
  279. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
  280. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
  281. package/dist/esm/components/data-display/DisplayTemplateContext.d.ts.map +1 -1
  282. package/dist/esm/components/data-display/DisplayTemplateContext.js.map +1 -1
  283. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
  284. package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
  285. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
  286. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
  287. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
  288. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
  289. package/dist/esm/components/data-display/SummaryContext.d.ts.map +1 -1
  290. package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
  291. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
  292. package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
  293. package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
  294. package/dist/esm/components/data-display/avatar.js.map +1 -1
  295. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  296. package/dist/esm/components/data-display/badge.js.map +1 -1
  297. package/dist/esm/components/data-display/chart-echarts.d.ts.map +1 -1
  298. package/dist/esm/components/data-display/chart-echarts.js.map +1 -1
  299. package/dist/esm/components/data-display/chromes/DisplayChromeContext.d.ts.map +1 -1
  300. package/dist/esm/components/data-display/chromes/DisplayChromeContext.js.map +1 -1
  301. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
  302. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
  303. package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
  304. package/dist/esm/components/data-display/description-list.js.map +1 -1
  305. package/dist/esm/components/data-display/display-field-resolution.utils.d.ts.map +1 -1
  306. package/dist/esm/components/data-display/display-field-resolution.utils.js.map +1 -1
  307. package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
  308. package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
  309. package/dist/esm/components/data-display/display-resource-link-trail.d.ts.map +1 -1
  310. package/dist/esm/components/data-display/display-resource-link-trail.js.map +1 -1
  311. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
  312. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
  313. package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
  314. package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
  315. package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
  316. package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
  317. package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
  318. package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
  319. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
  320. package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
  321. package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
  322. package/dist/esm/components/data-display/formatters/display-field-duration.js.map +1 -1
  323. package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
  324. package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
  325. package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
  326. package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
  327. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
  328. package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
  329. package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
  330. package/dist/esm/components/data-display/formatters/display-field-file-gallery.js.map +1 -1
  331. package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
  332. package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
  333. package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
  334. package/dist/esm/components/data-display/formatters/display-field-file-video.js.map +1 -1
  335. package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
  336. package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
  337. package/dist/esm/components/data-display/formatters/display-field-json.d.ts.map +1 -1
  338. package/dist/esm/components/data-display/formatters/display-field-json.js.map +1 -1
  339. package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
  340. package/dist/esm/components/data-display/formatters/display-field-money.js.map +1 -1
  341. package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
  342. package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
  343. package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
  344. package/dist/esm/components/data-display/formatters/display-field-phone.js.map +1 -1
  345. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
  346. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.js.map +1 -1
  347. package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
  348. package/dist/esm/components/data-display/formatters/display-field-range-date.js.map +1 -1
  349. package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
  350. package/dist/esm/components/data-display/formatters/display-field-range-datetime.js.map +1 -1
  351. package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
  352. package/dist/esm/components/data-display/formatters/display-field-range-money.js.map +1 -1
  353. package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
  354. package/dist/esm/components/data-display/formatters/display-field-range-number.js.map +1 -1
  355. package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
  356. package/dist/esm/components/data-display/formatters/display-field-range-time.js.map +1 -1
  357. package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
  358. package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
  359. package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
  360. package/dist/esm/components/data-display/formatters/display-field-time.js.map +1 -1
  361. package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
  362. package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
  363. package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
  364. package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
  365. package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
  366. package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
  367. package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
  368. package/dist/esm/components/feedback/danger-zone.js.map +1 -1
  369. package/dist/esm/components/feedback/empty-display-policy.utils.d.ts.map +1 -1
  370. package/dist/esm/components/feedback/empty-display-policy.utils.js.map +1 -1
  371. package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
  372. package/dist/esm/components/feedback/empty-state.js.map +1 -1
  373. package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
  374. package/dist/esm/components/feedback/error-display.js.map +1 -1
  375. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  376. package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
  377. package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
  378. package/dist/esm/components/feedback/features/feature-lock-badge.js.map +1 -1
  379. package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
  380. package/dist/esm/components/feedback/features/feature-unavailable-dialog.js.map +1 -1
  381. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts +36 -0
  382. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
  383. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js +29 -0
  384. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
  385. package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
  386. package/dist/esm/components/feedback/loading-overlay.js.map +1 -1
  387. package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
  388. package/dist/esm/components/feedback/loading-spinner.js.map +1 -1
  389. package/dist/esm/components/feedback/notification-center.d.ts +11 -5
  390. package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
  391. package/dist/esm/components/feedback/notification-center.js +2 -3
  392. package/dist/esm/components/feedback/notification-center.js.map +1 -1
  393. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  394. package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
  395. package/dist/esm/components/feedback/progress.d.ts.map +1 -1
  396. package/dist/esm/components/feedback/progress.js.map +1 -1
  397. package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
  398. package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
  399. package/dist/esm/components/feedback/skeleton-text.d.ts.map +1 -1
  400. package/dist/esm/components/feedback/skeleton-text.js.map +1 -1
  401. package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
  402. package/dist/esm/components/feedback/skeleton.js.map +1 -1
  403. package/dist/esm/components/feedback/toast.d.ts.map +1 -1
  404. package/dist/esm/components/feedback/toast.js.map +1 -1
  405. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +41 -0
  406. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -0
  407. package/dist/esm/components/files/Files_UploadGrantDrop.js +207 -0
  408. package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -0
  409. package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts +3 -0
  410. package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -0
  411. package/dist/esm/components/files/Files_UploadGrantDrop.labels.js +36 -0
  412. package/dist/esm/components/files/Files_UploadGrantDrop.labels.js.map +1 -0
  413. package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts +8 -0
  414. package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -0
  415. package/dist/esm/components/files/pages/FilesPage_UploadGrant.js +14 -0
  416. package/dist/esm/components/files/pages/FilesPage_UploadGrant.js.map +1 -0
  417. package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
  418. package/dist/esm/components/flows-actors/actor.js.map +1 -1
  419. package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
  420. package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
  421. package/dist/esm/components/flows-actors/agent-config.d.ts.map +1 -1
  422. package/dist/esm/components/flows-actors/agent-config.js.map +1 -1
  423. package/dist/esm/components/flows-actors/agent-config.labels.d.ts.map +1 -1
  424. package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
  425. package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
  426. package/dist/esm/components/flows-actors/approval.js +21 -4
  427. package/dist/esm/components/flows-actors/approval.js.map +1 -1
  428. package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
  429. package/dist/esm/components/flows-actors/approval.labels.js +5 -0
  430. package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
  431. package/dist/esm/components/flows-actors/artifact-browser.d.ts.map +1 -1
  432. package/dist/esm/components/flows-actors/artifact-browser.js.map +1 -1
  433. package/dist/esm/components/flows-actors/artifact-browser.labels.d.ts.map +1 -1
  434. package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
  435. package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
  436. package/dist/esm/components/flows-actors/execution-plan.js +1 -1
  437. package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
  438. package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
  439. package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
  440. package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
  441. package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
  442. package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
  443. package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
  444. package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
  445. package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
  446. package/dist/esm/components/flows-actors/flow-node.d.ts.map +1 -1
  447. package/dist/esm/components/flows-actors/flow-node.js.map +1 -1
  448. package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
  449. package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
  450. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
  451. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
  452. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
  453. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
  454. package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
  455. package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
  456. package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
  457. package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
  458. package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
  459. package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
  460. package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
  461. package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
  462. package/dist/esm/components/flows-actors/task-detail.labels.d.ts.map +1 -1
  463. package/dist/esm/components/flows-actors/task-detail.labels.js.map +1 -1
  464. package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
  465. package/dist/esm/components/flows-actors/task-memory.js +1 -1
  466. package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
  467. package/dist/esm/components/flows-actors/task-memory.labels.d.ts.map +1 -1
  468. package/dist/esm/components/flows-actors/task-memory.labels.js.map +1 -1
  469. package/dist/esm/components/form/Form.d.ts.map +1 -1
  470. package/dist/esm/components/form/Form.js.map +1 -1
  471. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
  472. package/dist/esm/components/form/automated/AutomatedArrayField.js +1 -1
  473. package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
  474. package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
  475. package/dist/esm/components/form/automated/AutomatedForm.js +16 -9
  476. package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
  477. package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
  478. package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
  479. package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
  480. package/dist/esm/components/form/automated/FormField.js +9 -2
  481. package/dist/esm/components/form/automated/FormField.js.map +1 -1
  482. package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
  483. package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
  484. package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
  485. package/dist/esm/components/form/automated/FormFieldComposite.js +8 -6
  486. package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
  487. package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
  488. package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
  489. package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
  490. package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
  491. package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.d.ts.map +1 -1
  492. package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.js.map +1 -1
  493. package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.d.ts.map +1 -1
  494. package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.js.map +1 -1
  495. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
  496. package/dist/esm/components/form/automated/ResourceAutomatedForm.js +37 -3
  497. package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
  498. package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
  499. package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
  500. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
  501. package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
  502. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts +12 -0
  503. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts.map +1 -0
  504. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js +26 -0
  505. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js.map +1 -0
  506. package/dist/esm/components/form/automated/autosave-indicator.d.ts.map +1 -1
  507. package/dist/esm/components/form/automated/autosave-indicator.js.map +1 -1
  508. package/dist/esm/components/form/automated/autosave-indicator.utils.d.ts.map +1 -1
  509. package/dist/esm/components/form/automated/autosave-indicator.utils.js.map +1 -1
  510. package/dist/esm/components/form/automated/create-form-default-values.utils.d.ts.map +1 -1
  511. package/dist/esm/components/form/automated/create-form-default-values.utils.js.map +1 -1
  512. package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.d.ts.map +1 -1
  513. package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.js.map +1 -1
  514. package/dist/esm/components/form/automated/generated-relationship-field.helpers.d.ts.map +1 -1
  515. package/dist/esm/components/form/automated/generated-relationship-field.helpers.js.map +1 -1
  516. package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts +1 -1
  517. package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts.map +1 -1
  518. package/dist/esm/components/form/automated/generated-relationship-field.hooks.js.map +1 -1
  519. package/dist/esm/components/form/automated/generated-relationship-field.shared.d.ts.map +1 -1
  520. package/dist/esm/components/form/automated/generated-relationship-field.shared.js.map +1 -1
  521. package/dist/esm/components/form/automated/generated-relationship-field.utils.d.ts.map +1 -1
  522. package/dist/esm/components/form/automated/generated-relationship-field.utils.js.map +1 -1
  523. package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
  524. package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
  525. package/dist/esm/components/form/chromes/FormChromeContext.d.ts.map +1 -1
  526. package/dist/esm/components/form/chromes/FormChromeContext.js.map +1 -1
  527. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
  528. package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
  529. package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
  530. package/dist/esm/components/form/chromes/field.js.map +1 -1
  531. package/dist/esm/components/form/chromes/form-primitives.d.ts.map +1 -1
  532. package/dist/esm/components/form/chromes/form-primitives.js.map +1 -1
  533. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  534. package/dist/esm/components/form/combobox.js.map +1 -1
  535. package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
  536. package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
  537. package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
  538. package/dist/esm/components/form/controls/boolean/switch.js.map +1 -1
  539. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
  540. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.js.map +1 -1
  541. package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
  542. package/dist/esm/components/form/controls/boolean/toggle.js.map +1 -1
  543. package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
  544. package/dist/esm/components/form/controls/date-time/calendar.js.map +1 -1
  545. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  546. package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
  547. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  548. package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
  549. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  550. package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
  551. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  552. package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
  553. package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
  554. package/dist/esm/components/form/controls/date-time/time-picker.js.map +1 -1
  555. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  556. package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
  557. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  558. package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
  559. package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
  560. package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
  561. package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
  562. package/dist/esm/components/form/controls/enum/select.js.map +1 -1
  563. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  564. package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
  565. package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
  566. package/dist/esm/components/form/controls/file/file-upload.js.map +1 -1
  567. package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
  568. package/dist/esm/components/form/controls/file/image-crop.frontend.utils.d.ts.map +1 -1
  569. package/dist/esm/components/form/controls/file/image-crop.frontend.utils.js.map +1 -1
  570. package/dist/esm/components/form/controls/file/image-crop.js.map +1 -1
  571. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
  572. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
  573. package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
  574. package/dist/esm/components/form/controls/input-group.js.map +1 -1
  575. package/dist/esm/components/form/controls/input.d.ts.map +1 -1
  576. package/dist/esm/components/form/controls/input.js.map +1 -1
  577. package/dist/esm/components/form/controls/number/slider.d.ts +1 -1
  578. package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
  579. package/dist/esm/components/form/controls/number/slider.js.map +1 -1
  580. package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
  581. package/dist/esm/components/form/controls/string/color-input.js.map +1 -1
  582. package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
  583. package/dist/esm/components/form/controls/string/inline-edit-text.js.map +1 -1
  584. package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
  585. package/dist/esm/components/form/controls/string/input-otp.js.map +1 -1
  586. package/dist/esm/components/form/controls/string/markdown-editor.d.ts.map +1 -1
  587. package/dist/esm/components/form/controls/string/markdown-editor.js.map +1 -1
  588. package/dist/esm/components/form/controls/string/markdown-editor.labels.d.ts.map +1 -1
  589. package/dist/esm/components/form/controls/string/markdown-editor.labels.js.map +1 -1
  590. package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
  591. package/dist/esm/components/form/controls/string/password-input.js.map +1 -1
  592. package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
  593. package/dist/esm/components/form/controls/string/textarea.js.map +1 -1
  594. package/dist/esm/components/form/feedback/RemoteChangeNotification.d.ts.map +1 -1
  595. package/dist/esm/components/form/feedback/RemoteChangeNotification.js.map +1 -1
  596. package/dist/esm/components/form/fields/form-field-bigdecimal.d.ts.map +1 -1
  597. package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
  598. package/dist/esm/components/form/fields/form-field-bigdecimal.labels.d.ts.map +1 -1
  599. package/dist/esm/components/form/fields/form-field-bigdecimal.labels.js.map +1 -1
  600. package/dist/esm/components/form/fields/form-field-boolean.d.ts.map +1 -1
  601. package/dist/esm/components/form/fields/form-field-boolean.js +4 -2
  602. package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
  603. package/dist/esm/components/form/fields/form-field-boolean.labels.d.ts.map +1 -1
  604. package/dist/esm/components/form/fields/form-field-boolean.labels.js.map +1 -1
  605. package/dist/esm/components/form/fields/form-field-code.d.ts.map +1 -1
  606. package/dist/esm/components/form/fields/form-field-code.js.map +1 -1
  607. package/dist/esm/components/form/fields/form-field-code.labels.d.ts.map +1 -1
  608. package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
  609. package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
  610. package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
  611. package/dist/esm/components/form/fields/form-field-date.labels.d.ts.map +1 -1
  612. package/dist/esm/components/form/fields/form-field-date.labels.js.map +1 -1
  613. package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
  614. package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
  615. package/dist/esm/components/form/fields/form-field-datetime.labels.d.ts.map +1 -1
  616. package/dist/esm/components/form/fields/form-field-datetime.labels.js.map +1 -1
  617. package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
  618. package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
  619. package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
  620. package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
  621. package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
  622. package/dist/esm/components/form/fields/form-field-enum.js +4 -2
  623. package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
  624. package/dist/esm/components/form/fields/form-field-enum.labels.d.ts.map +1 -1
  625. package/dist/esm/components/form/fields/form-field-enum.labels.js.map +1 -1
  626. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts +15 -5
  627. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts.map +1 -1
  628. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js +21 -18
  629. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js.map +1 -1
  630. package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
  631. package/dist/esm/components/form/fields/form-field-file.js +139 -2
  632. package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
  633. package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
  634. package/dist/esm/components/form/fields/form-field-file.labels.js +15 -0
  635. package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
  636. package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
  637. package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
  638. package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
  639. package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
  640. package/dist/esm/components/form/fields/form-field-number.d.ts.map +1 -1
  641. package/dist/esm/components/form/fields/form-field-number.js +4 -2
  642. package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
  643. package/dist/esm/components/form/fields/form-field-number.labels.d.ts.map +1 -1
  644. package/dist/esm/components/form/fields/form-field-number.labels.js.map +1 -1
  645. package/dist/esm/components/form/fields/form-field-phone.d.ts.map +1 -1
  646. package/dist/esm/components/form/fields/form-field-phone.js.map +1 -1
  647. package/dist/esm/components/form/fields/form-field-phone.labels.d.ts.map +1 -1
  648. package/dist/esm/components/form/fields/form-field-phone.labels.js.map +1 -1
  649. package/dist/esm/components/form/fields/form-field-range-bigdecimal.d.ts.map +1 -1
  650. package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
  651. package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.d.ts.map +1 -1
  652. package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.js.map +1 -1
  653. package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
  654. package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
  655. package/dist/esm/components/form/fields/form-field-range-date.labels.d.ts.map +1 -1
  656. package/dist/esm/components/form/fields/form-field-range-date.labels.js.map +1 -1
  657. package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
  658. package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
  659. package/dist/esm/components/form/fields/form-field-range-datetime.labels.d.ts.map +1 -1
  660. package/dist/esm/components/form/fields/form-field-range-datetime.labels.js.map +1 -1
  661. package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
  662. package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
  663. package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
  664. package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
  665. package/dist/esm/components/form/fields/form-field-range-number.d.ts.map +1 -1
  666. package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
  667. package/dist/esm/components/form/fields/form-field-range-number.labels.d.ts.map +1 -1
  668. package/dist/esm/components/form/fields/form-field-range-number.labels.js.map +1 -1
  669. package/dist/esm/components/form/fields/form-field-range-time.d.ts.map +1 -1
  670. package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
  671. package/dist/esm/components/form/fields/form-field-range-time.labels.d.ts.map +1 -1
  672. package/dist/esm/components/form/fields/form-field-range-time.labels.js.map +1 -1
  673. package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
  674. package/dist/esm/components/form/fields/form-field-string.js +7 -2
  675. package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
  676. package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
  677. package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
  678. package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
  679. package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
  680. package/dist/esm/components/form/fields/form-field-time.labels.d.ts.map +1 -1
  681. package/dist/esm/components/form/fields/form-field-time.labels.js.map +1 -1
  682. package/dist/esm/components/form/fields/useFormField.d.ts.map +1 -1
  683. package/dist/esm/components/form/fields/useFormField.js.map +1 -1
  684. package/dist/esm/components/form/form-context.d.ts.map +1 -1
  685. package/dist/esm/components/form/form-context.js.map +1 -1
  686. package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
  687. package/dist/esm/components/form/form-context.utils.js.map +1 -1
  688. package/dist/esm/components/form/form-field-types.d.ts +20 -0
  689. package/dist/esm/components/form/form-field-types.d.ts.map +1 -1
  690. package/dist/esm/components/form/form-field-types.js.map +1 -1
  691. package/dist/esm/components/form/useFormSchemaContext.d.ts.map +1 -1
  692. package/dist/esm/components/form/useFormSchemaContext.js.map +1 -1
  693. package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
  694. package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
  695. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts.map +1 -1
  696. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js.map +1 -1
  697. package/dist/esm/components/form/validation-errors/form-validation.d.ts.map +1 -1
  698. package/dist/esm/components/form/validation-errors/form-validation.js.map +1 -1
  699. package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
  700. package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
  701. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
  702. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
  703. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.d.ts.map +1 -1
  704. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.js.map +1 -1
  705. package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
  706. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
  707. package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
  708. package/dist/esm/components/layout/aspect-ratio.js.map +1 -1
  709. package/dist/esm/components/layout/carousel.d.ts.map +1 -1
  710. package/dist/esm/components/layout/carousel.js.map +1 -1
  711. package/dist/esm/components/layout/divider.d.ts.map +1 -1
  712. package/dist/esm/components/layout/divider.js.map +1 -1
  713. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  714. package/dist/esm/components/layout/resizable.js.map +1 -1
  715. package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
  716. package/dist/esm/components/layout/scroll-area.js.map +1 -1
  717. package/dist/esm/components/layout/separator.d.ts.map +1 -1
  718. package/dist/esm/components/layout/separator.js.map +1 -1
  719. package/dist/esm/components/navigation/NavigationItemBadge.d.ts +13 -1
  720. package/dist/esm/components/navigation/NavigationItemBadge.d.ts.map +1 -1
  721. package/dist/esm/components/navigation/NavigationItemBadge.js +31 -2
  722. package/dist/esm/components/navigation/NavigationItemBadge.js.map +1 -1
  723. package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.d.ts.map +1 -1
  724. package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.js.map +1 -1
  725. package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.d.ts.map +1 -1
  726. package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.js.map +1 -1
  727. package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.d.ts.map +1 -1
  728. package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.js.map +1 -1
  729. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.d.ts.map +1 -1
  730. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.js.map +1 -1
  731. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.d.ts.map +1 -1
  732. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.js.map +1 -1
  733. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
  734. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
  735. package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.d.ts.map +1 -1
  736. package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.js.map +1 -1
  737. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
  738. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
  739. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.d.ts.map +1 -1
  740. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.js.map +1 -1
  741. package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.d.ts.map +1 -1
  742. package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.js.map +1 -1
  743. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
  744. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
  745. package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.d.ts.map +1 -1
  746. package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.js.map +1 -1
  747. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
  748. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
  749. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts.map +1 -1
  750. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
  751. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
  752. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
  753. package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.d.ts.map +1 -1
  754. package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.js.map +1 -1
  755. package/dist/esm/components/navigation/app-level/useActivityBarBehavior.d.ts.map +1 -1
  756. package/dist/esm/components/navigation/app-level/useActivityBarBehavior.js.map +1 -1
  757. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
  758. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
  759. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.d.ts.map +1 -1
  760. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js.map +1 -1
  761. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
  762. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
  763. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
  764. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
  765. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
  766. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
  767. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts +5 -2
  768. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts.map +1 -1
  769. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js +18 -41
  770. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js.map +1 -1
  771. package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.d.ts.map +1 -1
  772. package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.js.map +1 -1
  773. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
  774. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
  775. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
  776. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +1 -1
  777. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
  778. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
  779. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js +13 -3
  780. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
  781. package/dist/esm/components/navigation/app-level/useToolbarBehavior.d.ts.map +1 -1
  782. package/dist/esm/components/navigation/app-level/useToolbarBehavior.js.map +1 -1
  783. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +23 -5
  784. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
  785. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +81 -13
  786. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
  787. package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
  788. package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
  789. package/dist/esm/components/navigation/command.d.ts.map +1 -1
  790. package/dist/esm/components/navigation/command.js.map +1 -1
  791. package/dist/esm/components/navigation/menu-bar.d.ts +1 -1
  792. package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
  793. package/dist/esm/components/navigation/menu-bar.js.map +1 -1
  794. package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
  795. package/dist/esm/components/navigation/navbar.js.map +1 -1
  796. package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
  797. package/dist/esm/components/navigation/sidebar.js.map +1 -1
  798. package/dist/esm/components/overlays/containers/OverlayContainer.d.ts.map +1 -1
  799. package/dist/esm/components/overlays/containers/OverlayContainer.js +36 -9
  800. package/dist/esm/components/overlays/containers/OverlayContainer.js.map +1 -1
  801. package/dist/esm/components/overlays/containers/OverlayContainer.labels.d.ts.map +1 -1
  802. package/dist/esm/components/overlays/containers/OverlayContainer.labels.js.map +1 -1
  803. package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
  804. package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
  805. package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
  806. package/dist/esm/components/overlays/containers/alert.js.map +1 -1
  807. package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
  808. package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
  809. package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts.map +1 -1
  810. package/dist/esm/components/overlays/containers/dialog.shared-types.js.map +1 -1
  811. package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
  812. package/dist/esm/components/overlays/containers/drawer.js.map +1 -1
  813. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts.map +1 -1
  814. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js.map +1 -1
  815. package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.d.ts.map +1 -1
  816. package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.js.map +1 -1
  817. package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
  818. package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
  819. package/dist/esm/components/overlays/floating/context-menu.d.ts +1 -1
  820. package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
  821. package/dist/esm/components/overlays/floating/context-menu.js.map +1 -1
  822. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts +1 -1
  823. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
  824. package/dist/esm/components/overlays/floating/dropdown-menu.js.map +1 -1
  825. package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
  826. package/dist/esm/components/overlays/floating/hover-card.js.map +1 -1
  827. package/dist/esm/components/overlays/floating/menu.shared-types.d.ts.map +1 -1
  828. package/dist/esm/components/overlays/floating/menu.shared-types.js.map +1 -1
  829. package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
  830. package/dist/esm/components/overlays/floating/popover.js.map +1 -1
  831. package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
  832. package/dist/esm/components/overlays/floating/tooltip.js.map +1 -1
  833. package/dist/esm/components/progression/ProgressionAchievementBadge.d.ts.map +1 -1
  834. package/dist/esm/components/progression/ProgressionAchievementBadge.js.map +1 -1
  835. package/dist/esm/components/progression/ProgressionAchievementBadge.labels.d.ts.map +1 -1
  836. package/dist/esm/components/progression/ProgressionAchievementBadge.labels.js.map +1 -1
  837. package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts.map +1 -1
  838. package/dist/esm/components/progression/ProgressionMilestoneTracker.js.map +1 -1
  839. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.d.ts.map +1 -1
  840. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
  841. package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
  842. package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
  843. package/dist/esm/components/resources/EphemeralFieldsRevealDialog.d.ts.map +1 -1
  844. package/dist/esm/components/resources/EphemeralFieldsRevealDialog.js.map +1 -1
  845. package/dist/esm/components/resources/InlineSearchInput.d.ts.map +1 -1
  846. package/dist/esm/components/resources/InlineSearchInput.js.map +1 -1
  847. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
  848. package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
  849. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
  850. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
  851. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
  852. package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
  853. package/dist/esm/components/resources/ResourceInPlaceOperationRow.d.ts.map +1 -1
  854. package/dist/esm/components/resources/ResourceInPlaceOperationRow.js.map +1 -1
  855. package/dist/esm/components/resources/ResourceLayout_Action.d.ts.map +1 -1
  856. package/dist/esm/components/resources/ResourceLayout_Action.js.map +1 -1
  857. package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
  858. package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
  859. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
  860. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
  861. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.d.ts.map +1 -1
  862. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.js.map +1 -1
  863. package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
  864. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
  865. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
  866. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
  867. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.d.ts.map +1 -1
  868. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.js.map +1 -1
  869. package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
  870. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +9 -0
  871. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
  872. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.d.ts.map +1 -1
  873. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js.map +1 -1
  874. package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
  875. package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
  876. package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
  877. package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
  878. package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
  879. package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
  880. package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.d.ts.map +1 -1
  881. package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.js.map +1 -1
  882. package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
  883. package/dist/esm/components/resources/ResourceLayout_FilterChips.js +1 -1
  884. package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
  885. package/dist/esm/components/resources/ResourceLayout_Filters.d.ts.map +1 -1
  886. package/dist/esm/components/resources/ResourceLayout_Filters.js.map +1 -1
  887. package/dist/esm/components/resources/ResourceLayout_Filters.labels.d.ts.map +1 -1
  888. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
  889. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
  890. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
  891. package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
  892. package/dist/esm/components/resources/ResourceLayout_Header.js +1 -1
  893. package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
  894. package/dist/esm/components/resources/ResourceLayout_Header.labels.d.ts.map +1 -1
  895. package/dist/esm/components/resources/ResourceLayout_Header.labels.js.map +1 -1
  896. package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
  897. package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
  898. package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
  899. package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
  900. package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
  901. package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
  902. package/dist/esm/components/resources/ResourceLayout_List_Table.d.ts.map +1 -1
  903. package/dist/esm/components/resources/ResourceLayout_List_Table.js.map +1 -1
  904. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
  905. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
  906. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.d.ts.map +1 -1
  907. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
  908. package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
  909. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
  910. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
  911. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
  912. package/dist/esm/components/resources/ResourceLayout_Pagination.d.ts.map +1 -1
  913. package/dist/esm/components/resources/ResourceLayout_Pagination.js.map +1 -1
  914. package/dist/esm/components/resources/ResourceLayout_Pagination.labels.d.ts.map +1 -1
  915. package/dist/esm/components/resources/ResourceLayout_Pagination.labels.js.map +1 -1
  916. package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
  917. package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
  918. package/dist/esm/components/resources/ResourceLayout_Read.labels.d.ts.map +1 -1
  919. package/dist/esm/components/resources/ResourceLayout_Read.labels.js.map +1 -1
  920. package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
  921. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
  922. package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.d.ts.map +1 -1
  923. package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.js.map +1 -1
  924. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
  925. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
  926. package/dist/esm/components/resources/ResourceLayout_Read_Expandable.d.ts.map +1 -1
  927. package/dist/esm/components/resources/ResourceLayout_Read_Expandable.js.map +1 -1
  928. package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
  929. package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
  930. package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
  931. package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
  932. package/dist/esm/components/resources/ResourceLayout_Search_Table.d.ts.map +1 -1
  933. package/dist/esm/components/resources/ResourceLayout_Search_Table.js.map +1 -1
  934. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
  935. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
  936. package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
  937. package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
  938. package/dist/esm/components/resources/ResourceLayout_Update.d.ts.map +1 -1
  939. package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
  940. package/dist/esm/components/resources/ResourceLayout_Update.labels.d.ts.map +1 -1
  941. package/dist/esm/components/resources/ResourceLayout_Update.labels.js.map +1 -1
  942. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
  943. package/dist/esm/components/resources/ResourceListItemRenderer.js +1 -1
  944. package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
  945. package/dist/esm/components/resources/ResourceOperationActionPopover.d.ts.map +1 -1
  946. package/dist/esm/components/resources/ResourceOperationActionPopover.js.map +1 -1
  947. package/dist/esm/components/resources/ResourceOperationSurface.d.ts.map +1 -1
  948. package/dist/esm/components/resources/ResourceOperationSurface.js.map +1 -1
  949. package/dist/esm/components/resources/ResourceOwnedViewEmbeds.d.ts.map +1 -1
  950. package/dist/esm/components/resources/ResourceOwnedViewEmbeds.js.map +1 -1
  951. package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
  952. package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
  953. package/dist/esm/components/resources/card-action-placement.utils.d.ts.map +1 -1
  954. package/dist/esm/components/resources/card-action-placement.utils.js.map +1 -1
  955. package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
  956. package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
  957. package/dist/esm/components/resources/collection-view-mode.frontend.d.ts.map +1 -1
  958. package/dist/esm/components/resources/collection-view-mode.frontend.js.map +1 -1
  959. package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.d.ts.map +1 -1
  960. package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.js.map +1 -1
  961. package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.d.ts.map +1 -1
  962. package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.js.map +1 -1
  963. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
  964. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
  965. package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.d.ts.map +1 -1
  966. package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.js.map +1 -1
  967. package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
  968. package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
  969. package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
  970. package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
  971. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
  972. package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
  973. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
  974. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
  975. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
  976. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
  977. package/dist/esm/components/resources/inserted-resource-view.frontend.utils.d.ts.map +1 -1
  978. package/dist/esm/components/resources/inserted-resource-view.frontend.utils.js.map +1 -1
  979. package/dist/esm/components/resources/resource-operation-custom-view.contracts.d.ts.map +1 -1
  980. package/dist/esm/components/resources/resource-operation-custom-view.contracts.js.map +1 -1
  981. package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
  982. package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
  983. package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
  984. package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
  985. package/dist/esm/components/resources/skeleton/ArrayItemTemplate.d.ts.map +1 -1
  986. package/dist/esm/components/resources/skeleton/ArrayItemTemplate.js.map +1 -1
  987. package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.d.ts.map +1 -1
  988. package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.js.map +1 -1
  989. package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
  990. package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
  991. package/dist/esm/components/resources/skeleton/Divider.d.ts.map +1 -1
  992. package/dist/esm/components/resources/skeleton/Divider.js.map +1 -1
  993. package/dist/esm/components/resources/skeleton/FieldScopeContext.d.ts.map +1 -1
  994. package/dist/esm/components/resources/skeleton/FieldScopeContext.js.map +1 -1
  995. package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.d.ts.map +1 -1
  996. package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.js.map +1 -1
  997. package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
  998. package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
  999. package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.d.ts.map +1 -1
  1000. package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.js.map +1 -1
  1001. package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
  1002. package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
  1003. package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
  1004. package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
  1005. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts +12 -0
  1006. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
  1007. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js +13 -1
  1008. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
  1009. package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
  1010. package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
  1011. package/dist/esm/components/resources/skeleton/Section.shared.d.ts.map +1 -1
  1012. package/dist/esm/components/resources/skeleton/Section.shared.js.map +1 -1
  1013. package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
  1014. package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
  1015. package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.d.ts.map +1 -1
  1016. package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.js.map +1 -1
  1017. package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts.map +1 -1
  1018. package/dist/esm/components/resources/skeleton/SectionPresentationContext.js.map +1 -1
  1019. package/dist/esm/components/resources/skeleton/SubmitButton.d.ts.map +1 -1
  1020. package/dist/esm/components/resources/skeleton/SubmitButton.js.map +1 -1
  1021. package/dist/esm/components/resources/skeleton/SummaryHeader.d.ts.map +1 -1
  1022. package/dist/esm/components/resources/skeleton/SummaryHeader.js.map +1 -1
  1023. package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
  1024. package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
  1025. package/dist/esm/components/resources/skeleton/SummaryMeta.d.ts.map +1 -1
  1026. package/dist/esm/components/resources/skeleton/SummaryMeta.js.map +1 -1
  1027. package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
  1028. package/dist/esm/components/resources/skeleton/SummaryTitle.js.map +1 -1
  1029. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
  1030. package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
  1031. package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
  1032. package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
  1033. package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
  1034. package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
  1035. package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.d.ts.map +1 -1
  1036. package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.js.map +1 -1
  1037. package/dist/esm/components/resources/skeleton/section-consolidation.shared.d.ts.map +1 -1
  1038. package/dist/esm/components/resources/skeleton/section-consolidation.shared.js.map +1 -1
  1039. package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
  1040. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
  1041. package/dist/esm/components/resources/useInlineSearch.d.ts.map +1 -1
  1042. package/dist/esm/components/resources/useInlineSearch.js.map +1 -1
  1043. package/dist/esm/components/resources/useLongPress.d.ts.map +1 -1
  1044. package/dist/esm/components/resources/useLongPress.js.map +1 -1
  1045. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
  1046. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
  1047. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
  1048. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
  1049. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
  1050. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
  1051. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.d.ts.map +1 -1
  1052. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.js.map +1 -1
  1053. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts.map +1 -1
  1054. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.js.map +1 -1
  1055. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.d.ts.map +1 -1
  1056. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.js.map +1 -1
  1057. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
  1058. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
  1059. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
  1060. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
  1061. package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
  1062. package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
  1063. package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
  1064. package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
  1065. package/dist/esm/components/sections/accordion.d.ts.map +1 -1
  1066. package/dist/esm/components/sections/accordion.js.map +1 -1
  1067. package/dist/esm/components/sections/card.d.ts.map +1 -1
  1068. package/dist/esm/components/sections/card.js.map +1 -1
  1069. package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
  1070. package/dist/esm/components/sections/collapsible.js.map +1 -1
  1071. package/dist/esm/components/sections/content-section.d.ts.map +1 -1
  1072. package/dist/esm/components/sections/content-section.js.map +1 -1
  1073. package/dist/esm/components/sections/pagination.d.ts.map +1 -1
  1074. package/dist/esm/components/sections/pagination.js.map +1 -1
  1075. package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
  1076. package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
  1077. package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
  1078. package/dist/esm/components/sections/stacked-layout.js.map +1 -1
  1079. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  1080. package/dist/esm/components/sections/stepper.js.map +1 -1
  1081. package/dist/esm/components/sections/surface.d.ts.map +1 -1
  1082. package/dist/esm/components/sections/surface.js.map +1 -1
  1083. package/dist/esm/components/sections/table.d.ts.map +1 -1
  1084. package/dist/esm/components/sections/table.js.map +1 -1
  1085. package/dist/esm/components/sections/tabs.d.ts.map +1 -1
  1086. package/dist/esm/components/sections/tabs.js.map +1 -1
  1087. package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
  1088. package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
  1089. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
  1090. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
  1091. package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
  1092. package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
  1093. package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
  1094. package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
  1095. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +121 -0
  1096. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -0
  1097. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +386 -0
  1098. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -0
  1099. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts +3 -0
  1100. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -0
  1101. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +56 -0
  1102. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -0
  1103. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
  1104. package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
  1105. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
  1106. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
  1107. package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
  1108. package/dist/esm/components/settings/SettingsHub.js +32 -5
  1109. package/dist/esm/components/settings/SettingsHub.js.map +1 -1
  1110. package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
  1111. package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
  1112. package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
  1113. package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
  1114. package/dist/esm/components/settings/SettingsSectionNavigationHost.d.ts.map +1 -1
  1115. package/dist/esm/components/settings/SettingsSectionNavigationHost.js.map +1 -1
  1116. package/dist/esm/components/typography/heading.d.ts.map +1 -1
  1117. package/dist/esm/components/typography/heading.js.map +1 -1
  1118. package/dist/esm/components/typography/label.d.ts.map +1 -1
  1119. package/dist/esm/components/typography/label.js.map +1 -1
  1120. package/dist/esm/components/typography/link.d.ts.map +1 -1
  1121. package/dist/esm/components/typography/link.js.map +1 -1
  1122. package/dist/esm/components/typography/text.d.ts.map +1 -1
  1123. package/dist/esm/components/typography/text.js.map +1 -1
  1124. package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
  1125. package/dist/esm/components/typography/truncated-text.js.map +1 -1
  1126. package/dist/esm/components/views/ViewLayout_Header.d.ts.map +1 -1
  1127. package/dist/esm/components/views/ViewLayout_Header.js.map +1 -1
  1128. package/dist/esm/components/views/ViewNotFound.d.ts.map +1 -1
  1129. package/dist/esm/components/views/ViewNotFound.js.map +1 -1
  1130. package/dist/esm/components/views/ViewNotFound.labels.d.ts.map +1 -1
  1131. package/dist/esm/components/views/ViewNotFound.labels.js.map +1 -1
  1132. package/dist/esm/components/views/chart-view/ChartEmptyState.d.ts.map +1 -1
  1133. package/dist/esm/components/views/chart-view/ChartEmptyState.js.map +1 -1
  1134. package/dist/esm/components/views/chart-view/ChartErrorState.d.ts.map +1 -1
  1135. package/dist/esm/components/views/chart-view/ChartErrorState.js.map +1 -1
  1136. package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.d.ts.map +1 -1
  1137. package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.js.map +1 -1
  1138. package/dist/esm/components/views/chart-view/ChartView.d.ts.map +1 -1
  1139. package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
  1140. package/dist/esm/components/views/chart-view/ChartView.labels.d.ts.map +1 -1
  1141. package/dist/esm/components/views/chart-view/ChartView.labels.js.map +1 -1
  1142. package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts.map +1 -1
  1143. package/dist/esm/components/views/chart-view/ChartView.lazy.js.map +1 -1
  1144. package/dist/esm/components/views/chart-view/ChartWidget.d.ts.map +1 -1
  1145. package/dist/esm/components/views/chart-view/ChartWidget.js.map +1 -1
  1146. package/dist/esm/components/views/chart-view/ChartWidget.labels.d.ts.map +1 -1
  1147. package/dist/esm/components/views/chart-view/ChartWidget.labels.js.map +1 -1
  1148. package/dist/esm/components/views/chart-view/WildoEChart.d.ts.map +1 -1
  1149. package/dist/esm/components/views/chart-view/WildoEChart.js.map +1 -1
  1150. package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
  1151. package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
  1152. package/dist/esm/components/views/chart-view/chart-runtime.utils.d.ts.map +1 -1
  1153. package/dist/esm/components/views/chart-view/chart-runtime.utils.js.map +1 -1
  1154. package/dist/esm/components/views/chart-view/chart-theme-bridge.d.ts.map +1 -1
  1155. package/dist/esm/components/views/chart-view/chart-theme-bridge.js.map +1 -1
  1156. package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
  1157. package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
  1158. package/dist/esm/components/views/chart-view/dev/ChartView.example.d.ts.map +1 -1
  1159. package/dist/esm/components/views/chart-view/dev/ChartView.example.js.map +1 -1
  1160. package/dist/esm/components/views/chart-view/echarts-setup.d.ts.map +1 -1
  1161. package/dist/esm/components/views/chart-view/echarts-setup.js.map +1 -1
  1162. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
  1163. package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
  1164. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
  1165. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
  1166. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.d.ts.map +1 -1
  1167. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
  1168. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.d.ts.map +1 -1
  1169. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
  1170. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.d.ts.map +1 -1
  1171. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js.map +1 -1
  1172. package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.d.ts.map +1 -1
  1173. package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.js.map +1 -1
  1174. package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.d.ts.map +1 -1
  1175. package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.js.map +1 -1
  1176. package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.d.ts.map +1 -1
  1177. package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.js.map +1 -1
  1178. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.d.ts.map +1 -1
  1179. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
  1180. package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.d.ts.map +1 -1
  1181. package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.js.map +1 -1
  1182. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.d.ts.map +1 -1
  1183. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js.map +1 -1
  1184. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.d.ts.map +1 -1
  1185. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js.map +1 -1
  1186. package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.d.ts.map +1 -1
  1187. package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.js.map +1 -1
  1188. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.d.ts.map +1 -1
  1189. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
  1190. package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.d.ts.map +1 -1
  1191. package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.js.map +1 -1
  1192. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
  1193. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
  1194. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
  1195. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
  1196. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
  1197. package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
  1198. package/dist/esm/components/views/composite-view/CompositeView.d.ts.map +1 -1
  1199. package/dist/esm/components/views/composite-view/CompositeView.js.map +1 -1
  1200. package/dist/esm/components/views/composite-view/CompositeViewContext.d.ts.map +1 -1
  1201. package/dist/esm/components/views/composite-view/CompositeViewContext.js.map +1 -1
  1202. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
  1203. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
  1204. package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.d.ts.map +1 -1
  1205. package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.js.map +1 -1
  1206. package/dist/esm/components/views/execution-view/ExecutionView.d.ts.map +1 -1
  1207. package/dist/esm/components/views/execution-view/ExecutionView.js.map +1 -1
  1208. package/dist/esm/components/views/execution-view/ExecutionView.labels.d.ts.map +1 -1
  1209. package/dist/esm/components/views/execution-view/ExecutionView.labels.js.map +1 -1
  1210. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
  1211. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +11 -7
  1212. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
  1213. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
  1214. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
  1215. package/dist/esm/components/views/full-custom-view/FullCustomView.d.ts.map +1 -1
  1216. package/dist/esm/components/views/full-custom-view/FullCustomView.js.map +1 -1
  1217. package/dist/esm/components/views/onboarding-view/OnboardingView.d.ts.map +1 -1
  1218. package/dist/esm/components/views/onboarding-view/OnboardingView.js +9 -2
  1219. package/dist/esm/components/views/onboarding-view/OnboardingView.js.map +1 -1
  1220. package/dist/esm/components/views/onboarding-view/OnboardingView.labels.d.ts.map +1 -1
  1221. package/dist/esm/components/views/onboarding-view/OnboardingView.labels.js.map +1 -1
  1222. package/dist/esm/components/views/onboarding-view/onboarding-view.utils.d.ts.map +1 -1
  1223. package/dist/esm/components/views/onboarding-view/onboarding-view.utils.js.map +1 -1
  1224. package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
  1225. package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
  1226. package/dist/esm/core/app-shell/app-shell.schemas.d.ts +40 -18
  1227. package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
  1228. package/dist/esm/core/app-shell/app-shell.schemas.js +0 -5
  1229. package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
  1230. package/dist/esm/core/app-shell/app-shell.utils.d.ts.map +1 -1
  1231. package/dist/esm/core/app-shell/app-shell.utils.js.map +1 -1
  1232. package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
  1233. package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
  1234. package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
  1235. package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
  1236. package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
  1237. package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
  1238. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts +16 -0
  1239. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts.map +1 -1
  1240. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js +17 -0
  1241. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js.map +1 -1
  1242. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +31 -11
  1243. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
  1244. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +34 -25
  1245. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
  1246. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +30 -4
  1247. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
  1248. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +233 -17
  1249. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
  1250. package/dist/esm/core/billing/BillingContext.d.ts +36 -0
  1251. package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
  1252. package/dist/esm/core/billing/BillingContext.js +1 -0
  1253. package/dist/esm/core/billing/BillingContext.js.map +1 -1
  1254. package/dist/esm/core/billing/BillingErrorNotifier.d.ts.map +1 -1
  1255. package/dist/esm/core/billing/BillingErrorNotifier.js.map +1 -1
  1256. package/dist/esm/core/billing/billing-launcher.d.ts.map +1 -1
  1257. package/dist/esm/core/billing/billing-launcher.js +1 -1
  1258. package/dist/esm/core/billing/billing-launcher.js.map +1 -1
  1259. package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
  1260. package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
  1261. package/dist/esm/core/billing/useBilling.d.ts.map +1 -1
  1262. package/dist/esm/core/billing/useBilling.js.map +1 -1
  1263. package/dist/esm/core/billing/useBillingAction.d.ts.map +1 -1
  1264. package/dist/esm/core/billing/useBillingAction.js.map +1 -1
  1265. package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts.map +1 -1
  1266. package/dist/esm/core/billing/useSafeBillingActionExecutor.js.map +1 -1
  1267. package/dist/esm/core/branding/useBrandIdentity.d.ts +17 -0
  1268. package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
  1269. package/dist/esm/core/branding/useBrandIdentity.js +17 -0
  1270. package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
  1271. package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
  1272. package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
  1273. package/dist/esm/core/commons/devices.frontend.schemas.d.ts.map +1 -1
  1274. package/dist/esm/core/commons/devices.frontend.schemas.js.map +1 -1
  1275. package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts.map +1 -1
  1276. package/dist/esm/core/commons/local-storage.frontend.schemas.js.map +1 -1
  1277. package/dist/esm/core/commons/window-event.frontend.schemas.d.ts.map +1 -1
  1278. package/dist/esm/core/commons/window-event.frontend.schemas.js.map +1 -1
  1279. package/dist/esm/core/companion/companion-exports.frontend.definitions.d.ts.map +1 -1
  1280. package/dist/esm/core/companion/companion-exports.frontend.definitions.js.map +1 -1
  1281. package/dist/esm/core/components-registry/ComponentNotInjected.d.ts.map +1 -1
  1282. package/dist/esm/core/components-registry/ComponentNotInjected.js.map +1 -1
  1283. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
  1284. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +1 -0
  1285. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
  1286. package/dist/esm/core/components-registry/component-registry-loader.frontend.service.d.ts.map +1 -1
  1287. package/dist/esm/core/components-registry/component-registry-loader.frontend.service.js.map +1 -1
  1288. package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts.map +1 -1
  1289. package/dist/esm/core/components-registry/component-registry.frontend.schemas.js.map +1 -1
  1290. package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts.map +1 -1
  1291. package/dist/esm/core/components-registry/component-registry.frontend.service.js +4 -1
  1292. package/dist/esm/core/components-registry/component-registry.frontend.service.js.map +1 -1
  1293. package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
  1294. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js +8 -1
  1295. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
  1296. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +188 -0
  1297. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -0
  1298. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +255 -0
  1299. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -0
  1300. package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
  1301. package/dist/esm/core/components-registry/register-framework-layouts.js +2 -0
  1302. package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
  1303. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +76 -0
  1304. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -0
  1305. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +99 -0
  1306. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -0
  1307. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +15 -5
  1308. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
  1309. package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
  1310. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +44 -7
  1311. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
  1312. package/dist/esm/core/config/app-level-components.frontend.schemas.js +44 -7
  1313. package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
  1314. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +14 -14
  1315. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
  1316. package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
  1317. package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
  1318. package/dist/esm/core/config/composite-view.schemas.js.map +1 -1
  1319. package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
  1320. package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
  1321. package/dist/esm/core/config/engine-settings-destinations.d.ts +0 -49
  1322. package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
  1323. package/dist/esm/core/config/engine-settings-destinations.js +102 -56
  1324. package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
  1325. package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
  1326. package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
  1327. package/dist/esm/core/config/flows-actors-view.schemas.d.ts +5 -3
  1328. package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
  1329. package/dist/esm/core/config/flows-actors-view.schemas.js +2 -2
  1330. package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
  1331. package/dist/esm/core/config/full-custom-view.schemas.d.ts.map +1 -1
  1332. package/dist/esm/core/config/full-custom-view.schemas.js.map +1 -1
  1333. package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
  1334. package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
  1335. package/dist/esm/core/config/inserted-view.frontend.schemas.d.ts.map +1 -1
  1336. package/dist/esm/core/config/inserted-view.frontend.schemas.js.map +1 -1
  1337. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +51 -11
  1338. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
  1339. package/dist/esm/core/config/launcher-items.frontend.schemas.js +21 -7
  1340. package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
  1341. package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts.map +1 -1
  1342. package/dist/esm/core/config/onboarding-view.frontend.schemas.js.map +1 -1
  1343. package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.d.ts.map +1 -1
  1344. package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.js.map +1 -1
  1345. package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
  1346. package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
  1347. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +23 -1
  1348. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
  1349. package/dist/esm/core/config/settings-hub.frontend.schemas.js +22 -0
  1350. package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
  1351. package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
  1352. package/dist/esm/core/config/useSettingsHubConfig.js +8 -1
  1353. package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
  1354. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
  1355. package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
  1356. package/dist/esm/core/config/verify-feature-references.frontend.d.ts +7 -0
  1357. package/dist/esm/core/config/verify-feature-references.frontend.d.ts.map +1 -1
  1358. package/dist/esm/core/config/verify-feature-references.frontend.js +42 -1
  1359. package/dist/esm/core/config/verify-feature-references.frontend.js.map +1 -1
  1360. package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
  1361. package/dist/esm/core/config/verify-launcher-content.js +9 -2
  1362. package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
  1363. package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
  1364. package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
  1365. package/dist/esm/core/config/views-frontend.schemas.d.ts.map +1 -1
  1366. package/dist/esm/core/config/views-frontend.schemas.js.map +1 -1
  1367. package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
  1368. package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
  1369. package/dist/esm/core/errors/ErrorBoundary.d.ts.map +1 -1
  1370. package/dist/esm/core/errors/ErrorBoundary.js.map +1 -1
  1371. package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
  1372. package/dist/esm/core/errors/ErrorContext.js.map +1 -1
  1373. package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
  1374. package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
  1375. package/dist/esm/core/errors/RouterErrorBoundary.d.ts.map +1 -1
  1376. package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
  1377. package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
  1378. package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
  1379. package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
  1380. package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
  1381. package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
  1382. package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
  1383. package/dist/esm/core/errors/http-error-behavior.frontend.schemas.d.ts.map +1 -1
  1384. package/dist/esm/core/errors/http-error-behavior.frontend.schemas.js.map +1 -1
  1385. package/dist/esm/core/errors/useError.d.ts.map +1 -1
  1386. package/dist/esm/core/errors/useError.js.map +1 -1
  1387. package/dist/esm/core/errors/withErrorBoundary.d.ts.map +1 -1
  1388. package/dist/esm/core/errors/withErrorBoundary.js.map +1 -1
  1389. package/dist/esm/core/events/EventBusContext.d.ts.map +1 -1
  1390. package/dist/esm/core/events/EventBusContext.js.map +1 -1
  1391. package/dist/esm/core/events/NotificationContext.d.ts +6 -5
  1392. package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
  1393. package/dist/esm/core/events/NotificationContext.js +41 -39
  1394. package/dist/esm/core/events/NotificationContext.js.map +1 -1
  1395. package/dist/esm/core/events/event-bus.frontend.service.d.ts.map +1 -1
  1396. package/dist/esm/core/events/event-bus.frontend.service.js.map +1 -1
  1397. package/dist/esm/core/events/events.frontend.schemas.d.ts +34 -18
  1398. package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
  1399. package/dist/esm/core/events/events.frontend.schemas.js +22 -1
  1400. package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
  1401. package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts.map +1 -1
  1402. package/dist/esm/core/events/notification-display-policy.frontend.schemas.js.map +1 -1
  1403. package/dist/esm/core/events/toast.d.ts.map +1 -1
  1404. package/dist/esm/core/events/toast.js.map +1 -1
  1405. package/dist/esm/core/events/useEventBus.d.ts.map +1 -1
  1406. package/dist/esm/core/events/useEventBus.js.map +1 -1
  1407. package/dist/esm/core/events/useNotification.d.ts.map +1 -1
  1408. package/dist/esm/core/events/useNotification.js.map +1 -1
  1409. package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.d.ts.map +1 -1
  1410. package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.js.map +1 -1
  1411. package/dist/esm/core/execution/ExecutionRuntimeContext.d.ts.map +1 -1
  1412. package/dist/esm/core/execution/ExecutionRuntimeContext.js.map +1 -1
  1413. package/dist/esm/core/execution/execution-anchor.utils.d.ts.map +1 -1
  1414. package/dist/esm/core/execution/execution-anchor.utils.js.map +1 -1
  1415. package/dist/esm/core/execution/execution-dirty-markers.utils.d.ts.map +1 -1
  1416. package/dist/esm/core/execution/execution-dirty-markers.utils.js.map +1 -1
  1417. package/dist/esm/core/execution/execution-failure-handling.utils.d.ts.map +1 -1
  1418. package/dist/esm/core/execution/execution-failure-handling.utils.js.map +1 -1
  1419. package/dist/esm/core/execution/execution-outcome-emission.utils.d.ts.map +1 -1
  1420. package/dist/esm/core/execution/execution-outcome-emission.utils.js.map +1 -1
  1421. package/dist/esm/core/execution/execution-participation.utils.d.ts.map +1 -1
  1422. package/dist/esm/core/execution/execution-participation.utils.js.map +1 -1
  1423. package/dist/esm/core/execution/useExecution.d.ts.map +1 -1
  1424. package/dist/esm/core/execution/useExecution.js.map +1 -1
  1425. package/dist/esm/core/execution/useExecutionDirtyBridge.d.ts.map +1 -1
  1426. package/dist/esm/core/execution/useExecutionDirtyBridge.js.map +1 -1
  1427. package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.d.ts.map +1 -1
  1428. package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.js.map +1 -1
  1429. package/dist/esm/core/execution/useExecutionParticipationPrefetch.d.ts.map +1 -1
  1430. package/dist/esm/core/execution/useExecutionParticipationPrefetch.js.map +1 -1
  1431. package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
  1432. package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
  1433. package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.d.ts.map +1 -1
  1434. package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.js.map +1 -1
  1435. package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
  1436. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
  1437. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +77 -0
  1438. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -0
  1439. package/dist/esm/core/external-providers/ProviderFilePickerHost.js +114 -0
  1440. package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -0
  1441. package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.d.ts.map +1 -1
  1442. package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.js.map +1 -1
  1443. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +33 -15
  1444. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
  1445. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js +27 -21
  1446. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
  1447. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts +102 -0
  1448. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -0
  1449. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js +117 -0
  1450. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js.map +1 -0
  1451. package/dist/esm/core/features/FeatureGate.d.ts.map +1 -1
  1452. package/dist/esm/core/features/FeatureGate.js +1 -1
  1453. package/dist/esm/core/features/FeatureGate.js.map +1 -1
  1454. package/dist/esm/core/features/FeatureRouteGuard.d.ts.map +1 -1
  1455. package/dist/esm/core/features/FeatureRouteGuard.js +1 -1
  1456. package/dist/esm/core/features/FeatureRouteGuard.js.map +1 -1
  1457. package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
  1458. package/dist/esm/core/features/FeaturesContext.js.map +1 -1
  1459. package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts +7 -0
  1460. package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
  1461. package/dist/esm/core/features/feature-unavailability.frontend.utils.js +5 -0
  1462. package/dist/esm/core/features/feature-unavailability.frontend.utils.js.map +1 -1
  1463. package/dist/esm/core/features/useFeatureAvailability.d.ts +2 -0
  1464. package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
  1465. package/dist/esm/core/features/useFeatureAvailability.js +4 -2
  1466. package/dist/esm/core/features/useFeatureAvailability.js.map +1 -1
  1467. package/dist/esm/core/features/useFeatureGate.d.ts.map +1 -1
  1468. package/dist/esm/core/features/useFeatureGate.js.map +1 -1
  1469. package/dist/esm/core/features/useFeatures.d.ts.map +1 -1
  1470. package/dist/esm/core/features/useFeatures.js.map +1 -1
  1471. package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
  1472. package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
  1473. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +26 -2
  1474. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
  1475. package/dist/esm/core/flows-actors/FlowsActorsContext.js +60 -3
  1476. package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
  1477. package/dist/esm/core/flows-actors/useFlowsActors.d.ts.map +1 -1
  1478. package/dist/esm/core/flows-actors/useFlowsActors.js.map +1 -1
  1479. package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
  1480. package/dist/esm/core/guidance/GuidanceContext.js +2 -2
  1481. package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
  1482. package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
  1483. package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
  1484. package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts.map +1 -1
  1485. package/dist/esm/core/guidance/guidance-audience.frontend.utils.js.map +1 -1
  1486. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.d.ts.map +1 -1
  1487. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js.map +1 -1
  1488. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.d.ts.map +1 -1
  1489. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.js.map +1 -1
  1490. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.d.ts.map +1 -1
  1491. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.js.map +1 -1
  1492. package/dist/esm/core/guidance/renderers/GuidanceBadge.d.ts.map +1 -1
  1493. package/dist/esm/core/guidance/renderers/GuidanceBadge.js.map +1 -1
  1494. package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.d.ts.map +1 -1
  1495. package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.js.map +1 -1
  1496. package/dist/esm/core/guidance/renderers/GuidanceBanner.d.ts.map +1 -1
  1497. package/dist/esm/core/guidance/renderers/GuidanceBanner.js.map +1 -1
  1498. package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.d.ts.map +1 -1
  1499. package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.js.map +1 -1
  1500. package/dist/esm/core/guidance/renderers/GuidanceCard.d.ts.map +1 -1
  1501. package/dist/esm/core/guidance/renderers/GuidanceCard.js.map +1 -1
  1502. package/dist/esm/core/guidance/renderers/GuidanceCard.labels.d.ts.map +1 -1
  1503. package/dist/esm/core/guidance/renderers/GuidanceCard.labels.js.map +1 -1
  1504. package/dist/esm/core/guidance/renderers/GuidanceChecklist.d.ts.map +1 -1
  1505. package/dist/esm/core/guidance/renderers/GuidanceChecklist.js.map +1 -1
  1506. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.d.ts.map +1 -1
  1507. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
  1508. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.d.ts.map +1 -1
  1509. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.js.map +1 -1
  1510. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.d.ts.map +1 -1
  1511. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js.map +1 -1
  1512. package/dist/esm/core/guidance/renderers/GuidanceModal.d.ts.map +1 -1
  1513. package/dist/esm/core/guidance/renderers/GuidanceModal.js.map +1 -1
  1514. package/dist/esm/core/guidance/renderers/GuidanceModal.labels.d.ts.map +1 -1
  1515. package/dist/esm/core/guidance/renderers/GuidanceModal.labels.js.map +1 -1
  1516. package/dist/esm/core/guidance/renderers/GuidanceSurvey.d.ts.map +1 -1
  1517. package/dist/esm/core/guidance/renderers/GuidanceSurvey.js.map +1 -1
  1518. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.d.ts.map +1 -1
  1519. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js.map +1 -1
  1520. package/dist/esm/core/guidance/renderers/GuidanceTooltip.d.ts.map +1 -1
  1521. package/dist/esm/core/guidance/renderers/GuidanceTooltip.js.map +1 -1
  1522. package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.d.ts.map +1 -1
  1523. package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.js.map +1 -1
  1524. package/dist/esm/core/guidance/renderers/GuidanceTour.d.ts.map +1 -1
  1525. package/dist/esm/core/guidance/renderers/GuidanceTour.js.map +1 -1
  1526. package/dist/esm/core/guidance/renderers/GuidanceTour.labels.d.ts.map +1 -1
  1527. package/dist/esm/core/guidance/renderers/GuidanceTour.labels.js.map +1 -1
  1528. package/dist/esm/core/guidance/useGuidance.d.ts.map +1 -1
  1529. package/dist/esm/core/guidance/useGuidance.js.map +1 -1
  1530. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +29 -0
  1531. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
  1532. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +76 -1
  1533. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
  1534. package/dist/esm/core/hotkey/HotkeyRegistryContext.d.ts.map +1 -1
  1535. package/dist/esm/core/hotkey/HotkeyRegistryContext.js +44 -8
  1536. package/dist/esm/core/hotkey/HotkeyRegistryContext.js.map +1 -1
  1537. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.d.ts.map +1 -1
  1538. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js.map +1 -1
  1539. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts +53 -1
  1540. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts.map +1 -1
  1541. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js +78 -13
  1542. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js.map +1 -1
  1543. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts.map +1 -1
  1544. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
  1545. package/dist/esm/core/hotkey/useHotkey.d.ts.map +1 -1
  1546. package/dist/esm/core/hotkey/useHotkey.js.map +1 -1
  1547. package/dist/esm/core/i18n/I18nContext.d.ts +32 -0
  1548. package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
  1549. package/dist/esm/core/i18n/I18nContext.js +154 -32
  1550. package/dist/esm/core/i18n/I18nContext.js.map +1 -1
  1551. package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
  1552. package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
  1553. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +51 -0
  1554. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -0
  1555. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +66 -0
  1556. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -0
  1557. package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
  1558. package/dist/esm/core/i18n/useI18n.js +22 -2
  1559. package/dist/esm/core/i18n/useI18n.js.map +1 -1
  1560. package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
  1561. package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
  1562. package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
  1563. package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
  1564. package/dist/esm/core/icons/icon-registry.frontend.definitions.d.ts.map +1 -1
  1565. package/dist/esm/core/icons/icon-registry.frontend.definitions.js.map +1 -1
  1566. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
  1567. package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
  1568. package/dist/esm/core/icons/useIconRegistry.d.ts.map +1 -1
  1569. package/dist/esm/core/icons/useIconRegistry.js.map +1 -1
  1570. package/dist/esm/core/loading/AppLoadingGate.d.ts.map +1 -1
  1571. package/dist/esm/core/loading/AppLoadingGate.js.map +1 -1
  1572. package/dist/esm/core/loading/LoadingBarrier.d.ts.map +1 -1
  1573. package/dist/esm/core/loading/LoadingBarrier.js.map +1 -1
  1574. package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
  1575. package/dist/esm/core/loading/LoadingContext.js.map +1 -1
  1576. package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
  1577. package/dist/esm/core/loading/LoadingGate.js +16 -3
  1578. package/dist/esm/core/loading/LoadingGate.js.map +1 -1
  1579. package/dist/esm/core/loading/loading-policy.frontend.schemas.d.ts.map +1 -1
  1580. package/dist/esm/core/loading/loading-policy.frontend.schemas.js.map +1 -1
  1581. package/dist/esm/core/loading/loading-scope.frontend.utils.d.ts.map +1 -1
  1582. package/dist/esm/core/loading/loading-scope.frontend.utils.js.map +1 -1
  1583. package/dist/esm/core/loading/loading-types.frontend.schemas.d.ts.map +1 -1
  1584. package/dist/esm/core/loading/loading-types.frontend.schemas.js.map +1 -1
  1585. package/dist/esm/core/loading/resolveLoadingPolicy.d.ts.map +1 -1
  1586. package/dist/esm/core/loading/resolveLoadingPolicy.js.map +1 -1
  1587. package/dist/esm/core/loading/useAppLoading.d.ts.map +1 -1
  1588. package/dist/esm/core/loading/useAppLoading.js.map +1 -1
  1589. package/dist/esm/core/loading/useComponentLoading.d.ts.map +1 -1
  1590. package/dist/esm/core/loading/useComponentLoading.js.map +1 -1
  1591. package/dist/esm/core/loading/useEmitLoadingScope.d.ts.map +1 -1
  1592. package/dist/esm/core/loading/useEmitLoadingScope.js.map +1 -1
  1593. package/dist/esm/core/loading/useLoading.d.ts.map +1 -1
  1594. package/dist/esm/core/loading/useLoading.js.map +1 -1
  1595. package/dist/esm/core/mode/AppModeContext.d.ts.map +1 -1
  1596. package/dist/esm/core/mode/AppModeContext.js.map +1 -1
  1597. package/dist/esm/core/mode/section-visibility.d.ts.map +1 -1
  1598. package/dist/esm/core/mode/section-visibility.js.map +1 -1
  1599. package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
  1600. package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
  1601. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts.map +1 -1
  1602. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
  1603. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
  1604. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
  1605. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
  1606. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
  1607. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
  1608. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
  1609. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
  1610. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
  1611. package/dist/esm/core/monitoring/analytics/useAnalytics.d.ts.map +1 -1
  1612. package/dist/esm/core/monitoring/analytics/useAnalytics.js.map +1 -1
  1613. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts +97 -0
  1614. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts.map +1 -0
  1615. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js +179 -0
  1616. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js.map +1 -0
  1617. package/dist/esm/core/monitoring/logger.frontend.service.d.ts.map +1 -1
  1618. package/dist/esm/core/monitoring/logger.frontend.service.js.map +1 -1
  1619. package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
  1620. package/dist/esm/core/navigation/NavigationContentAreas.js +76 -48
  1621. package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
  1622. package/dist/esm/core/navigation/NavigationContext.d.ts +12 -0
  1623. package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
  1624. package/dist/esm/core/navigation/NavigationContext.js +24 -0
  1625. package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
  1626. package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
  1627. package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
  1628. package/dist/esm/core/navigation/hosted-pane.constants.d.ts.map +1 -1
  1629. package/dist/esm/core/navigation/hosted-pane.constants.js.map +1 -1
  1630. package/dist/esm/core/navigation/launcher-resolution.d.ts +1 -1
  1631. package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
  1632. package/dist/esm/core/navigation/launcher-resolution.js +1 -1
  1633. package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
  1634. package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
  1635. package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
  1636. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
  1637. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
  1638. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +14 -5
  1639. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
  1640. package/dist/esm/core/navigation/navigation-policy-resolver.service.js +146 -17
  1641. package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
  1642. package/dist/esm/core/navigation/navigation.schemas.d.ts +58 -10
  1643. package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
  1644. package/dist/esm/core/navigation/navigation.schemas.js +1 -1
  1645. package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
  1646. package/dist/esm/core/navigation/navigation.utils.d.ts +2 -2
  1647. package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
  1648. package/dist/esm/core/navigation/navigation.utils.js +4 -4
  1649. package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
  1650. package/dist/esm/core/navigation/primary-destination-layout.d.ts.map +1 -1
  1651. package/dist/esm/core/navigation/primary-destination-layout.js.map +1 -1
  1652. package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +1 -1
  1653. package/dist/esm/core/navigation/useIsStackEntryActive.js.map +1 -1
  1654. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
  1655. package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
  1656. package/dist/esm/core/navigation/useNavigationController.d.ts +8 -0
  1657. package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
  1658. package/dist/esm/core/navigation/useNavigationController.js +26 -6
  1659. package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
  1660. package/dist/esm/core/navigation/useNavigationState.d.ts.map +1 -1
  1661. package/dist/esm/core/navigation/useNavigationState.js.map +1 -1
  1662. package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
  1663. package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
  1664. package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
  1665. package/dist/esm/core/navigation/useTransactionAwareSyncRetry.js.map +1 -1
  1666. package/dist/esm/core/navigation/view-title-resolution.d.ts.map +1 -1
  1667. package/dist/esm/core/navigation/view-title-resolution.js.map +1 -1
  1668. package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -1
  1669. package/dist/esm/core/navigation/zone-content-geometry.js.map +1 -1
  1670. package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -1
  1671. package/dist/esm/core/navigation/zone-empty-behavior.js.map +1 -1
  1672. package/dist/esm/core/navigation/zone-visible-entry.d.ts +26 -0
  1673. package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -0
  1674. package/dist/esm/core/navigation/zone-visible-entry.js +76 -0
  1675. package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -0
  1676. package/dist/esm/core/requests/api-readiness-checker.frontend.service.d.ts.map +1 -1
  1677. package/dist/esm/core/requests/api-readiness-checker.frontend.service.js.map +1 -1
  1678. package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
  1679. package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
  1680. package/dist/esm/core/requests/client-instance-id.frontend.service.d.ts.map +1 -1
  1681. package/dist/esm/core/requests/client-instance-id.frontend.service.js.map +1 -1
  1682. package/dist/esm/core/requests/network-backoff.frontend.utils.d.ts.map +1 -1
  1683. package/dist/esm/core/requests/network-backoff.frontend.utils.js.map +1 -1
  1684. package/dist/esm/core/requests/offline-replay-policy.frontend.d.ts.map +1 -1
  1685. package/dist/esm/core/requests/offline-replay-policy.frontend.js.map +1 -1
  1686. package/dist/esm/core/requests/request-cancellation.frontend.utils.d.ts.map +1 -1
  1687. package/dist/esm/core/requests/request-cancellation.frontend.utils.js.map +1 -1
  1688. package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.d.ts.map +1 -1
  1689. package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.js.map +1 -1
  1690. package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
  1691. package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
  1692. package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
  1693. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
  1694. package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
  1695. package/dist/esm/core/requests/websockets/useNotificationBadges.js +32 -19
  1696. package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
  1697. package/dist/esm/core/requests/websockets/useResourceRoom.d.ts.map +1 -1
  1698. package/dist/esm/core/requests/websockets/useResourceRoom.js.map +1 -1
  1699. package/dist/esm/core/requests/websockets/useWebSocket.d.ts.map +1 -1
  1700. package/dist/esm/core/requests/websockets/useWebSocket.js.map +1 -1
  1701. package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.d.ts.map +1 -1
  1702. package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.js.map +1 -1
  1703. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +146 -2
  1704. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
  1705. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +108 -1
  1706. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
  1707. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts +3 -2
  1708. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
  1709. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +57 -4
  1710. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
  1711. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +6 -0
  1712. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
  1713. package/dist/esm/core/requests/wildo-http-client.frontend.service.js +1 -0
  1714. package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
  1715. package/dist/esm/core/resources/ResourceOperationViewContext.d.ts.map +1 -1
  1716. package/dist/esm/core/resources/ResourceOperationViewContext.js.map +1 -1
  1717. package/dist/esm/core/resources/ResourceOperationViewProvider.d.ts.map +1 -1
  1718. package/dist/esm/core/resources/ResourceOperationViewProvider.js.map +1 -1
  1719. package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -1
  1720. package/dist/esm/core/resources/ResourceReadCacheBridge.js +130 -37
  1721. package/dist/esm/core/resources/ResourceReadCacheBridge.js.map +1 -1
  1722. package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
  1723. package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
  1724. package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
  1725. package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
  1726. package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
  1727. package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
  1728. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts.map +1 -1
  1729. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
  1730. package/dist/esm/core/resources/ephemeral-fields.utils.d.ts.map +1 -1
  1731. package/dist/esm/core/resources/ephemeral-fields.utils.js.map +1 -1
  1732. package/dist/esm/core/resources/file-serve-url.frontend.utils.d.ts.map +1 -1
  1733. package/dist/esm/core/resources/file-serve-url.frontend.utils.js.map +1 -1
  1734. package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
  1735. package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
  1736. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
  1737. package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
  1738. package/dist/esm/core/resources/in-place/InPlaceOperationContext.d.ts.map +1 -1
  1739. package/dist/esm/core/resources/in-place/InPlaceOperationContext.js.map +1 -1
  1740. package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.d.ts.map +1 -1
  1741. package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.js.map +1 -1
  1742. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
  1743. package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
  1744. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
  1745. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
  1746. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
  1747. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
  1748. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
  1749. package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
  1750. package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
  1751. package/dist/esm/core/resources/resource-operation-view.frontend.utils.js.map +1 -1
  1752. package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
  1753. package/dist/esm/core/resources/resource-path.frontend.schemas.js.map +1 -1
  1754. package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
  1755. package/dist/esm/core/resources/resource-read-cache.frontend.service.js.map +1 -1
  1756. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
  1757. package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
  1758. package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
  1759. package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
  1760. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
  1761. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
  1762. package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
  1763. package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
  1764. package/dist/esm/core/resources/rmm/RMMRegistryContext.d.ts.map +1 -1
  1765. package/dist/esm/core/resources/rmm/RMMRegistryContext.js.map +1 -1
  1766. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.d.ts.map +1 -1
  1767. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js.map +1 -1
  1768. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
  1769. package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
  1770. package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.d.ts.map +1 -1
  1771. package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.js.map +1 -1
  1772. package/dist/esm/core/resources/rmm/field-path.utils.d.ts.map +1 -1
  1773. package/dist/esm/core/resources/rmm/field-path.utils.js.map +1 -1
  1774. package/dist/esm/core/resources/rmm/rmm-constants.d.ts.map +1 -1
  1775. package/dist/esm/core/resources/rmm/rmm-constants.js.map +1 -1
  1776. package/dist/esm/core/resources/rmm/rmm-noop-snapshot.d.ts.map +1 -1
  1777. package/dist/esm/core/resources/rmm/rmm-noop-snapshot.js.map +1 -1
  1778. package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
  1779. package/dist/esm/core/resources/rmm/types.js.map +1 -1
  1780. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
  1781. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
  1782. package/dist/esm/core/resources/rmm/useListInvalidation.d.ts.map +1 -1
  1783. package/dist/esm/core/resources/rmm/useListInvalidation.js.map +1 -1
  1784. package/dist/esm/core/resources/rmm/useRMMEventHandler.d.ts.map +1 -1
  1785. package/dist/esm/core/resources/rmm/useRMMEventHandler.js.map +1 -1
  1786. package/dist/esm/core/resources/rmm/useRMMSnapshot.d.ts.map +1 -1
  1787. package/dist/esm/core/resources/rmm/useRMMSnapshot.js.map +1 -1
  1788. package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
  1789. package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
  1790. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
  1791. package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
  1792. package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.d.ts.map +1 -1
  1793. package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.js.map +1 -1
  1794. package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
  1795. package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
  1796. package/dist/esm/core/resources/useOperationEnabled.d.ts.map +1 -1
  1797. package/dist/esm/core/resources/useOperationEnabled.js.map +1 -1
  1798. package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
  1799. package/dist/esm/core/resources/useResourceLabels.js +20 -14
  1800. package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
  1801. package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
  1802. package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
  1803. package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
  1804. package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
  1805. package/dist/esm/core/resources/useResourceRegistry.d.ts.map +1 -1
  1806. package/dist/esm/core/resources/useResourceRegistry.js.map +1 -1
  1807. package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
  1808. package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
  1809. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
  1810. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
  1811. package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
  1812. package/dist/esm/core/runtime/AppRouter.js +2 -1
  1813. package/dist/esm/core/runtime/AppRouter.js.map +1 -1
  1814. package/dist/esm/core/runtime/ApplicationContext.shared.d.ts +9 -0
  1815. package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
  1816. package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
  1817. package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
  1818. package/dist/esm/core/runtime/ApplicationMainContext.js +1 -0
  1819. package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
  1820. package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts.map +1 -1
  1821. package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.js.map +1 -1
  1822. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
  1823. package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
  1824. package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts.map +1 -1
  1825. package/dist/esm/core/runtime/env-variable-loader.frontend.service.js.map +1 -1
  1826. package/dist/esm/core/runtime/frontend-companion-resource-inputs.d.ts.map +1 -1
  1827. package/dist/esm/core/runtime/frontend-companion-resource-inputs.js.map +1 -1
  1828. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +6 -0
  1829. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
  1830. package/dist/esm/core/runtime/routes.frontend.definitions.js +7 -0
  1831. package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
  1832. package/dist/esm/core/runtime/runtime.frontend.schemas.d.ts.map +1 -1
  1833. package/dist/esm/core/runtime/runtime.frontend.schemas.js.map +1 -1
  1834. package/dist/esm/core/runtime/start-application.frontend.service.d.ts +38 -0
  1835. package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
  1836. package/dist/esm/core/runtime/start-application.frontend.service.js +92 -3
  1837. package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
  1838. package/dist/esm/core/runtime/useApplication.d.ts.map +1 -1
  1839. package/dist/esm/core/runtime/useApplication.js.map +1 -1
  1840. package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
  1841. package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
  1842. package/dist/esm/core/scope/scope.frontend.schemas.d.ts.map +1 -1
  1843. package/dist/esm/core/scope/scope.frontend.schemas.js.map +1 -1
  1844. package/dist/esm/core/scope/scope.utils.frontend.service.d.ts.map +1 -1
  1845. package/dist/esm/core/scope/scope.utils.frontend.service.js.map +1 -1
  1846. package/dist/esm/core/scope/useAppScope.d.ts.map +1 -1
  1847. package/dist/esm/core/scope/useAppScope.js.map +1 -1
  1848. package/dist/esm/core/security/AnonymousSessionContext.d.ts.map +1 -1
  1849. package/dist/esm/core/security/AnonymousSessionContext.js.map +1 -1
  1850. package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
  1851. package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
  1852. package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
  1853. package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
  1854. package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
  1855. package/dist/esm/core/security/UserOrgsContext.js +97 -13
  1856. package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
  1857. package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
  1858. package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
  1859. package/dist/esm/core/security/auth-session.utils.d.ts.map +1 -1
  1860. package/dist/esm/core/security/auth-session.utils.js.map +1 -1
  1861. package/dist/esm/core/security/cross-frontend-handoff.frontend.service.d.ts.map +1 -1
  1862. package/dist/esm/core/security/cross-frontend-handoff.frontend.service.js.map +1 -1
  1863. package/dist/esm/core/security/jwt.frontend.utils.d.ts.map +1 -1
  1864. package/dist/esm/core/security/jwt.frontend.utils.js.map +1 -1
  1865. package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
  1866. package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
  1867. package/dist/esm/core/security/session-token-storage.frontend.service.d.ts.map +1 -1
  1868. package/dist/esm/core/security/session-token-storage.frontend.service.js.map +1 -1
  1869. package/dist/esm/core/security/useAuthSession.d.ts.map +1 -1
  1870. package/dist/esm/core/security/useAuthSession.js.map +1 -1
  1871. package/dist/esm/core/security/useResolvedAuthConfig.d.ts.map +1 -1
  1872. package/dist/esm/core/security/useResolvedAuthConfig.js.map +1 -1
  1873. package/dist/esm/core/security/useStepUpAuth.d.ts.map +1 -1
  1874. package/dist/esm/core/security/useStepUpAuth.js.map +1 -1
  1875. package/dist/esm/core/security/useUserOrgs.d.ts.map +1 -1
  1876. package/dist/esm/core/security/useUserOrgs.js.map +1 -1
  1877. package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts.map +1 -1
  1878. package/dist/esm/core/ui/SurfaceErrorBoundary.js.map +1 -1
  1879. package/dist/esm/core/ui/SurfacePolicyContext.d.ts.map +1 -1
  1880. package/dist/esm/core/ui/SurfacePolicyContext.js.map +1 -1
  1881. package/dist/esm/core/ui/TypographyScopeContext.d.ts.map +1 -1
  1882. package/dist/esm/core/ui/TypographyScopeContext.js.map +1 -1
  1883. package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
  1884. package/dist/esm/core/ui/UIContext.js.map +1 -1
  1885. package/dist/esm/core/ui/chart-style-defaults.d.ts.map +1 -1
  1886. package/dist/esm/core/ui/chart-style-defaults.js.map +1 -1
  1887. package/dist/esm/core/ui/cn.d.ts.map +1 -1
  1888. package/dist/esm/core/ui/cn.js.map +1 -1
  1889. package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
  1890. package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
  1891. package/dist/esm/core/ui/design-token-class-groups.d.ts.map +1 -1
  1892. package/dist/esm/core/ui/design-token-class-groups.js.map +1 -1
  1893. package/dist/esm/core/ui/design-token-config.utils.d.ts.map +1 -1
  1894. package/dist/esm/core/ui/design-token-config.utils.js.map +1 -1
  1895. package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
  1896. package/dist/esm/core/ui/design-token.utils.js.map +1 -1
  1897. package/dist/esm/core/ui/material-runtime.d.ts.map +1 -1
  1898. package/dist/esm/core/ui/material-runtime.js.map +1 -1
  1899. package/dist/esm/core/ui/surface-a11y.utils.d.ts.map +1 -1
  1900. package/dist/esm/core/ui/surface-a11y.utils.js.map +1 -1
  1901. package/dist/esm/core/ui/theme-preference-storage.shared.d.ts.map +1 -1
  1902. package/dist/esm/core/ui/theme-preference-storage.shared.js.map +1 -1
  1903. package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
  1904. package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
  1905. package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -2
  1906. package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
  1907. package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
  1908. package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
  1909. package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
  1910. package/dist/esm/core/ui/useUI.d.ts.map +1 -1
  1911. package/dist/esm/core/ui/useUI.js.map +1 -1
  1912. package/dist/esm/index.d.ts +7 -2
  1913. package/dist/esm/index.d.ts.map +1 -1
  1914. package/dist/esm/index.js +20 -2
  1915. package/dist/esm/index.js.map +1 -1
  1916. package/dist/esm/tailwind/index.d.ts.map +1 -1
  1917. package/dist/esm/tailwind/index.js.map +1 -1
  1918. package/dist/esm/testing/mock-builders.d.ts.map +1 -1
  1919. package/dist/esm/testing/mock-builders.js +2 -0
  1920. package/dist/esm/testing/mock-builders.js.map +1 -1
  1921. package/dist/esm/testing/mock-factory.d.ts.map +1 -1
  1922. package/dist/esm/testing/mock-factory.js.map +1 -1
  1923. package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
  1924. package/dist/esm/testing/rmm-helpers.js.map +1 -1
  1925. package/dist/esm/testing/test-providers.d.ts.map +1 -1
  1926. package/dist/esm/testing/test-providers.js.map +1 -1
  1927. package/dist/esm/testing.d.ts.map +1 -1
  1928. package/dist/esm/testing.js.map +1 -1
  1929. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1930. package/package.json +6 -5
  1931. package/dist/esm/components/billing/billing-plan-change-preview.d.ts +0 -21
  1932. package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +0 -1
  1933. package/dist/esm/components/billing/billing-plan-change-preview.js +0 -12
  1934. package/dist/esm/components/billing/billing-plan-change-preview.js.map +0 -1
  1935. package/dist/esm/components/billing/billing-promotion-code-input.d.ts +0 -12
  1936. package/dist/esm/components/billing/billing-promotion-code-input.d.ts.map +0 -1
  1937. package/dist/esm/components/billing/billing-promotion-code-input.js +0 -11
  1938. package/dist/esm/components/billing/billing-promotion-code-input.js.map +0 -1
@@ -122,6 +122,68 @@ export const ResourceReadCacheBridge = () => {
122
122
  const confirmedRoomsRef = useRef(new Set());
123
123
  /** Rooms claimed but not yet confirmed, so a burst of reads claims each room once. */
124
124
  const requestedRoomsRef = useRef(new Map());
125
+ /*
126
+ * Rooms a read asked for BEFORE the socket was up, held until it is.
127
+ *
128
+ * This is the difference between a cache that works on a page load and one that does not.
129
+ * `requestCoverage` used to return silently when disconnected, and nothing ever asked again — so
130
+ * every read that completed during the connect window was stored uncovered and stayed uncovered
131
+ * for the surface's whole life. Measured on the running dogfood application (2026-09-10): a single
132
+ * navigation to the todos collection issued FOUR coverage requests for `todos`, all four with
133
+ * `isConnected: false`, and the client emitted no `resource:subscribe` frame at all. Whether a room
134
+ * was ever claimed came down to whether some LATER read happened to re-enter `store()` after the
135
+ * socket came up, which is incidental rather than designed — and on the e2e lane's timing it did
136
+ * not happen, so the scenario timed out against a subscription nobody had asked for.
137
+ */
138
+ const pendingRoomsRef = useRef(new Map());
139
+ /*
140
+ * LATEST-VALUE refs, read by the authority rather than captured by it.
141
+ *
142
+ * The authority must be installed ONCE per cache instance, because installing it CLEARS the cache
143
+ * (see `setCoverageAuthority`). Capturing `isConnected` or the claim callbacks in the closure would
144
+ * put them in the effect's dependency list and reinstall the authority every time any of them
145
+ * changed — which is exactly what happened on the `isConnected` false -> true edge, wiping the
146
+ * cache at the precise moment it first became coverable. Assigned during render so a read firing
147
+ * from a sibling's effect cannot observe a stale value.
148
+ */
149
+ const isConnectedRef = useRef(isConnected);
150
+ isConnectedRef.current = isConnected;
151
+ /*
152
+ * Claim one scope room and record the outcome. The single place a claim is made, so a room queued
153
+ * while disconnected and a room requested while connected travel identical paths.
154
+ */
155
+ const claimScopeRoom = useCallback((roomName, qualifier) => {
156
+ if (requestedRoomsRef.current.has(roomName))
157
+ return;
158
+ requestedRoomsRef.current.set(roomName, qualifier);
159
+ void claimResourceRoom({
160
+ ownerKey: `${CLAIM_OWNER_PREFIX}:${roomName}`,
161
+ resourceType: qualifier.resourceType,
162
+ scopeKey: qualifier.scopeKey,
163
+ scopeId: qualifier.scopeId,
164
+ /*
165
+ * The scope's own identifier, in the shape the server's authorization expects. The subscribe
166
+ * handler refuses an EMPTY `contextResourceIdentifiers` outright, and `verifyScopeAccess` reads
167
+ * the scope from it — so this is the authorization input, not decoration.
168
+ */
169
+ contextResourceIdentifiers: { [`${qualifier.scopeKey}Id`]: qualifier.scopeId },
170
+ }).then((result) => {
171
+ if (result?.success) {
172
+ confirmedRoomsRef.current.add(roomName);
173
+ logDebug('scope room confirmed', { roomName });
174
+ }
175
+ else {
176
+ // Refused or unreachable. The room stays unconfirmed, so nothing keyed to it is ever
177
+ // served — the cache degrades to the un-cached path rather than guessing.
178
+ requestedRoomsRef.current.delete(roomName);
179
+ logDebug('scope room not confirmed; entries under it stay unservable', { roomName });
180
+ }
181
+ }).catch(() => {
182
+ requestedRoomsRef.current.delete(roomName);
183
+ });
184
+ }, [claimResourceRoom]);
185
+ const claimScopeRoomRef = useRef(claimScopeRoom);
186
+ claimScopeRoomRef.current = claimScopeRoom;
125
187
  const releaseAllRooms = useCallback(() => {
126
188
  for (const [roomName, qualifier] of requestedRoomsRef.current) {
127
189
  void releaseResourceRoom({
@@ -134,7 +196,10 @@ export const ResourceReadCacheBridge = () => {
134
196
  }
135
197
  requestedRoomsRef.current.clear();
136
198
  confirmedRoomsRef.current.clear();
199
+ pendingRoomsRef.current.clear();
137
200
  }, [releaseResourceRoom]);
201
+ const releaseAllRoomsRef = useRef(releaseAllRooms);
202
+ releaseAllRoomsRef.current = releaseAllRooms;
138
203
  /*
139
204
  * Install the authority, and take it away again on unmount.
140
205
  *
@@ -146,55 +211,68 @@ export const ResourceReadCacheBridge = () => {
146
211
  const cache = readCache;
147
212
  const authority = {
148
213
  covers: (_resourceType, scopes) => {
149
- if (!isConnected)
214
+ if (!isConnectedRef.current)
150
215
  return false;
151
216
  if (scopes.length === 0)
152
217
  return false;
153
218
  return scopes.every((scope) => confirmedRoomsRef.current.has(buildScopeRoomName(_resourceType, scope.scopeKey, scope.scopeId)));
154
219
  },
155
220
  requestCoverage: (resourceType, scopes) => {
156
- if (!isConnected)
157
- return;
158
221
  for (const scope of scopes) {
159
222
  const roomName = buildScopeRoomName(resourceType, scope.scopeKey, scope.scopeId);
160
223
  if (requestedRoomsRef.current.has(roomName))
161
224
  continue;
162
- requestedRoomsRef.current.set(roomName, { ...scope, resourceType });
163
- void claimResourceRoom({
164
- ownerKey: `${CLAIM_OWNER_PREFIX}:${roomName}`,
165
- resourceType,
166
- scopeKey: scope.scopeKey,
167
- scopeId: scope.scopeId,
168
- /*
169
- * The scope's own identifier, in the shape the server's authorization expects. The
170
- * subscribe handler refuses an EMPTY `contextResourceIdentifiers` outright, and
171
- * `verifyScopeAccess` reads the scope from it — so this is the authorization input, not
172
- * decoration.
173
- */
174
- contextResourceIdentifiers: { [`${scope.scopeKey}Id`]: scope.scopeId },
175
- }).then((result) => {
176
- if (result?.success) {
177
- confirmedRoomsRef.current.add(roomName);
178
- logDebug('scope room confirmed', { roomName });
179
- }
180
- else {
181
- // Refused or unreachable. The room stays unconfirmed, so nothing keyed to it is ever
182
- // served — the cache degrades to the un-cached path rather than guessing.
183
- requestedRoomsRef.current.delete(roomName);
184
- logDebug('scope room not confirmed; entries under it stay unservable', { roomName });
185
- }
186
- }).catch(() => {
187
- requestedRoomsRef.current.delete(roomName);
188
- });
225
+ /*
226
+ * DEFERRED, not dropped. A read completing before the socket is up is the ordinary case on
227
+ * a page load, not an edge — the surface's own first read is usually one of them — and
228
+ * returning here silently left its entry uncovered forever.
229
+ */
230
+ if (!isConnectedRef.current) {
231
+ pendingRoomsRef.current.set(roomName, { ...scope, resourceType });
232
+ logDebug('coverage deferred until the socket is up', { roomName });
233
+ continue;
234
+ }
235
+ claimScopeRoomRef.current(roomName, { ...scope, resourceType });
189
236
  }
190
237
  },
191
238
  };
192
239
  cache.setCoverageAuthority(authority);
193
240
  return () => {
194
241
  cache.setCoverageAuthority(null);
195
- releaseAllRooms();
242
+ releaseAllRoomsRef.current();
196
243
  };
197
- }, [readCache, isConnected, claimResourceRoom, releaseAllRooms]);
244
+ /*
245
+ * `readCache` ALONE, and that is the whole point of the refs above.
246
+ *
247
+ * `isConnected` was in this list until 2026-09-10, and because installing an authority clears
248
+ * the cache, the false -> true edge emptied it at the exact moment it first became coverable.
249
+ * Every entry a page had read up to that point was discarded, and the coverage those reads had
250
+ * asked for had already been dropped by the disconnected early-return. The tier could therefore
251
+ * only ever cache reads that happened to occur AFTER the socket came up — on the dogfood
252
+ * application's todos collection, none did, so it served nothing while reporting nothing.
253
+ *
254
+ * The authority's IDENTITY does not change when the socket connects; only its ability to claim
255
+ * rooms does, and that is now read from a ref. A genuine socket REPLACEMENT is a different event
256
+ * and is still handled, by the `connectionCount` effect below.
257
+ */
258
+ }, [readCache]);
259
+ /*
260
+ * Claim what the page already asked for, as soon as the socket can carry it.
261
+ *
262
+ * The other half of the deferral above. Without this the queue would only be a politer way of
263
+ * dropping the request.
264
+ */
265
+ useEffect(() => {
266
+ if (!isConnected)
267
+ return;
268
+ if (pendingRoomsRef.current.size === 0)
269
+ return;
270
+ const deferred = [...pendingRoomsRef.current.entries()];
271
+ pendingRoomsRef.current.clear();
272
+ logDebug('claiming coverage deferred during the connect window', { rooms: deferred.length });
273
+ for (const [roomName, qualifier] of deferred)
274
+ claimScopeRoom(roomName, qualifier);
275
+ }, [isConnected, claimScopeRoom]);
198
276
  /*
199
277
  * Hand the cache the ambient application id.
200
278
  *
@@ -207,19 +285,34 @@ export const ResourceReadCacheBridge = () => {
207
285
  readCache.setApplicationId(currentApplicationId);
208
286
  }, [currentApplicationId, readCache]);
209
287
  /*
210
- * A reconnect invalidates every confirmation.
288
+ * A RE-connect invalidates every confirmation. The FIRST connection does not.
211
289
  *
212
- * Rooms are per-SOCKET, so a new connection has joined nothing — and the window in which the
290
+ * Rooms are per-SOCKET, so a REPLACEMENT socket has joined nothing — and the window in which a
213
291
  * socket was down is exactly the window in which a mutation could have gone unheard. Both halves
214
- * point the same way: drop the cache and start the claims again.
292
+ * point the same way for a reconnect: drop the cache and start the claims again.
293
+ *
294
+ * Neither half holds for connection number one, and treating it the same was the second half of
295
+ * the page-load defect. There is no earlier socket whose rooms could have lapsed, nothing was ever
296
+ * served (`covers()` answers false while disconnected, so a stale entry could not have reached a
297
+ * caller), and the "window in which a mutation went unheard" is the page load itself — during
298
+ * which the entries were read from the server and are as fresh as any read. Clearing there simply
299
+ * discarded the first screen's worth of reads and left the tier inert for the surface that
300
+ * triggered them. The residual window — a mutation between a read and its room being joined — is
301
+ * unavoidable in any read-through cache and exists identically for the first read AFTER connection.
215
302
  */
303
+ const previousConnectionCountRef = useRef(connectionCount);
216
304
  useEffect(() => {
217
- if (connectionCount === 0)
305
+ const previousConnectionCount = previousConnectionCountRef.current;
306
+ previousConnectionCountRef.current = connectionCount;
307
+ if (connectionCount <= 1)
308
+ return;
309
+ if (connectionCount === previousConnectionCount)
218
310
  return;
219
311
  confirmedRoomsRef.current.clear();
220
312
  requestedRoomsRef.current.clear();
313
+ pendingRoomsRef.current.clear();
221
314
  readCache.clear();
222
- logDebug('connection changed; coverage and cache reset', { connectionCount });
315
+ logDebug('reconnected; coverage and cache reset', { connectionCount });
223
316
  }, [connectionCount, readCache]);
224
317
  /*
225
318
  * An ORGANIZATION SWITCH changes which rows a read returns without changing the request.
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceReadCacheBridge.js","sourceRoot":"","sources":["../../../../../src/core/resources/ResourceReadCacheBridge.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useContext, useEffect, useRef } from 'react';\nimport {\n CoreWebSocketEvent,\n WebSocketResourceDeliveryTarget,\n buildScopeRoomName,\n type ResourceScopeRoomQualifier,\n type WS_ResourceDeletedPayload,\n type WS_ResourceUpdatedPayload,\n} from '@wildo-ai/saas-models';\n\nimport { useWebSocket } from '~wildo-frontend-lib/core/requests/websockets/useWebSocket';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { ApplicationContext } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\nimport type { ResourceReadCoverageAuthority } from '~wildo-frontend-lib/core/resources/resource-read-cache.frontend.service';\n\nconst logger = LoggerFrontendService.getLogger();\nconst logDebug = logger.debugByType('ResourceReadCacheBridge');\nlogger.setDebugTypeLogging('ResourceReadCacheBridge', false);\n\n/** The owner key every scope-room claim from this bridge is made under. */\nconst CLAIM_OWNER_PREFIX = 'read-cache';\n\n/**\n * The environment flag that removes the read cache from the picture entirely.\n *\n * Mirrors `COMPANION_INTROSPECTION_CACHE` on the companion side, deliberately: the same word, the\n * same value, so an operator who has met one knows the other. Optional, and read through the\n * NON-throwing accessor — a diagnostic toggle must never be able to stop an application booting\n * because it was not declared.\n */\nconst READ_CACHE_ENVIRONMENT_FLAG = 'VITE_RESOURCE_READ_CACHE';\n\n/** The value that turns it off. */\nconst READ_CACHE_DISABLED_VALUE = 'off';\n\n/**\n * Makes cached resource reads SERVABLE, by joining the rooms through which they would be told they\n * are stale — and by dropping them when that stops being true.\n *\n * ## Why the cache cannot do this itself\n *\n * `ResourceReadCacheFrontendService` is a plain service on the HTTP client, deliberately: both read\n * paths reach it and it must outlive any React tree. But the answer to \"would an invalidation for\n * this entry reach us?\" lives in the WebSocket connection, which is React-scoped. So the cache holds\n * the entries and this bridge holds the truth about whether they may be served.\n *\n * ## Scope rooms, which the engine already emits into and nobody joined\n *\n * On a mutation the notifications dispatcher emits twice: into the per-row RESOURCE room, and into\n * the SCOPE rooms. Its own comment says why they are separate — *\"Scope rooms are emitted separately\n * from per-resource rooms because they serve list/cache refresh semantics rather than authoritative\n * per-resource replay semantics.\"* That is exactly this tier's channel, and until now nothing on the\n * client subscribed to it: rooms were claimed only from live `ResourceMutationManager` instances, so\n * a LIST had no way to hear that it had changed.\n *\n * The room set for an entry is computed by `deriveResourceScopeRoomQualifiers` — the SAME function\n * the dispatcher uses to decide where to emit, moved into `@wildo-ai/saas-models` for this purpose.\n * Two implementations of that rule would fail silently: a client subscribed to the wrong room does\n * not error, it simply never hears anything.\n *\n * ## Coverage is refused, not assumed\n *\n * `covers()` answers `true` only while the socket is connected AND every room for the entry is\n * claimed AND confirmed by the server. A subscription the server REFUSED — `verifyResourceAccess`\n * denies a PUBLIC socket outright — leaves the room unconfirmed, so nothing is served from it. The\n * cache then behaves exactly as it did before this tier existed.\n */\nexport const ResourceReadCacheBridge: React.FC = () => {\n const { on, isConnected, connectionCount, claimResourceRoom, releaseResourceRoom } = useWebSocket();\n const { getReadCache } = useResourceRegistry();\n /*\n * Resolved ONCE per render into the cache INSTANCE, and every effect below depends on that\n * instance rather than on `getReadCache`.\n *\n * `ResourceRegistryContext` builds its value object unmemoized, so `getReadCache` is a fresh\n * closure on every provider render. Depending on it re-ran the authority effect each time, and\n * `setCoverageAuthority` clears the cache by design — so the cache was emptied on essentially\n * every render and could never survive long enough to be useful. The instance itself comes from\n * the HTTP-client singleton and is stable for the life of the application.\n *\n * Found by a mutation test: removing the organization-switch clear left every case green, because\n * this effect was already clearing the cache constantly and masking it.\n */\n const readCache = getReadCache();\n\n /*\n * The operator escape hatch, applied before anything can be stored.\n *\n * The blast radius of this tier is every generated application on both persistence adapters, so\n * someone who SUSPECTS the cache has to be able to take it out of the picture without a rebuild\n * and without waiting for a fix. `VITE_RESOURCE_READ_CACHE=off` does that, and the cache then\n * behaves exactly as it did before this tier existed.\n */\n useEffect(() => {\n const disabled = envLoader.readOptionalEnvironmentValue(READ_CACHE_ENVIRONMENT_FLAG)?.toLowerCase()\n === READ_CACHE_DISABLED_VALUE;\n readCache.setEnabled(!disabled);\n if (disabled) {\n logger.info('Resource read cache disabled by environment', { flag: READ_CACHE_ENVIRONMENT_FLAG });\n }\n }, [readCache]);\n /*\n * The SAFE accessor, because this bridge is mounted ABOVE `AppScopeProvider`.\n *\n * The provider lives inside the router shell, while the bridges sit beside `RMMRegistryProvider`\n * one subtree up — so the throwing `useAppScope()` crashes the whole application here, which is\n * exactly what it did the first time. `ScopedResourceRegistryProvider` already solved this the\n * same way and for the same reason (\"If AppScopeProvider isn't mounted yet, behave exactly like\n * the base registry\").\n *\n * The consequence is deliberate and safe: with no scope mounted, `currentOrganizationId` is\n * `undefined` and stays that way, so the organization-switch effect below never fires a spurious\n * clear — and nothing is being cached at that point either, because the socket has no rooms.\n */\n const appScope = useAppScopeSafe();\n const currentOrganizationId = appScope?.currentOrganizationId ?? null;\n /*\n * The application id comes from APP CONFIG, not from the scope and not from the token.\n *\n * Both were checked on the running stack (issue #283): the access token's claims carry `userId`\n * and no `applicationId`, and `AppScopeContext` derives its `currentApplicationId` by decoding\n * that same token — so it is null wherever the claim is absent, which is everywhere. The backend\n * now publishes the id on `appIdentity`, which is the one surface that actually has it.\n *\n * Read through `useContext` rather than `useApplication()` on purpose: that hook THROWS outside\n * its provider, and a bridge that crashes the tree when mounted a level too high is a defect this\n * component has already had once.\n */\n const applicationContext = useContext(ApplicationContext);\n const currentApplicationId = applicationContext?.appIdentity?.applicationId\n ?? appScope?.currentApplicationId\n ?? null;\n\n /** Rooms the server has CONFIRMED. Only these make an entry servable. */\n const confirmedRoomsRef = useRef<Set<string>>(new Set());\n /** Rooms claimed but not yet confirmed, so a burst of reads claims each room once. */\n const requestedRoomsRef = useRef<Map<string, ResourceScopeRoomQualifier & { resourceType: string }>>(new Map());\n\n const releaseAllRooms = useCallback(() => {\n for (const [roomName, qualifier] of requestedRoomsRef.current) {\n void releaseResourceRoom({\n ownerKey: `${CLAIM_OWNER_PREFIX}:${roomName}`,\n resourceType: qualifier.resourceType,\n scopeKey: qualifier.scopeKey,\n scopeId: qualifier.scopeId,\n contextResourceIdentifiers: { [`${qualifier.scopeKey}Id`]: qualifier.scopeId },\n });\n }\n requestedRoomsRef.current.clear();\n confirmedRoomsRef.current.clear();\n }, [releaseResourceRoom]);\n\n /*\n * Install the authority, and take it away again on unmount.\n *\n * `setCoverageAuthority` clears the cache on both edges by construction — an authority that is\n * being replaced knows nothing about what the previous one covered, so every held entry is of\n * unknown freshness.\n */\n useEffect(() => {\n const cache = readCache;\n\n const authority: ResourceReadCoverageAuthority = {\n covers: (_resourceType, scopes) => {\n if (!isConnected) return false;\n if (scopes.length === 0) return false;\n return scopes.every((scope) => confirmedRoomsRef.current.has(\n buildScopeRoomName(_resourceType, scope.scopeKey, scope.scopeId),\n ));\n },\n requestCoverage: (resourceType, scopes) => {\n if (!isConnected) return;\n for (const scope of scopes) {\n const roomName = buildScopeRoomName(resourceType, scope.scopeKey, scope.scopeId);\n if (requestedRoomsRef.current.has(roomName)) continue;\n requestedRoomsRef.current.set(roomName, { ...scope, resourceType });\n\n void claimResourceRoom({\n ownerKey: `${CLAIM_OWNER_PREFIX}:${roomName}`,\n resourceType,\n scopeKey: scope.scopeKey,\n scopeId: scope.scopeId,\n /*\n * The scope's own identifier, in the shape the server's authorization expects. The\n * subscribe handler refuses an EMPTY `contextResourceIdentifiers` outright, and\n * `verifyScopeAccess` reads the scope from it — so this is the authorization input, not\n * decoration.\n */\n contextResourceIdentifiers: { [`${scope.scopeKey}Id`]: scope.scopeId },\n }).then((result) => {\n if (result?.success) {\n confirmedRoomsRef.current.add(roomName);\n logDebug('scope room confirmed', { roomName });\n } else {\n // Refused or unreachable. The room stays unconfirmed, so nothing keyed to it is ever\n // served — the cache degrades to the un-cached path rather than guessing.\n requestedRoomsRef.current.delete(roomName);\n logDebug('scope room not confirmed; entries under it stay unservable', { roomName });\n }\n }).catch(() => {\n requestedRoomsRef.current.delete(roomName);\n });\n }\n },\n };\n\n cache.setCoverageAuthority(authority);\n return () => {\n cache.setCoverageAuthority(null);\n releaseAllRooms();\n };\n }, [readCache, isConnected, claimResourceRoom, releaseAllRooms]);\n\n /*\n * Hand the cache the ambient application id.\n *\n * An APPLICATION-scoped resource's room is keyed on it, and no URL carries one — so without this\n * the read path cannot name the room it belongs in, and a push addressed there is received by\n * nobody (issue #283). The bridge is the right place because it is a COMPONENT and can read the\n * app scope; the cache service is plain and cannot.\n */\n useEffect(() => {\n readCache.setApplicationId(currentApplicationId);\n }, [currentApplicationId, readCache]);\n\n /*\n * A reconnect invalidates every confirmation.\n *\n * Rooms are per-SOCKET, so a new connection has joined nothing — and the window in which the\n * socket was down is exactly the window in which a mutation could have gone unheard. Both halves\n * point the same way: drop the cache and start the claims again.\n */\n useEffect(() => {\n if (connectionCount === 0) return;\n confirmedRoomsRef.current.clear();\n requestedRoomsRef.current.clear();\n readCache.clear();\n logDebug('connection changed; coverage and cache reset', { connectionCount });\n }, [connectionCount, readCache]);\n\n /*\n * An ORGANIZATION SWITCH changes which rows a read returns without changing the request.\n *\n * `commitOrganizationScopeValue` is a `setState` plus a WebSocket room re-point — there is no page\n * reload, and reads are tenancy-filtered at the repository. So without this, switching organization\n * would serve the previous tenant's rows from cache. The rooms are re-claimed under the new\n * organization by the next read that wants them.\n */\n useEffect(() => {\n readCache.clear();\n releaseAllRooms();\n logDebug('organization scope changed; cache cleared', { currentOrganizationId });\n }, [currentOrganizationId, readCache, releaseAllRooms]);\n\n /* Invalidate on anything the server says changed, at whatever grade it arrives. */\n useEffect(() => {\n if (!isConnected) return;\n\n const unsubscribeUpdated = on<WS_ResourceUpdatedPayload>(\n CoreWebSocketEvent.RESOURCE_UPDATED,\n (payload) => {\n /*\n * Every grade invalidates, including the SYNC grade that carries a full row.\n *\n * A sync payload is authoritative for ONE row, and a cached entry is usually a LIST whose\n * membership, ordering and pagination the row cannot settle — an added row does not announce\n * where it belongs. Patching the row into the cached list would be a guess; dropping the\n * entry costs one refetch and cannot be wrong.\n */\n readCache.invalidateResourceType(payload.resourceType);\n logDebug('invalidated by resource update', {\n resourceType: payload.resourceType,\n deliveryTarget: payload.deliveryTarget,\n isScopeRoom: payload.deliveryTarget === WebSocketResourceDeliveryTarget.SCOPE_ROOM_NOTIFICATION,\n });\n },\n );\n\n const unsubscribeDeleted = on<WS_ResourceDeletedPayload>(\n CoreWebSocketEvent.RESOURCE_DELETED,\n (payload) => {\n readCache.invalidateResourceType(payload.resourceType);\n },\n );\n\n return () => {\n unsubscribeUpdated();\n unsubscribeDeleted();\n };\n }, [on, isConnected, readCache]);\n\n return null;\n};\n"]}
1
+ {"version":3,"file":"ResourceReadCacheBridge.js","sourceRoot":"","sources":["../../../../src/core/resources/ResourceReadCacheBridge.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useContext, useEffect, useRef } from 'react';\nimport {\n CoreWebSocketEvent,\n WebSocketResourceDeliveryTarget,\n buildScopeRoomName,\n type ResourceScopeRoomQualifier,\n type WS_ResourceDeletedPayload,\n type WS_ResourceUpdatedPayload,\n} from '@wildo-ai/saas-models';\n\nimport { useWebSocket } from '~wildo-frontend-lib/core/requests/websockets/useWebSocket';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { ApplicationContext } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\nimport type { ResourceReadCoverageAuthority } from '~wildo-frontend-lib/core/resources/resource-read-cache.frontend.service';\n\nconst logger = LoggerFrontendService.getLogger();\nconst logDebug = logger.debugByType('ResourceReadCacheBridge');\nlogger.setDebugTypeLogging('ResourceReadCacheBridge', false);\n\n/** The owner key every scope-room claim from this bridge is made under. */\nconst CLAIM_OWNER_PREFIX = 'read-cache';\n\n/**\n * The environment flag that removes the read cache from the picture entirely.\n *\n * Mirrors `COMPANION_INTROSPECTION_CACHE` on the companion side, deliberately: the same word, the\n * same value, so an operator who has met one knows the other. Optional, and read through the\n * NON-throwing accessor — a diagnostic toggle must never be able to stop an application booting\n * because it was not declared.\n */\nconst READ_CACHE_ENVIRONMENT_FLAG = 'VITE_RESOURCE_READ_CACHE';\n\n/** The value that turns it off. */\nconst READ_CACHE_DISABLED_VALUE = 'off';\n\n/**\n * Makes cached resource reads SERVABLE, by joining the rooms through which they would be told they\n * are stale — and by dropping them when that stops being true.\n *\n * ## Why the cache cannot do this itself\n *\n * `ResourceReadCacheFrontendService` is a plain service on the HTTP client, deliberately: both read\n * paths reach it and it must outlive any React tree. But the answer to \"would an invalidation for\n * this entry reach us?\" lives in the WebSocket connection, which is React-scoped. So the cache holds\n * the entries and this bridge holds the truth about whether they may be served.\n *\n * ## Scope rooms, which the engine already emits into and nobody joined\n *\n * On a mutation the notifications dispatcher emits twice: into the per-row RESOURCE room, and into\n * the SCOPE rooms. Its own comment says why they are separate — *\"Scope rooms are emitted separately\n * from per-resource rooms because they serve list/cache refresh semantics rather than authoritative\n * per-resource replay semantics.\"* That is exactly this tier's channel, and until now nothing on the\n * client subscribed to it: rooms were claimed only from live `ResourceMutationManager` instances, so\n * a LIST had no way to hear that it had changed.\n *\n * The room set for an entry is computed by `deriveResourceScopeRoomQualifiers` — the SAME function\n * the dispatcher uses to decide where to emit, moved into `@wildo-ai/saas-models` for this purpose.\n * Two implementations of that rule would fail silently: a client subscribed to the wrong room does\n * not error, it simply never hears anything.\n *\n * ## Coverage is refused, not assumed\n *\n * `covers()` answers `true` only while the socket is connected AND every room for the entry is\n * claimed AND confirmed by the server. A subscription the server REFUSED — `verifyResourceAccess`\n * denies a PUBLIC socket outright — leaves the room unconfirmed, so nothing is served from it. The\n * cache then behaves exactly as it did before this tier existed.\n */\nexport const ResourceReadCacheBridge: React.FC = () => {\n const { on, isConnected, connectionCount, claimResourceRoom, releaseResourceRoom } = useWebSocket();\n const { getReadCache } = useResourceRegistry();\n /*\n * Resolved ONCE per render into the cache INSTANCE, and every effect below depends on that\n * instance rather than on `getReadCache`.\n *\n * `ResourceRegistryContext` builds its value object unmemoized, so `getReadCache` is a fresh\n * closure on every provider render. Depending on it re-ran the authority effect each time, and\n * `setCoverageAuthority` clears the cache by design — so the cache was emptied on essentially\n * every render and could never survive long enough to be useful. The instance itself comes from\n * the HTTP-client singleton and is stable for the life of the application.\n *\n * Found by a mutation test: removing the organization-switch clear left every case green, because\n * this effect was already clearing the cache constantly and masking it.\n */\n const readCache = getReadCache();\n\n /*\n * The operator escape hatch, applied before anything can be stored.\n *\n * The blast radius of this tier is every generated application on both persistence adapters, so\n * someone who SUSPECTS the cache has to be able to take it out of the picture without a rebuild\n * and without waiting for a fix. `VITE_RESOURCE_READ_CACHE=off` does that, and the cache then\n * behaves exactly as it did before this tier existed.\n */\n useEffect(() => {\n const disabled = envLoader.readOptionalEnvironmentValue(READ_CACHE_ENVIRONMENT_FLAG)?.toLowerCase()\n === READ_CACHE_DISABLED_VALUE;\n readCache.setEnabled(!disabled);\n if (disabled) {\n logger.info('Resource read cache disabled by environment', { flag: READ_CACHE_ENVIRONMENT_FLAG });\n }\n }, [readCache]);\n /*\n * The SAFE accessor, because this bridge is mounted ABOVE `AppScopeProvider`.\n *\n * The provider lives inside the router shell, while the bridges sit beside `RMMRegistryProvider`\n * one subtree up — so the throwing `useAppScope()` crashes the whole application here, which is\n * exactly what it did the first time. `ScopedResourceRegistryProvider` already solved this the\n * same way and for the same reason (\"If AppScopeProvider isn't mounted yet, behave exactly like\n * the base registry\").\n *\n * The consequence is deliberate and safe: with no scope mounted, `currentOrganizationId` is\n * `undefined` and stays that way, so the organization-switch effect below never fires a spurious\n * clear — and nothing is being cached at that point either, because the socket has no rooms.\n */\n const appScope = useAppScopeSafe();\n const currentOrganizationId = appScope?.currentOrganizationId ?? null;\n /*\n * The application id comes from APP CONFIG, not from the scope and not from the token.\n *\n * Both were checked on the running stack (issue #283): the access token's claims carry `userId`\n * and no `applicationId`, and `AppScopeContext` derives its `currentApplicationId` by decoding\n * that same token — so it is null wherever the claim is absent, which is everywhere. The backend\n * now publishes the id on `appIdentity`, which is the one surface that actually has it.\n *\n * Read through `useContext` rather than `useApplication()` on purpose: that hook THROWS outside\n * its provider, and a bridge that crashes the tree when mounted a level too high is a defect this\n * component has already had once.\n */\n const applicationContext = useContext(ApplicationContext);\n const currentApplicationId = applicationContext?.appIdentity?.applicationId\n ?? appScope?.currentApplicationId\n ?? null;\n\n /** Rooms the server has CONFIRMED. Only these make an entry servable. */\n const confirmedRoomsRef = useRef<Set<string>>(new Set());\n /** Rooms claimed but not yet confirmed, so a burst of reads claims each room once. */\n const requestedRoomsRef = useRef<Map<string, ResourceScopeRoomQualifier & { resourceType: string }>>(new Map());\n /*\n * Rooms a read asked for BEFORE the socket was up, held until it is.\n *\n * This is the difference between a cache that works on a page load and one that does not.\n * `requestCoverage` used to return silently when disconnected, and nothing ever asked again — so\n * every read that completed during the connect window was stored uncovered and stayed uncovered\n * for the surface's whole life. Measured on the running dogfood application (2026-09-10): a single\n * navigation to the todos collection issued FOUR coverage requests for `todos`, all four with\n * `isConnected: false`, and the client emitted no `resource:subscribe` frame at all. Whether a room\n * was ever claimed came down to whether some LATER read happened to re-enter `store()` after the\n * socket came up, which is incidental rather than designed — and on the e2e lane's timing it did\n * not happen, so the scenario timed out against a subscription nobody had asked for.\n */\n const pendingRoomsRef = useRef<Map<string, ResourceScopeRoomQualifier & { resourceType: string }>>(new Map());\n /*\n * LATEST-VALUE refs, read by the authority rather than captured by it.\n *\n * The authority must be installed ONCE per cache instance, because installing it CLEARS the cache\n * (see `setCoverageAuthority`). Capturing `isConnected` or the claim callbacks in the closure would\n * put them in the effect's dependency list and reinstall the authority every time any of them\n * changed — which is exactly what happened on the `isConnected` false -> true edge, wiping the\n * cache at the precise moment it first became coverable. Assigned during render so a read firing\n * from a sibling's effect cannot observe a stale value.\n */\n const isConnectedRef = useRef(isConnected);\n isConnectedRef.current = isConnected;\n\n /*\n * Claim one scope room and record the outcome. The single place a claim is made, so a room queued\n * while disconnected and a room requested while connected travel identical paths.\n */\n const claimScopeRoom = useCallback((\n roomName: string,\n qualifier: ResourceScopeRoomQualifier & { resourceType: string },\n ) => {\n if (requestedRoomsRef.current.has(roomName)) return;\n requestedRoomsRef.current.set(roomName, qualifier);\n\n void claimResourceRoom({\n ownerKey: `${CLAIM_OWNER_PREFIX}:${roomName}`,\n resourceType: qualifier.resourceType,\n scopeKey: qualifier.scopeKey,\n scopeId: qualifier.scopeId,\n /*\n * The scope's own identifier, in the shape the server's authorization expects. The subscribe\n * handler refuses an EMPTY `contextResourceIdentifiers` outright, and `verifyScopeAccess` reads\n * the scope from it — so this is the authorization input, not decoration.\n */\n contextResourceIdentifiers: { [`${qualifier.scopeKey}Id`]: qualifier.scopeId },\n }).then((result) => {\n if (result?.success) {\n confirmedRoomsRef.current.add(roomName);\n logDebug('scope room confirmed', { roomName });\n } else {\n // Refused or unreachable. The room stays unconfirmed, so nothing keyed to it is ever\n // served — the cache degrades to the un-cached path rather than guessing.\n requestedRoomsRef.current.delete(roomName);\n logDebug('scope room not confirmed; entries under it stay unservable', { roomName });\n }\n }).catch(() => {\n requestedRoomsRef.current.delete(roomName);\n });\n }, [claimResourceRoom]);\n\n const claimScopeRoomRef = useRef(claimScopeRoom);\n claimScopeRoomRef.current = claimScopeRoom;\n\n const releaseAllRooms = useCallback(() => {\n for (const [roomName, qualifier] of requestedRoomsRef.current) {\n void releaseResourceRoom({\n ownerKey: `${CLAIM_OWNER_PREFIX}:${roomName}`,\n resourceType: qualifier.resourceType,\n scopeKey: qualifier.scopeKey,\n scopeId: qualifier.scopeId,\n contextResourceIdentifiers: { [`${qualifier.scopeKey}Id`]: qualifier.scopeId },\n });\n }\n requestedRoomsRef.current.clear();\n confirmedRoomsRef.current.clear();\n pendingRoomsRef.current.clear();\n }, [releaseResourceRoom]);\n\n const releaseAllRoomsRef = useRef(releaseAllRooms);\n releaseAllRoomsRef.current = releaseAllRooms;\n\n /*\n * Install the authority, and take it away again on unmount.\n *\n * `setCoverageAuthority` clears the cache on both edges by construction — an authority that is\n * being replaced knows nothing about what the previous one covered, so every held entry is of\n * unknown freshness.\n */\n useEffect(() => {\n const cache = readCache;\n\n const authority: ResourceReadCoverageAuthority = {\n covers: (_resourceType, scopes) => {\n if (!isConnectedRef.current) return false;\n if (scopes.length === 0) return false;\n return scopes.every((scope) => confirmedRoomsRef.current.has(\n buildScopeRoomName(_resourceType, scope.scopeKey, scope.scopeId),\n ));\n },\n requestCoverage: (resourceType, scopes) => {\n for (const scope of scopes) {\n const roomName = buildScopeRoomName(resourceType, scope.scopeKey, scope.scopeId);\n if (requestedRoomsRef.current.has(roomName)) continue;\n\n /*\n * DEFERRED, not dropped. A read completing before the socket is up is the ordinary case on\n * a page load, not an edge — the surface's own first read is usually one of them — and\n * returning here silently left its entry uncovered forever.\n */\n if (!isConnectedRef.current) {\n pendingRoomsRef.current.set(roomName, { ...scope, resourceType });\n logDebug('coverage deferred until the socket is up', { roomName });\n continue;\n }\n\n claimScopeRoomRef.current(roomName, { ...scope, resourceType });\n }\n },\n };\n\n cache.setCoverageAuthority(authority);\n return () => {\n cache.setCoverageAuthority(null);\n releaseAllRoomsRef.current();\n };\n /*\n * `readCache` ALONE, and that is the whole point of the refs above.\n *\n * `isConnected` was in this list until 2026-09-10, and because installing an authority clears\n * the cache, the false -> true edge emptied it at the exact moment it first became coverable.\n * Every entry a page had read up to that point was discarded, and the coverage those reads had\n * asked for had already been dropped by the disconnected early-return. The tier could therefore\n * only ever cache reads that happened to occur AFTER the socket came up — on the dogfood\n * application's todos collection, none did, so it served nothing while reporting nothing.\n *\n * The authority's IDENTITY does not change when the socket connects; only its ability to claim\n * rooms does, and that is now read from a ref. A genuine socket REPLACEMENT is a different event\n * and is still handled, by the `connectionCount` effect below.\n */\n }, [readCache]);\n\n /*\n * Claim what the page already asked for, as soon as the socket can carry it.\n *\n * The other half of the deferral above. Without this the queue would only be a politer way of\n * dropping the request.\n */\n useEffect(() => {\n if (!isConnected) return;\n if (pendingRoomsRef.current.size === 0) return;\n\n const deferred = [...pendingRoomsRef.current.entries()];\n pendingRoomsRef.current.clear();\n logDebug('claiming coverage deferred during the connect window', { rooms: deferred.length });\n for (const [roomName, qualifier] of deferred) claimScopeRoom(roomName, qualifier);\n }, [isConnected, claimScopeRoom]);\n\n /*\n * Hand the cache the ambient application id.\n *\n * An APPLICATION-scoped resource's room is keyed on it, and no URL carries one — so without this\n * the read path cannot name the room it belongs in, and a push addressed there is received by\n * nobody (issue #283). The bridge is the right place because it is a COMPONENT and can read the\n * app scope; the cache service is plain and cannot.\n */\n useEffect(() => {\n readCache.setApplicationId(currentApplicationId);\n }, [currentApplicationId, readCache]);\n\n /*\n * A RE-connect invalidates every confirmation. The FIRST connection does not.\n *\n * Rooms are per-SOCKET, so a REPLACEMENT socket has joined nothing — and the window in which a\n * socket was down is exactly the window in which a mutation could have gone unheard. Both halves\n * point the same way for a reconnect: drop the cache and start the claims again.\n *\n * Neither half holds for connection number one, and treating it the same was the second half of\n * the page-load defect. There is no earlier socket whose rooms could have lapsed, nothing was ever\n * served (`covers()` answers false while disconnected, so a stale entry could not have reached a\n * caller), and the \"window in which a mutation went unheard\" is the page load itself — during\n * which the entries were read from the server and are as fresh as any read. Clearing there simply\n * discarded the first screen's worth of reads and left the tier inert for the surface that\n * triggered them. The residual window — a mutation between a read and its room being joined — is\n * unavoidable in any read-through cache and exists identically for the first read AFTER connection.\n */\n const previousConnectionCountRef = useRef(connectionCount);\n useEffect(() => {\n const previousConnectionCount = previousConnectionCountRef.current;\n previousConnectionCountRef.current = connectionCount;\n if (connectionCount <= 1) return;\n if (connectionCount === previousConnectionCount) return;\n confirmedRoomsRef.current.clear();\n requestedRoomsRef.current.clear();\n pendingRoomsRef.current.clear();\n readCache.clear();\n logDebug('reconnected; coverage and cache reset', { connectionCount });\n }, [connectionCount, readCache]);\n\n /*\n * An ORGANIZATION SWITCH changes which rows a read returns without changing the request.\n *\n * `commitOrganizationScopeValue` is a `setState` plus a WebSocket room re-point — there is no page\n * reload, and reads are tenancy-filtered at the repository. So without this, switching organization\n * would serve the previous tenant's rows from cache. The rooms are re-claimed under the new\n * organization by the next read that wants them.\n */\n useEffect(() => {\n readCache.clear();\n releaseAllRooms();\n logDebug('organization scope changed; cache cleared', { currentOrganizationId });\n }, [currentOrganizationId, readCache, releaseAllRooms]);\n\n /* Invalidate on anything the server says changed, at whatever grade it arrives. */\n useEffect(() => {\n if (!isConnected) return;\n\n const unsubscribeUpdated = on<WS_ResourceUpdatedPayload>(\n CoreWebSocketEvent.RESOURCE_UPDATED,\n (payload) => {\n /*\n * Every grade invalidates, including the SYNC grade that carries a full row.\n *\n * A sync payload is authoritative for ONE row, and a cached entry is usually a LIST whose\n * membership, ordering and pagination the row cannot settle — an added row does not announce\n * where it belongs. Patching the row into the cached list would be a guess; dropping the\n * entry costs one refetch and cannot be wrong.\n */\n readCache.invalidateResourceType(payload.resourceType);\n logDebug('invalidated by resource update', {\n resourceType: payload.resourceType,\n deliveryTarget: payload.deliveryTarget,\n isScopeRoom: payload.deliveryTarget === WebSocketResourceDeliveryTarget.SCOPE_ROOM_NOTIFICATION,\n });\n },\n );\n\n const unsubscribeDeleted = on<WS_ResourceDeletedPayload>(\n CoreWebSocketEvent.RESOURCE_DELETED,\n (payload) => {\n readCache.invalidateResourceType(payload.resourceType);\n },\n );\n\n return () => {\n unsubscribeUpdated();\n unsubscribeDeleted();\n };\n }, [on, isConnected, readCache]);\n\n return null;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceRegistryContext.d.ts","sourceRoot":"","sources":["../../../../../src/core/resources/ResourceRegistryContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,yEAAyE,CAAC;AAChI,OAAO,EAEL,mCAAmC,EAIpC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,EAAiB,SAAS,EAAmC,MAAM,OAAO,CAAC;AAEzF,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC7B,MAAM,gFAAgF,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sEAAsE,CAAC;AAC9I,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,KAAK,EAAE,gCAAgC,EAAE,uCAAuC,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAE1L,OAAO,EAAkC,KAAK,8BAA8B,EAAE,MAAM,qFAAqF,CAAC;AAE1K;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AACtC,MAAM,MAAM,uBAAuB,GAAG,mCAAmC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAAC;AAEvG,MAAM,WAAW,2BAA2B;IAE1C,QAAQ,EAAE,yBAAyB,CAAC;IAGpC;;;;;;;;;;;OAWG;IACH,WAAW,EAAE,CAAC,SAAS,GAAG,GAAG,EAC3B,aAAa,EAAE,uBAAuB,EACtC,UAAU,EAAE,+BAA+B,GAAG,4BAA4B,EAC1E,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,SAAS,CAAC,CAAC;IAGxB;;;OAGG;IACH,wBAAwB,EAAE,CAAC,WAAW,GAAG,GAAG,EAC1C,MAAM,EAAE,IAAI,CAAC,8BAA8B,CAAC,WAAW,CAAC,EAAE,mBAAmB,GAAG,aAAa,CAAC,KAC3F,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtB;;OAEG;IACH,wBAAwB,EAAE,CACxB,SAAS,EAAE,uCAAuC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAC9D;QAAE,kBAAkB,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAC;IAGhE,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,wBAAwB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,gCAAgC,GAAG,SAAS,CAAC;IACjG,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;IACtD,yBAAyB,EAAE,MAAM,MAAM,EAAE,CAAC;IAC1C,0BAA0B,EAAE,MAAM,MAAM,EAAE,CAAC;IAE3C;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,gCAAgC,CAAC;IAGrD,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,sBAAsB,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC/D,oBAAoB,EAAE,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;IAClE,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,SAAS,CAAC;IACpB,mBAAmB,EAAE,kCAAkC,CAAC;CACzD;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAqE,CAAC;AAEjK;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAqO5E,CAAC"}
1
+ {"version":3,"file":"ResourceRegistryContext.d.ts","sourceRoot":"","sources":["../../../../src/core/resources/ResourceRegistryContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,yEAAyE,CAAC;AAChI,OAAO,EAEL,mCAAmC,EAIpC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,EAAiB,SAAS,EAAmC,MAAM,OAAO,CAAC;AAEzF,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC7B,MAAM,gFAAgF,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sEAAsE,CAAC;AAC9I,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,KAAK,EAAE,gCAAgC,EAAE,uCAAuC,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAE1L,OAAO,EAAkC,KAAK,8BAA8B,EAAE,MAAM,qFAAqF,CAAC;AAE1K;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AACtC,MAAM,MAAM,uBAAuB,GAAG,mCAAmC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAAC;AAEvG,MAAM,WAAW,2BAA2B;IAE1C,QAAQ,EAAE,yBAAyB,CAAC;IAGpC;;;;;;;;;;;OAWG;IACH,WAAW,EAAE,CAAC,SAAS,GAAG,GAAG,EAC3B,aAAa,EAAE,uBAAuB,EACtC,UAAU,EAAE,+BAA+B,GAAG,4BAA4B,EAC1E,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,SAAS,CAAC,CAAC;IAGxB;;;OAGG;IACH,wBAAwB,EAAE,CAAC,WAAW,GAAG,GAAG,EAC1C,MAAM,EAAE,IAAI,CAAC,8BAA8B,CAAC,WAAW,CAAC,EAAE,mBAAmB,GAAG,aAAa,CAAC,KAC3F,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtB;;OAEG;IACH,wBAAwB,EAAE,CACxB,SAAS,EAAE,uCAAuC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAC9D;QAAE,kBAAkB,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAC;IAGhE,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,wBAAwB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,gCAAgC,GAAG,SAAS,CAAC;IACjG,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;IACtD,yBAAyB,EAAE,MAAM,MAAM,EAAE,CAAC;IAC1C,0BAA0B,EAAE,MAAM,MAAM,EAAE,CAAC;IAE3C;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,gCAAgC,CAAC;IAGrD,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,sBAAsB,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC/D,oBAAoB,EAAE,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;IAClE,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,SAAS,CAAC;IACpB,mBAAmB,EAAE,kCAAkC,CAAC;CACzD;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAqE,CAAC;AAEjK;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAqO5E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceRegistryContext.js","sourceRoot":"","sources":["../../../../../src/core/resources/ResourceRegistryContext.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { ResourceReadCacheFrontendService } from '~wildo-frontend-lib/core/resources/resource-read-cache.frontend.service';\nimport {\n CoreResourceOperation,\n ResourceConfiguration_OperationPath,\n ResourcesConfig_OperationPathUtils,\n validateRequiredForeignKeyFillability,\n ForeignKeyFillabilityViolationSeverity,\n} from '@wildo-ai/saas-models';\n\nimport React, { createContext, ReactNode, useCallback, useEffect, useMemo } from 'react';\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\nimport {\n ResourceOperationCallParameters,\n ResourceSearchCallParameters\n} from '~wildo-frontend-lib/core/requests/wildo-http-client-resources.frontend.service';\nimport { RequestOptions, TokenRenewalHandler, StepUpAuthHandler } from '~wildo-frontend-lib/core/requests/wildo-http-client.frontend.service';\nimport { ResourcesRepositoryFrontendService } from './resources-repository.frontend.service';\nimport type { AnyFrontendResourceConfiguration, FrontendResourceConfiguration_Operation, FrontendResourcesRegistry } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { resolveEffectiveCoreOperationFromOperation } from '~wildo-frontend-lib/core/resources/operation-semantics.frontend.utils';\nimport { OperationEnabledConditionUtils, type EvaluateEnabledConditionParams } from '~wildo-frontend-lib/core/resources/utils/operation-enabled-condition.frontend.utils';\n\n/**\n * Resource Registry Context\n * Manages resource configurations and operations\n *\n * ARCHITECTURE NOTE (Scopes):\n * - The base provider is `ResourceRegistryProvider`, which exposes `doOperation()` and the registry.\n * - The app can optionally wrap it with `ScopedResourceRegistryProvider` (in `core/resources/ScopedResourceRegistryProvider.tsx`).\n * That wrapper **overrides `doOperation()`** to automatically inject the current `AppScope` into\n * `parameters.contextualParameters` for nested callers (strictly relevant-only).\n * - This means `useResourceRegistry().doOperation(...)` may be the base implementation OR a scoped override,\n * depending on provider hierarchy.\n */\n\nexport type OperationPathKey = string;\nexport type OperationPathIdentifier = ResourceConfiguration_OperationPath<any, any> | OperationPathKey;\n\nexport interface ResourceRegistryContextType {\n // State\n registry: FrontendResourcesRegistry;\n\n // Main execution method\n /**\n * Execute a resource operation (API_CALL or SEARCH).\n *\n * IMPORTANT:\n * This function can be transparently overridden by a nested provider (see note above),\n * so callers usually should NOT manually inject global scope/context unless they are intentionally\n * overriding/adding to the contextual parameters for a specific call.\n *\n * Merge semantics (when scoped):\n * - scoped provider injects relevant AppScope fields\n * - explicit `parameters.contextualParameters` passed by the caller override injected values\n */\n doOperation: <TResponse = any>(\n operationPath: OperationPathIdentifier,\n parameters: ResourceOperationCallParameters | ResourceSearchCallParameters,\n options?: RequestOptions\n ) => Promise<TResponse>;\n\n // EnabledCondition helpers\n /**\n * Evaluate `operation.enabledCondition()` with the current registry + doOperation.\n * This is used by UI to decide whether an operation should be shown/enabled.\n */\n evaluateOperationEnabled: <TMainSchema = any>(\n params: Omit<EvaluateEnabledConditionParams<TMainSchema>, 'resourcesRegistry' | 'doOperation'>\n ) => Promise<boolean>;\n\n /**\n * Static context-needs extraction for an operation (enabledCondition + prefix ops).\n */\n getOperationContextNeeds: (\n operation: FrontendResourceConfiguration_Operation<any, any, any>\n ) => { needsObjectContext: boolean; needsUserContext: boolean };\n\n // Helpers\n hasResource: (resourceName: string) => boolean;\n getResourceConfiguration: (resourceName: string) => AnyFrontendResourceConfiguration | undefined;\n getResourcesRegistry: () => FrontendResourcesRegistry;\n getAvailableResourceTypes: () => string[];\n getAvailableOperationPaths: () => string[];\n\n /**\n * The engine-wide resource READ cache.\n *\n * Exposed so the WebSocket layer can install its coverage authority and invalidate through it.\n * The CACHE is exposed rather than the HTTP client that owns it: a consumer of this context has no\n * business reaching the transport, and narrowing the surface keeps it that way.\n */\n getReadCache: () => ResourceReadCacheFrontendService;\n \n // Auth token management\n setAuthToken: (token: string | null) => void;\n setTokenRenewalHandler: (handler: TokenRenewalHandler) => void;\n setStepUpAuthHandler: (handler: StepUpAuthHandler | null) => void;\n setConsumableToken: (token: string | null) => void;\n}\n\nexport interface ResourceRegistryProviderProps {\n children: ReactNode;\n resourcesRepository: ResourcesRepositoryFrontendService;\n}\n\n/**\n * Resource Registry Context\n * Exported for use in separate hook file (Fast Refresh compatibility)\n * @internal - Use useResourceRegistry() hook instead of accessing this directly\n */\nexport const ResourceRegistryContext: React.Context<ResourceRegistryContextType | undefined> = createContext<ResourceRegistryContextType | undefined>(undefined);\n\n/**\n * ResourceRegistryProvider - Simplified version without location dependency\n * isActive computation is now handled by NavigationProvider which is more appropriate\n */\nexport const ResourceRegistryProvider: React.FC<ResourceRegistryProviderProps> = ({ children, resourcesRepository }) => {\n // Get the registry and resources HTTP client from the repository service\n const registry = resourcesRepository.getResourcesRegistry();\n const resourcesHttpClient = resourcesRepository.getResourcesHttpClient();\n // The base application HTTP client (exposed app-wide as `useApplication().httpClient`)\n // is a SEPARATE instance from the resources client above. Resource-integrated file\n // operations (`FormFieldFile` upload / metadata / delete) run through it, so it must\n // receive the SAME auth token / renewal handler / step-up handler / consumable token\n // that the resources client gets — otherwise those file requests go out unauthenticated\n // (401). File upload was the first authenticated consumer of this base client, so this\n // wiring gap was previously invisible.\n const applicationHttpClient = resourcesRepository.getApplicationHttpClient();\n\n // Dev-only mirror of the backend startup guardrail: surface required-FK\n // fillability violations in the browser console so a frontend-focused dev sees\n // them where the create form actually lives. The backend is the AUTHORITATIVE\n // gate (it hard-fails on FAIL severity), so here we only warn — never throw,\n // and always fail-open so a validator edge case can't affect app load.\n useEffect(() => {\n if (!envLoader.isDevelopment()) {\n return;\n }\n try {\n const violations = validateRequiredForeignKeyFillability(registry.resourceConfigurations as any);\n for (const violation of violations) {\n const label = violation.severity === ForeignKeyFillabilityViolationSeverity.FAIL ? 'FAIL' : 'WARN';\n // eslint-disable-next-line no-console\n console.warn(`[required-fk-fillability:${label}] ${violation.kind}: ${violation.message}`);\n }\n } catch {\n // Fail-open — never let the guardrail affect app load.\n }\n }, [registry]);\n\n /**\n * Main operation execution method - handles both regular and search operations\n */\n const doOperation = useCallback(async <TResponse = any>(\n operationPath: OperationPathIdentifier,\n parameters: ResourceOperationCallParameters | ResourceSearchCallParameters,\n options?: RequestOptions\n ): Promise<TResponse> => {\n // Convert OperationPath object to string key if needed\n const operationPathKey = typeof operationPath === 'string' \n ? operationPath \n : ResourcesConfig_OperationPathUtils.createOperationPathKey(operationPath);\n\n const operation = resourcesHttpClient.getOperationDetails(operationPathKey);\n const isSearchOperation = operation\n ? resolveEffectiveCoreOperationFromOperation(operation) === CoreResourceOperation.SEARCH\n : ResourcesConfig_OperationPathUtils.parseOperationPathKey(operationPathKey).operationIdentifier === CoreResourceOperation.SEARCH;\n\n if (isSearchOperation) {\n // Call search-specific method\n return resourcesHttpClient.executeSearchOperation<TResponse>(\n operationPathKey,\n parameters as ResourceSearchCallParameters,\n options\n );\n } else {\n // Call regular operation method\n return resourcesHttpClient.doOperation<TResponse>(\n operationPathKey,\n parameters as ResourceOperationCallParameters,\n options\n );\n }\n }, [resourcesHttpClient]);\n\n /**\n * Evaluate if an operation is enabled (enabledCondition).\n * Centralized here so all consumers automatically benefit from any doOperation overrides\n * (e.g. ScopedResourceRegistryProvider injecting AppScope).\n */\n const evaluateOperationEnabled = useCallback(\n async <TMainSchema = any>(\n params: Omit<EvaluateEnabledConditionParams<TMainSchema>, 'resourcesRegistry' | 'doOperation'>\n ): Promise<boolean> => {\n return OperationEnabledConditionUtils.evaluateEnabledCondition({\n ...(params as any),\n resourcesRegistry: registry,\n doOperation,\n });\n },\n [registry, doOperation]\n );\n\n const getOperationContextNeeds = useCallback((\n operation: FrontendResourceConfiguration_Operation<any, any, any>\n ) => {\n return OperationEnabledConditionUtils.getOperationContextNeeds(operation);\n }, []);\n\n /**\n * Check if resource is available\n */\n const hasResource = useCallback((resourceName: string): boolean => {\n return resourceName in registry.resourceConfigurations;\n }, [registry]);\n\n /**\n * Get resource configuration\n */\n const getResourceConfiguration = useCallback((resourceName: string): AnyFrontendResourceConfiguration | undefined => {\n return registry.resourceConfigurations[resourceName];\n }, [registry]);\n\n /**\n * Get the full resources registry\n */\n const getResourcesRegistry = useCallback((): FrontendResourcesRegistry => {\n return registry;\n }, [registry]);\n\n /**\n * Get available resource types\n */\n const getAvailableResourceTypes = useCallback((): string[] => {\n return Object.keys(registry.resourceConfigurations);\n }, [registry]);\n\n /**\n * Get available operation paths\n */\n const getAvailableOperationPaths = useCallback((): string[] => {\n return resourcesHttpClient.getAvailableOperationPaths();\n }, [resourcesHttpClient]);\n \n /**\n * Set authentication token for resource operations\n */\n const setAuthToken = useCallback((token: string | null): void => {\n if (token) {\n resourcesHttpClient.setAuthToken(token);\n applicationHttpClient.setAuthToken(token);\n } else {\n resourcesHttpClient.clearAuthToken();\n applicationHttpClient.clearAuthToken();\n }\n }, [resourcesHttpClient, applicationHttpClient]);\n\n /**\n * Set token renewal handler for resource operations.\n * Called by AuthSessionContext to enable automatic token refresh on 401s\n * from the resources HTTP client (not just the manual calls client).\n */\n const setTokenRenewalHandler = useCallback((handler: TokenRenewalHandler): void => {\n resourcesHttpClient.setTokenRenewalHandler(handler);\n applicationHttpClient.setTokenRenewalHandler(handler);\n }, [resourcesHttpClient, applicationHttpClient]);\n\n const setStepUpAuthHandler = useCallback((handler: StepUpAuthHandler | null): void => {\n resourcesHttpClient.setStepUpAuthHandler(handler);\n applicationHttpClient.setStepUpAuthHandler(handler);\n }, [resourcesHttpClient, applicationHttpClient]);\n\n const setConsumableToken = useCallback((token: string | null): void => {\n resourcesHttpClient.setConsumableToken(token);\n applicationHttpClient.setConsumableToken(token);\n }, [resourcesHttpClient, applicationHttpClient]);\n\n /*\n * Stable across renders, like every other member below.\n *\n * It used to be an inline arrow in the value object, which made it a NEW identity every render.\n * `ResourceReadCacheBridge` depended on it in an effect whose job includes installing the cache's\n * coverage authority — and installing an authority CLEARS the cache — so the read cache was emptied\n * on essentially every render and could never do its job (issue #248).\n */\n const getReadCache = useCallback(\n (): ResourceReadCacheFrontendService => resourcesHttpClient.getReadCache(),\n [resourcesHttpClient],\n );\n\n /*\n * MEMOIZED, and that is load-bearing rather than tidy.\n *\n * This value reaches 75 consumer files through `useResourceRegistry()`. Rebuilt every render, it\n * re-rendered all of them and handed each a NEW identity for every function on it — so any consumer\n * placing one in a dependency array got an effect that fired on every render. That is not\n * hypothetical: it emptied the resource read cache continuously until #248 was fixed, and it\n * defeated `ScopedResourceRegistryProvider`'s own `useMemo`, which depends on this object as\n * `base`.\n *\n * Every member is itself a `useCallback` over the repository's stable service instances, so this\n * memo only changes when the registry or a client actually does.\n */\n const value: ResourceRegistryContextType = useMemo(() => ({\n // State\n registry,\n\n // Main execution method\n doOperation,\n\n // EnabledCondition helpers\n evaluateOperationEnabled,\n getOperationContextNeeds,\n\n // Helpers\n hasResource,\n getResourceConfiguration,\n getResourcesRegistry,\n getAvailableResourceTypes,\n getAvailableOperationPaths,\n getReadCache,\n\n // Auth\n setAuthToken,\n setTokenRenewalHandler,\n setStepUpAuthHandler,\n setConsumableToken,\n }), [\n registry,\n doOperation,\n evaluateOperationEnabled,\n getOperationContextNeeds,\n hasResource,\n getResourceConfiguration,\n getResourcesRegistry,\n getAvailableResourceTypes,\n getAvailableOperationPaths,\n getReadCache,\n setAuthToken,\n setTokenRenewalHandler,\n setStepUpAuthHandler,\n setConsumableToken,\n ]);\n\n return <ResourceRegistryContext.Provider value={value}>{children}</ResourceRegistryContext.Provider>;\n};\n\n// useResourceRegistry hook is now in separate file: ./useResourceRegistry.ts\n// This separation is required for React Fast Refresh compatibility\n"]}
1
+ {"version":3,"file":"ResourceRegistryContext.js","sourceRoot":"","sources":["../../../../src/core/resources/ResourceRegistryContext.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { ResourceReadCacheFrontendService } from '~wildo-frontend-lib/core/resources/resource-read-cache.frontend.service';\nimport {\n CoreResourceOperation,\n ResourceConfiguration_OperationPath,\n ResourcesConfig_OperationPathUtils,\n validateRequiredForeignKeyFillability,\n ForeignKeyFillabilityViolationSeverity,\n} from '@wildo-ai/saas-models';\n\nimport React, { createContext, ReactNode, useCallback, useEffect, useMemo } from 'react';\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\nimport {\n ResourceOperationCallParameters,\n ResourceSearchCallParameters\n} from '~wildo-frontend-lib/core/requests/wildo-http-client-resources.frontend.service';\nimport { RequestOptions, TokenRenewalHandler, StepUpAuthHandler } from '~wildo-frontend-lib/core/requests/wildo-http-client.frontend.service';\nimport { ResourcesRepositoryFrontendService } from './resources-repository.frontend.service';\nimport type { AnyFrontendResourceConfiguration, FrontendResourceConfiguration_Operation, FrontendResourcesRegistry } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { resolveEffectiveCoreOperationFromOperation } from '~wildo-frontend-lib/core/resources/operation-semantics.frontend.utils';\nimport { OperationEnabledConditionUtils, type EvaluateEnabledConditionParams } from '~wildo-frontend-lib/core/resources/utils/operation-enabled-condition.frontend.utils';\n\n/**\n * Resource Registry Context\n * Manages resource configurations and operations\n *\n * ARCHITECTURE NOTE (Scopes):\n * - The base provider is `ResourceRegistryProvider`, which exposes `doOperation()` and the registry.\n * - The app can optionally wrap it with `ScopedResourceRegistryProvider` (in `core/resources/ScopedResourceRegistryProvider.tsx`).\n * That wrapper **overrides `doOperation()`** to automatically inject the current `AppScope` into\n * `parameters.contextualParameters` for nested callers (strictly relevant-only).\n * - This means `useResourceRegistry().doOperation(...)` may be the base implementation OR a scoped override,\n * depending on provider hierarchy.\n */\n\nexport type OperationPathKey = string;\nexport type OperationPathIdentifier = ResourceConfiguration_OperationPath<any, any> | OperationPathKey;\n\nexport interface ResourceRegistryContextType {\n // State\n registry: FrontendResourcesRegistry;\n\n // Main execution method\n /**\n * Execute a resource operation (API_CALL or SEARCH).\n *\n * IMPORTANT:\n * This function can be transparently overridden by a nested provider (see note above),\n * so callers usually should NOT manually inject global scope/context unless they are intentionally\n * overriding/adding to the contextual parameters for a specific call.\n *\n * Merge semantics (when scoped):\n * - scoped provider injects relevant AppScope fields\n * - explicit `parameters.contextualParameters` passed by the caller override injected values\n */\n doOperation: <TResponse = any>(\n operationPath: OperationPathIdentifier,\n parameters: ResourceOperationCallParameters | ResourceSearchCallParameters,\n options?: RequestOptions\n ) => Promise<TResponse>;\n\n // EnabledCondition helpers\n /**\n * Evaluate `operation.enabledCondition()` with the current registry + doOperation.\n * This is used by UI to decide whether an operation should be shown/enabled.\n */\n evaluateOperationEnabled: <TMainSchema = any>(\n params: Omit<EvaluateEnabledConditionParams<TMainSchema>, 'resourcesRegistry' | 'doOperation'>\n ) => Promise<boolean>;\n\n /**\n * Static context-needs extraction for an operation (enabledCondition + prefix ops).\n */\n getOperationContextNeeds: (\n operation: FrontendResourceConfiguration_Operation<any, any, any>\n ) => { needsObjectContext: boolean; needsUserContext: boolean };\n\n // Helpers\n hasResource: (resourceName: string) => boolean;\n getResourceConfiguration: (resourceName: string) => AnyFrontendResourceConfiguration | undefined;\n getResourcesRegistry: () => FrontendResourcesRegistry;\n getAvailableResourceTypes: () => string[];\n getAvailableOperationPaths: () => string[];\n\n /**\n * The engine-wide resource READ cache.\n *\n * Exposed so the WebSocket layer can install its coverage authority and invalidate through it.\n * The CACHE is exposed rather than the HTTP client that owns it: a consumer of this context has no\n * business reaching the transport, and narrowing the surface keeps it that way.\n */\n getReadCache: () => ResourceReadCacheFrontendService;\n \n // Auth token management\n setAuthToken: (token: string | null) => void;\n setTokenRenewalHandler: (handler: TokenRenewalHandler) => void;\n setStepUpAuthHandler: (handler: StepUpAuthHandler | null) => void;\n setConsumableToken: (token: string | null) => void;\n}\n\nexport interface ResourceRegistryProviderProps {\n children: ReactNode;\n resourcesRepository: ResourcesRepositoryFrontendService;\n}\n\n/**\n * Resource Registry Context\n * Exported for use in separate hook file (Fast Refresh compatibility)\n * @internal - Use useResourceRegistry() hook instead of accessing this directly\n */\nexport const ResourceRegistryContext: React.Context<ResourceRegistryContextType | undefined> = createContext<ResourceRegistryContextType | undefined>(undefined);\n\n/**\n * ResourceRegistryProvider - Simplified version without location dependency\n * isActive computation is now handled by NavigationProvider which is more appropriate\n */\nexport const ResourceRegistryProvider: React.FC<ResourceRegistryProviderProps> = ({ children, resourcesRepository }) => {\n // Get the registry and resources HTTP client from the repository service\n const registry = resourcesRepository.getResourcesRegistry();\n const resourcesHttpClient = resourcesRepository.getResourcesHttpClient();\n // The base application HTTP client (exposed app-wide as `useApplication().httpClient`)\n // is a SEPARATE instance from the resources client above. Resource-integrated file\n // operations (`FormFieldFile` upload / metadata / delete) run through it, so it must\n // receive the SAME auth token / renewal handler / step-up handler / consumable token\n // that the resources client gets — otherwise those file requests go out unauthenticated\n // (401). File upload was the first authenticated consumer of this base client, so this\n // wiring gap was previously invisible.\n const applicationHttpClient = resourcesRepository.getApplicationHttpClient();\n\n // Dev-only mirror of the backend startup guardrail: surface required-FK\n // fillability violations in the browser console so a frontend-focused dev sees\n // them where the create form actually lives. The backend is the AUTHORITATIVE\n // gate (it hard-fails on FAIL severity), so here we only warn — never throw,\n // and always fail-open so a validator edge case can't affect app load.\n useEffect(() => {\n if (!envLoader.isDevelopment()) {\n return;\n }\n try {\n const violations = validateRequiredForeignKeyFillability(registry.resourceConfigurations as any);\n for (const violation of violations) {\n const label = violation.severity === ForeignKeyFillabilityViolationSeverity.FAIL ? 'FAIL' : 'WARN';\n // eslint-disable-next-line no-console\n console.warn(`[required-fk-fillability:${label}] ${violation.kind}: ${violation.message}`);\n }\n } catch {\n // Fail-open — never let the guardrail affect app load.\n }\n }, [registry]);\n\n /**\n * Main operation execution method - handles both regular and search operations\n */\n const doOperation = useCallback(async <TResponse = any>(\n operationPath: OperationPathIdentifier,\n parameters: ResourceOperationCallParameters | ResourceSearchCallParameters,\n options?: RequestOptions\n ): Promise<TResponse> => {\n // Convert OperationPath object to string key if needed\n const operationPathKey = typeof operationPath === 'string' \n ? operationPath \n : ResourcesConfig_OperationPathUtils.createOperationPathKey(operationPath);\n\n const operation = resourcesHttpClient.getOperationDetails(operationPathKey);\n const isSearchOperation = operation\n ? resolveEffectiveCoreOperationFromOperation(operation) === CoreResourceOperation.SEARCH\n : ResourcesConfig_OperationPathUtils.parseOperationPathKey(operationPathKey).operationIdentifier === CoreResourceOperation.SEARCH;\n\n if (isSearchOperation) {\n // Call search-specific method\n return resourcesHttpClient.executeSearchOperation<TResponse>(\n operationPathKey,\n parameters as ResourceSearchCallParameters,\n options\n );\n } else {\n // Call regular operation method\n return resourcesHttpClient.doOperation<TResponse>(\n operationPathKey,\n parameters as ResourceOperationCallParameters,\n options\n );\n }\n }, [resourcesHttpClient]);\n\n /**\n * Evaluate if an operation is enabled (enabledCondition).\n * Centralized here so all consumers automatically benefit from any doOperation overrides\n * (e.g. ScopedResourceRegistryProvider injecting AppScope).\n */\n const evaluateOperationEnabled = useCallback(\n async <TMainSchema = any>(\n params: Omit<EvaluateEnabledConditionParams<TMainSchema>, 'resourcesRegistry' | 'doOperation'>\n ): Promise<boolean> => {\n return OperationEnabledConditionUtils.evaluateEnabledCondition({\n ...(params as any),\n resourcesRegistry: registry,\n doOperation,\n });\n },\n [registry, doOperation]\n );\n\n const getOperationContextNeeds = useCallback((\n operation: FrontendResourceConfiguration_Operation<any, any, any>\n ) => {\n return OperationEnabledConditionUtils.getOperationContextNeeds(operation);\n }, []);\n\n /**\n * Check if resource is available\n */\n const hasResource = useCallback((resourceName: string): boolean => {\n return resourceName in registry.resourceConfigurations;\n }, [registry]);\n\n /**\n * Get resource configuration\n */\n const getResourceConfiguration = useCallback((resourceName: string): AnyFrontendResourceConfiguration | undefined => {\n return registry.resourceConfigurations[resourceName];\n }, [registry]);\n\n /**\n * Get the full resources registry\n */\n const getResourcesRegistry = useCallback((): FrontendResourcesRegistry => {\n return registry;\n }, [registry]);\n\n /**\n * Get available resource types\n */\n const getAvailableResourceTypes = useCallback((): string[] => {\n return Object.keys(registry.resourceConfigurations);\n }, [registry]);\n\n /**\n * Get available operation paths\n */\n const getAvailableOperationPaths = useCallback((): string[] => {\n return resourcesHttpClient.getAvailableOperationPaths();\n }, [resourcesHttpClient]);\n \n /**\n * Set authentication token for resource operations\n */\n const setAuthToken = useCallback((token: string | null): void => {\n if (token) {\n resourcesHttpClient.setAuthToken(token);\n applicationHttpClient.setAuthToken(token);\n } else {\n resourcesHttpClient.clearAuthToken();\n applicationHttpClient.clearAuthToken();\n }\n }, [resourcesHttpClient, applicationHttpClient]);\n\n /**\n * Set token renewal handler for resource operations.\n * Called by AuthSessionContext to enable automatic token refresh on 401s\n * from the resources HTTP client (not just the manual calls client).\n */\n const setTokenRenewalHandler = useCallback((handler: TokenRenewalHandler): void => {\n resourcesHttpClient.setTokenRenewalHandler(handler);\n applicationHttpClient.setTokenRenewalHandler(handler);\n }, [resourcesHttpClient, applicationHttpClient]);\n\n const setStepUpAuthHandler = useCallback((handler: StepUpAuthHandler | null): void => {\n resourcesHttpClient.setStepUpAuthHandler(handler);\n applicationHttpClient.setStepUpAuthHandler(handler);\n }, [resourcesHttpClient, applicationHttpClient]);\n\n const setConsumableToken = useCallback((token: string | null): void => {\n resourcesHttpClient.setConsumableToken(token);\n applicationHttpClient.setConsumableToken(token);\n }, [resourcesHttpClient, applicationHttpClient]);\n\n /*\n * Stable across renders, like every other member below.\n *\n * It used to be an inline arrow in the value object, which made it a NEW identity every render.\n * `ResourceReadCacheBridge` depended on it in an effect whose job includes installing the cache's\n * coverage authority — and installing an authority CLEARS the cache — so the read cache was emptied\n * on essentially every render and could never do its job (issue #248).\n */\n const getReadCache = useCallback(\n (): ResourceReadCacheFrontendService => resourcesHttpClient.getReadCache(),\n [resourcesHttpClient],\n );\n\n /*\n * MEMOIZED, and that is load-bearing rather than tidy.\n *\n * This value reaches 75 consumer files through `useResourceRegistry()`. Rebuilt every render, it\n * re-rendered all of them and handed each a NEW identity for every function on it — so any consumer\n * placing one in a dependency array got an effect that fired on every render. That is not\n * hypothetical: it emptied the resource read cache continuously until #248 was fixed, and it\n * defeated `ScopedResourceRegistryProvider`'s own `useMemo`, which depends on this object as\n * `base`.\n *\n * Every member is itself a `useCallback` over the repository's stable service instances, so this\n * memo only changes when the registry or a client actually does.\n */\n const value: ResourceRegistryContextType = useMemo(() => ({\n // State\n registry,\n\n // Main execution method\n doOperation,\n\n // EnabledCondition helpers\n evaluateOperationEnabled,\n getOperationContextNeeds,\n\n // Helpers\n hasResource,\n getResourceConfiguration,\n getResourcesRegistry,\n getAvailableResourceTypes,\n getAvailableOperationPaths,\n getReadCache,\n\n // Auth\n setAuthToken,\n setTokenRenewalHandler,\n setStepUpAuthHandler,\n setConsumableToken,\n }), [\n registry,\n doOperation,\n evaluateOperationEnabled,\n getOperationContextNeeds,\n hasResource,\n getResourceConfiguration,\n getResourcesRegistry,\n getAvailableResourceTypes,\n getAvailableOperationPaths,\n getReadCache,\n setAuthToken,\n setTokenRenewalHandler,\n setStepUpAuthHandler,\n setConsumableToken,\n ]);\n\n return <ResourceRegistryContext.Provider value={value}>{children}</ResourceRegistryContext.Provider>;\n};\n\n// useResourceRegistry hook is now in separate file: ./useResourceRegistry.ts\n// This separation is required for React Fast Refresh compatibility\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ScopedResourceRegistryProvider.d.ts","sourceRoot":"","sources":["../../../../../src/core/resources/ScopedResourceRegistryProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAwB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAYpE,MAAM,WAAW,mCAAmC;IAClD,QAAQ,EAAE,SAAS,CAAC;CACrB;AA4CD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,EAAE,QAAQ,EAAE,EAAE,mCAAmC,GAAG,KAAK,CAAC,YAAY,CAgFpH"}
1
+ {"version":3,"file":"ScopedResourceRegistryProvider.d.ts","sourceRoot":"","sources":["../../../../src/core/resources/ScopedResourceRegistryProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAwB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAYpE,MAAM,WAAW,mCAAmC;IAClD,QAAQ,EAAE,SAAS,CAAC;CACrB;AA4CD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,EAAE,QAAQ,EAAE,EAAE,mCAAmC,GAAG,KAAK,CAAC,YAAY,CAgFpH"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScopedResourceRegistryProvider.js","sourceRoot":"","sources":["../../../../../src/core/resources/ScopedResourceRegistryProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useMemo, type ReactNode } from 'react';\nimport {\n ResourcesConfig_OperationPathUtils,\n ResourceOperationVariantType,\n type ResourceConfiguration_Operation,\n type ResourceConfiguration_OperationPath,\n} from '@wildo-ai/saas-models';\nimport { OperationEnabledConditionUtils, type EvaluateEnabledConditionParams } from '~wildo-frontend-lib/core/resources/utils/operation-enabled-condition.frontend.utils';\nimport { ResourceRegistryContext, type ResourceRegistryContextType } from './ResourceRegistryContext';\nimport { useResourceRegistry } from './useResourceRegistry';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\n\nexport interface ScopedResourceRegistryProviderProps {\n children: ReactNode;\n}\n\nfunction toOperationPathKey(operationPath: ResourceConfiguration_OperationPath<any, any> | string): string {\n return typeof operationPath === 'string'\n ? operationPath\n : ResourcesConfig_OperationPathUtils.createOperationPathKey(operationPath);\n}\n\nfunction findOperationInRegistry(\n registry: ResourceRegistryContextType['registry'],\n operationPath: ResourceConfiguration_OperationPath<any, any>\n): ResourceConfiguration_Operation<any, any, any> | null {\n const resourceConfig = registry.resourceConfigurations[operationPath.resourceIdentifier];\n if (!resourceConfig) {\n return null;\n }\n\n return resourceConfig.operations.find((op: any) => {\n const opPath = ResourcesConfig_OperationPathUtils.extractOperationPath(op);\n\n if (opPath.operationIdentifier !== operationPath.operationIdentifier) return false;\n if (opPath.variantType !== operationPath.variantType) return false;\n\n if (operationPath.isOperationDefault) {\n if (!opPath.isOperationDefault) return false;\n } else {\n const expectedVariantKey = operationPath.variantKey;\n const actualVariantKey = opPath.variantKey;\n if ((actualVariantKey ?? undefined) !== (expectedVariantKey ?? undefined)) return false;\n }\n\n if (\n opPath.variantType === ResourceOperationVariantType.API_CALL\n || opPath.variantType === ResourceOperationVariantType.API_CALL_WITH_CALLBACK\n ) {\n const opIsBulk = opPath.isBulkOperation === true;\n const pathIsBulk = operationPath.isBulkOperation === true;\n return opIsBulk === pathIsBulk;\n }\n\n return true;\n }) || null;\n}\n\n/**\n * Nested provider that re-exposes ResourceRegistryContext with a scoped `doOperation()`.\n *\n * This is intentionally placed INSIDE `AppScopeProvider` so it can inject the current scope\n * into all resource calls, while keeping the root `ResourceRegistryProvider` unchanged.\n */\nexport function ScopedResourceRegistryProvider({ children }: ScopedResourceRegistryProviderProps): React.ReactElement {\n const base = useResourceRegistry();\n const appScope = useAppScopeSafe();\n\n const doOperation = useCallback<ResourceRegistryContextType['doOperation']>(\n async (operationPath, parameters, options) => {\n // If AppScopeProvider isn't mounted yet, behave exactly like the base registry.\n if (!appScope) {\n return base.doOperation(operationPath, parameters, options);\n }\n\n const operationPathKey = toOperationPathKey(operationPath as any);\n\n // Parse target operation to decide which contextual params are relevant.\n // If parsing fails for any reason, fall back to base behavior.\n let parsedPath: ResourceConfiguration_OperationPath<any, any> | null = null;\n try {\n parsedPath = ResourcesConfig_OperationPathUtils.parseOperationPathKey(operationPathKey);\n } catch {\n parsedPath = null;\n }\n\n const operation = parsedPath ? findOperationInRegistry(base.registry, parsedPath) : null;\n\n // If operation was not found in registry, fall back to unscoped behavior.\n // This prevents fragile optional-chaining on initiatorInfos below.\n if (!operation) {\n return base.doOperation(operationPath, parameters, options);\n }\n\n const injectedScopeParams: Record<string, string | string[]> = appScope.buildContextualParameters();\n const existingContextualParameters =\n (parameters as any)?.contextualParameters as Record<string, string | string[]> | undefined;\n const mergedContextualParameters = {\n ...injectedScopeParams,\n ...(existingContextualParameters || {}),\n };\n\n const mergedParameters = {\n ...(parameters as any),\n contextualParameters: mergedContextualParameters,\n };\n\n return base.doOperation(operationPath, mergedParameters, options);\n },\n [appScope, base]\n );\n\n /**\n * IMPORTANT:\n * `ResourceRegistryProvider`'s `evaluateOperationEnabled` closes over its own `doOperation`.\n * If we only override `doOperation` in context, enabledCondition evaluation would still run with\n * the unscoped doOperation (missing AppScope injection).\n *\n * So we override `evaluateOperationEnabled` as well, wiring it to the scoped `doOperation`.\n */\n const evaluateOperationEnabled = useCallback<ResourceRegistryContextType['evaluateOperationEnabled']>(\n async (params) => {\n return OperationEnabledConditionUtils.evaluateEnabledCondition({\n ...(params as any),\n resourcesRegistry: base.registry,\n doOperation,\n } satisfies EvaluateEnabledConditionParams<any>);\n },\n [base.registry, doOperation]\n );\n\n const value = useMemo<ResourceRegistryContextType>(() => {\n return {\n ...base,\n doOperation,\n evaluateOperationEnabled,\n };\n }, [base, doOperation, evaluateOperationEnabled]);\n\n return (\n <ResourceRegistryContext.Provider value={value}>\n {children}\n </ResourceRegistryContext.Provider>\n );\n}\n\n"]}
1
+ {"version":3,"file":"ScopedResourceRegistryProvider.js","sourceRoot":"","sources":["../../../../src/core/resources/ScopedResourceRegistryProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useMemo, type ReactNode } from 'react';\nimport {\n ResourcesConfig_OperationPathUtils,\n ResourceOperationVariantType,\n type ResourceConfiguration_Operation,\n type ResourceConfiguration_OperationPath,\n} from '@wildo-ai/saas-models';\nimport { OperationEnabledConditionUtils, type EvaluateEnabledConditionParams } from '~wildo-frontend-lib/core/resources/utils/operation-enabled-condition.frontend.utils';\nimport { ResourceRegistryContext, type ResourceRegistryContextType } from './ResourceRegistryContext';\nimport { useResourceRegistry } from './useResourceRegistry';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\n\nexport interface ScopedResourceRegistryProviderProps {\n children: ReactNode;\n}\n\nfunction toOperationPathKey(operationPath: ResourceConfiguration_OperationPath<any, any> | string): string {\n return typeof operationPath === 'string'\n ? operationPath\n : ResourcesConfig_OperationPathUtils.createOperationPathKey(operationPath);\n}\n\nfunction findOperationInRegistry(\n registry: ResourceRegistryContextType['registry'],\n operationPath: ResourceConfiguration_OperationPath<any, any>\n): ResourceConfiguration_Operation<any, any, any> | null {\n const resourceConfig = registry.resourceConfigurations[operationPath.resourceIdentifier];\n if (!resourceConfig) {\n return null;\n }\n\n return resourceConfig.operations.find((op: any) => {\n const opPath = ResourcesConfig_OperationPathUtils.extractOperationPath(op);\n\n if (opPath.operationIdentifier !== operationPath.operationIdentifier) return false;\n if (opPath.variantType !== operationPath.variantType) return false;\n\n if (operationPath.isOperationDefault) {\n if (!opPath.isOperationDefault) return false;\n } else {\n const expectedVariantKey = operationPath.variantKey;\n const actualVariantKey = opPath.variantKey;\n if ((actualVariantKey ?? undefined) !== (expectedVariantKey ?? undefined)) return false;\n }\n\n if (\n opPath.variantType === ResourceOperationVariantType.API_CALL\n || opPath.variantType === ResourceOperationVariantType.API_CALL_WITH_CALLBACK\n ) {\n const opIsBulk = opPath.isBulkOperation === true;\n const pathIsBulk = operationPath.isBulkOperation === true;\n return opIsBulk === pathIsBulk;\n }\n\n return true;\n }) || null;\n}\n\n/**\n * Nested provider that re-exposes ResourceRegistryContext with a scoped `doOperation()`.\n *\n * This is intentionally placed INSIDE `AppScopeProvider` so it can inject the current scope\n * into all resource calls, while keeping the root `ResourceRegistryProvider` unchanged.\n */\nexport function ScopedResourceRegistryProvider({ children }: ScopedResourceRegistryProviderProps): React.ReactElement {\n const base = useResourceRegistry();\n const appScope = useAppScopeSafe();\n\n const doOperation = useCallback<ResourceRegistryContextType['doOperation']>(\n async (operationPath, parameters, options) => {\n // If AppScopeProvider isn't mounted yet, behave exactly like the base registry.\n if (!appScope) {\n return base.doOperation(operationPath, parameters, options);\n }\n\n const operationPathKey = toOperationPathKey(operationPath as any);\n\n // Parse target operation to decide which contextual params are relevant.\n // If parsing fails for any reason, fall back to base behavior.\n let parsedPath: ResourceConfiguration_OperationPath<any, any> | null = null;\n try {\n parsedPath = ResourcesConfig_OperationPathUtils.parseOperationPathKey(operationPathKey);\n } catch {\n parsedPath = null;\n }\n\n const operation = parsedPath ? findOperationInRegistry(base.registry, parsedPath) : null;\n\n // If operation was not found in registry, fall back to unscoped behavior.\n // This prevents fragile optional-chaining on initiatorInfos below.\n if (!operation) {\n return base.doOperation(operationPath, parameters, options);\n }\n\n const injectedScopeParams: Record<string, string | string[]> = appScope.buildContextualParameters();\n const existingContextualParameters =\n (parameters as any)?.contextualParameters as Record<string, string | string[]> | undefined;\n const mergedContextualParameters = {\n ...injectedScopeParams,\n ...(existingContextualParameters || {}),\n };\n\n const mergedParameters = {\n ...(parameters as any),\n contextualParameters: mergedContextualParameters,\n };\n\n return base.doOperation(operationPath, mergedParameters, options);\n },\n [appScope, base]\n );\n\n /**\n * IMPORTANT:\n * `ResourceRegistryProvider`'s `evaluateOperationEnabled` closes over its own `doOperation`.\n * If we only override `doOperation` in context, enabledCondition evaluation would still run with\n * the unscoped doOperation (missing AppScope injection).\n *\n * So we override `evaluateOperationEnabled` as well, wiring it to the scoped `doOperation`.\n */\n const evaluateOperationEnabled = useCallback<ResourceRegistryContextType['evaluateOperationEnabled']>(\n async (params) => {\n return OperationEnabledConditionUtils.evaluateEnabledCondition({\n ...(params as any),\n resourcesRegistry: base.registry,\n doOperation,\n } satisfies EvaluateEnabledConditionParams<any>);\n },\n [base.registry, doOperation]\n );\n\n const value = useMemo<ResourceRegistryContextType>(() => {\n return {\n ...base,\n doOperation,\n evaluateOperationEnabled,\n };\n }, [base, doOperation, evaluateOperationEnabled]);\n\n return (\n <ResourceRegistryContext.Provider value={value}>\n {children}\n </ResourceRegistryContext.Provider>\n );\n}\n\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"collection-export-url.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../../src/core/resources/collection-export-url.frontend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAML,KAAK,8BAA8B,EACnC,KAAK,gCAAgC,EACrC,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EACV,6BAA6B,EAC7B,uCAAuC,EACvC,yBAAyB,EAC1B,MAAM,+DAA+D,CAAC;AACvE,OAAO,KAAK,EAAE,0CAA0C,EAAE,MAAM,mEAAmE,CAAC;AAEpI,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,yBAAyB,CAAC;IACpC,cAAc,EAAE,6BAA6B,CAAC;IAC9C,gEAAgE;IAChE,eAAe,EAAE,uCAAuC,CAAC;IACzD,YAAY,EAAE,YAAY,CAAC;IAC3B;;;;OAIG;IACH,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD;;;;OAIG;IACH,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACtD,2BAA2B,CAAC,EAAE,0CAA0C,EAAE,CAAC;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,8BAA8B,CAAC;IACvC,QAAQ,EAAE,gCAAgC,CAAC;IAC3C;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;CAC5D;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,8BAA8B,GAAG,MAAM,GAAG,IAAI,CA8C9F;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,8BAA8B,CAAC;IACvC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhB"}
1
+ {"version":3,"file":"collection-export-url.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../src/core/resources/collection-export-url.frontend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAML,KAAK,8BAA8B,EACnC,KAAK,gCAAgC,EACrC,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EACV,6BAA6B,EAC7B,uCAAuC,EACvC,yBAAyB,EAC1B,MAAM,+DAA+D,CAAC;AACvE,OAAO,KAAK,EAAE,0CAA0C,EAAE,MAAM,mEAAmE,CAAC;AAEpI,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,yBAAyB,CAAC;IACpC,cAAc,EAAE,6BAA6B,CAAC;IAC9C,gEAAgE;IAChE,eAAe,EAAE,uCAAuC,CAAC;IACzD,YAAY,EAAE,YAAY,CAAC;IAC3B;;;;OAIG;IACH,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD;;;;OAIG;IACH,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACtD,2BAA2B,CAAC,EAAE,0CAA0C,EAAE,CAAC;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,8BAA8B,CAAC;IACvC,QAAQ,EAAE,gCAAgC,CAAC;IAC3C;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;CAC5D;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,8BAA8B,GAAG,MAAM,GAAG,IAAI,CA8C9F;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,8BAA8B,CAAC;IACvC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"collection-export-url.frontend.utils.js","sourceRoot":"","sources":["../../../../../src/core/resources/collection-export-url.frontend.utils.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The API URL of a listing's export companion, and the download that follows it.\n *\n * ## Why the export cannot go through the ordinary action executor\n *\n * Every other resource action ends in `doOperation()`, which parses a JSON result and hands it to\n * the refresh/notification pipeline. An export answers BYTES with a `Content-Disposition`, so there\n * is no result to parse and nothing to refresh — the browser has to be handed a file. That is the\n * same shape the generated-file REGENERATE action already needed special handling for, one step\n * further: regenerate returns JSON and the bytes are fetched later; an export IS the bytes.\n */\nimport {\n buildCollectionExportFilename,\n COLLECTION_EXPORT_FORMAT_QUERY_PARAM,\n COLLECTION_EXPORT_ROW_SCOPE_QUERY_PARAM,\n MAIN_API_BASE_PATH,\n ResourcesConfigOperationsUrlsBuilderUtils,\n type ResourceCollectionExportFormat,\n type ResourceCollectionExportRowScope,\n type ResourceType,\n} from '@wildo-ai/saas-models';\nimport { NavigationUtils } from '~wildo-frontend-lib/core/navigation/navigation.utils';\nimport { frontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport type {\n FrontendResourceConfiguration,\n FrontendResourceConfiguration_Operation,\n FrontendResourcesRegistry,\n} from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport type { FrontendResource_ParentResourceRequirement } from '~wildo-frontend-lib/core/resources/resource-path.frontend.schemas';\n\nexport interface BuildCollectionExportUrlParams {\n registry: FrontendResourcesRegistry;\n resourceConfig: FrontendResourceConfiguration;\n /** The DERIVED export operation, not the listing it exports. */\n exportOperation: FrontendResourceConfiguration_Operation;\n resourceType: ResourceType;\n /**\n * `string | number` rather than `string`: the transport normalizer emits numeric ids as numbers,\n * and narrowing here would push a cast onto every caller for a value that is stringified into a\n * URL segment anyway.\n */\n contextResourceIdentifiers: Record<string, string>;\n /**\n * `string | number`: the parameter map resolved for URL substitution can carry numeric ids, and\n * narrowing here would push a cast onto every caller for a value that is stringified into a URL\n * segment anyway.\n */\n contextualParameters: Record<string, string | number>;\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n apiBaseUrl: string;\n format: ResourceCollectionExportFormat;\n rowScope: ResourceCollectionExportRowScope;\n /**\n * The query the LISTING is currently showing — filters, sort, page. Forwarded verbatim so\n * \"export what I am looking at\" needs no second grammar, and so a `VISIBLE_PAGE` export returns\n * the page on screen rather than a different one.\n */\n listingQuery?: Record<string, string | number | undefined>;\n}\n\n/**\n * `null` when the route cannot be fully resolved from the current context — the caller then hides\n * the action rather than offering a download that would 404. Deliberately the same posture the file\n * serve URL takes: an unresolved placeholder is a missing parent id, not an error to raise.\n */\nexport function buildCollectionExportUrl(params: BuildCollectionExportUrlParams): string | null {\n const {\n registry, resourceConfig, exportOperation, resourceType,\n contextResourceIdentifiers, contextualParameters, parentResourcesRequirements,\n apiBaseUrl, format, rowScope, listingQuery,\n } = params;\n\n if (!resourceConfig?.resourceFieldIdentifier || !exportOperation) return null;\n\n try {\n const routePaths = ResourcesConfigOperationsUrlsBuilderUtils.buildOperationFrontendRoutePaths(\n resourceConfig,\n exportOperation,\n registry.allResourceFieldIdentifiers,\n );\n if (routePaths.length === 0) return null;\n\n const routePath = frontendResourceUtils.selectMatchingRoutePath(\n routePaths,\n contextResourceIdentifiers,\n resourceConfig.resourceIdentifier,\n resourceConfig.resourceFieldIdentifier,\n parentResourcesRequirements,\n registry.allResourceFieldIdentifiers,\n );\n\n // A collection-level route: the parent chain only, and no id of this resource's own.\n const resolved = NavigationUtils.resolveUrlPath(routePath.url, contextualParameters);\n if (NavigationUtils.hasUnresolvedPlaceholders(resolved)) return null;\n\n const query = new URLSearchParams();\n query.set(COLLECTION_EXPORT_FORMAT_QUERY_PARAM, format);\n query.set(COLLECTION_EXPORT_ROW_SCOPE_QUERY_PARAM, rowScope);\n for (const [key, value] of Object.entries(listingQuery ?? {})) {\n if (value === undefined || value === '') continue;\n // Never forwarded: the caller's own selectors are set above, and a listing query carrying\n // them would otherwise decide the format twice.\n if (key === COLLECTION_EXPORT_FORMAT_QUERY_PARAM || key === COLLECTION_EXPORT_ROW_SCOPE_QUERY_PARAM) continue;\n query.set(key, String(value));\n }\n\n // Frontend route paths omit `/api/v1`; re-add it to match the registered backend route.\n return `${apiBaseUrl}${MAIN_API_BASE_PATH}${resolved}?${query.toString()}`;\n } catch {\n return null;\n }\n}\n\n/**\n * Fetch the export through the AUTHENTICATED client and hand the bytes to the browser.\n *\n * A plain `<a href>` or `window.open` would issue an UNAUTHENTICATED request — the access token\n * lives in the http client, not in a cookie the browser would attach — so the download must go\n * through `getBlob` and be released as an object URL. The object URL is revoked immediately after\n * the click: leaving it alive pins the whole file in memory for the life of the document, and an\n * export is exactly the payload where that matters.\n */\nexport async function downloadCollectionExport(params: {\n url: string;\n resourceType: ResourceType;\n format: ResourceCollectionExportFormat;\n getBlob: (url: string) => Promise<Blob>;\n}): Promise<void> {\n const blob = await params.getBlob(params.url);\n const objectUrl = URL.createObjectURL(blob);\n try {\n const link = document.createElement('a');\n link.href = objectUrl;\n // The server already names the file in `Content-Disposition`, but a blob download does not see\n // that header — the name has to be supplied here. Same builder as the server's, so the two\n // agree instead of drifting.\n link.download = buildCollectionExportFilename(String(params.resourceType), params.format, new Date());\n document.body.appendChild(link);\n link.click();\n link.remove();\n } finally {\n URL.revokeObjectURL(objectUrl);\n }\n}\n"]}
1
+ {"version":3,"file":"collection-export-url.frontend.utils.js","sourceRoot":"","sources":["../../../../src/core/resources/collection-export-url.frontend.utils.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The API URL of a listing's export companion, and the download that follows it.\n *\n * ## Why the export cannot go through the ordinary action executor\n *\n * Every other resource action ends in `doOperation()`, which parses a JSON result and hands it to\n * the refresh/notification pipeline. An export answers BYTES with a `Content-Disposition`, so there\n * is no result to parse and nothing to refresh — the browser has to be handed a file. That is the\n * same shape the generated-file REGENERATE action already needed special handling for, one step\n * further: regenerate returns JSON and the bytes are fetched later; an export IS the bytes.\n */\nimport {\n buildCollectionExportFilename,\n COLLECTION_EXPORT_FORMAT_QUERY_PARAM,\n COLLECTION_EXPORT_ROW_SCOPE_QUERY_PARAM,\n MAIN_API_BASE_PATH,\n ResourcesConfigOperationsUrlsBuilderUtils,\n type ResourceCollectionExportFormat,\n type ResourceCollectionExportRowScope,\n type ResourceType,\n} from '@wildo-ai/saas-models';\nimport { NavigationUtils } from '~wildo-frontend-lib/core/navigation/navigation.utils';\nimport { frontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport type {\n FrontendResourceConfiguration,\n FrontendResourceConfiguration_Operation,\n FrontendResourcesRegistry,\n} from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport type { FrontendResource_ParentResourceRequirement } from '~wildo-frontend-lib/core/resources/resource-path.frontend.schemas';\n\nexport interface BuildCollectionExportUrlParams {\n registry: FrontendResourcesRegistry;\n resourceConfig: FrontendResourceConfiguration;\n /** The DERIVED export operation, not the listing it exports. */\n exportOperation: FrontendResourceConfiguration_Operation;\n resourceType: ResourceType;\n /**\n * `string | number` rather than `string`: the transport normalizer emits numeric ids as numbers,\n * and narrowing here would push a cast onto every caller for a value that is stringified into a\n * URL segment anyway.\n */\n contextResourceIdentifiers: Record<string, string>;\n /**\n * `string | number`: the parameter map resolved for URL substitution can carry numeric ids, and\n * narrowing here would push a cast onto every caller for a value that is stringified into a URL\n * segment anyway.\n */\n contextualParameters: Record<string, string | number>;\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n apiBaseUrl: string;\n format: ResourceCollectionExportFormat;\n rowScope: ResourceCollectionExportRowScope;\n /**\n * The query the LISTING is currently showing — filters, sort, page. Forwarded verbatim so\n * \"export what I am looking at\" needs no second grammar, and so a `VISIBLE_PAGE` export returns\n * the page on screen rather than a different one.\n */\n listingQuery?: Record<string, string | number | undefined>;\n}\n\n/**\n * `null` when the route cannot be fully resolved from the current context — the caller then hides\n * the action rather than offering a download that would 404. Deliberately the same posture the file\n * serve URL takes: an unresolved placeholder is a missing parent id, not an error to raise.\n */\nexport function buildCollectionExportUrl(params: BuildCollectionExportUrlParams): string | null {\n const {\n registry, resourceConfig, exportOperation, resourceType,\n contextResourceIdentifiers, contextualParameters, parentResourcesRequirements,\n apiBaseUrl, format, rowScope, listingQuery,\n } = params;\n\n if (!resourceConfig?.resourceFieldIdentifier || !exportOperation) return null;\n\n try {\n const routePaths = ResourcesConfigOperationsUrlsBuilderUtils.buildOperationFrontendRoutePaths(\n resourceConfig,\n exportOperation,\n registry.allResourceFieldIdentifiers,\n );\n if (routePaths.length === 0) return null;\n\n const routePath = frontendResourceUtils.selectMatchingRoutePath(\n routePaths,\n contextResourceIdentifiers,\n resourceConfig.resourceIdentifier,\n resourceConfig.resourceFieldIdentifier,\n parentResourcesRequirements,\n registry.allResourceFieldIdentifiers,\n );\n\n // A collection-level route: the parent chain only, and no id of this resource's own.\n const resolved = NavigationUtils.resolveUrlPath(routePath.url, contextualParameters);\n if (NavigationUtils.hasUnresolvedPlaceholders(resolved)) return null;\n\n const query = new URLSearchParams();\n query.set(COLLECTION_EXPORT_FORMAT_QUERY_PARAM, format);\n query.set(COLLECTION_EXPORT_ROW_SCOPE_QUERY_PARAM, rowScope);\n for (const [key, value] of Object.entries(listingQuery ?? {})) {\n if (value === undefined || value === '') continue;\n // Never forwarded: the caller's own selectors are set above, and a listing query carrying\n // them would otherwise decide the format twice.\n if (key === COLLECTION_EXPORT_FORMAT_QUERY_PARAM || key === COLLECTION_EXPORT_ROW_SCOPE_QUERY_PARAM) continue;\n query.set(key, String(value));\n }\n\n // Frontend route paths omit `/api/v1`; re-add it to match the registered backend route.\n return `${apiBaseUrl}${MAIN_API_BASE_PATH}${resolved}?${query.toString()}`;\n } catch {\n return null;\n }\n}\n\n/**\n * Fetch the export through the AUTHENTICATED client and hand the bytes to the browser.\n *\n * A plain `<a href>` or `window.open` would issue an UNAUTHENTICATED request — the access token\n * lives in the http client, not in a cookie the browser would attach — so the download must go\n * through `getBlob` and be released as an object URL. The object URL is revoked immediately after\n * the click: leaving it alive pins the whole file in memory for the life of the document, and an\n * export is exactly the payload where that matters.\n */\nexport async function downloadCollectionExport(params: {\n url: string;\n resourceType: ResourceType;\n format: ResourceCollectionExportFormat;\n getBlob: (url: string) => Promise<Blob>;\n}): Promise<void> {\n const blob = await params.getBlob(params.url);\n const objectUrl = URL.createObjectURL(blob);\n try {\n const link = document.createElement('a');\n link.href = objectUrl;\n // The server already names the file in `Content-Disposition`, but a blob download does not see\n // that header — the name has to be supplied here. Same builder as the server's, so the two\n // agree instead of drifting.\n link.download = buildCollectionExportFilename(String(params.resourceType), params.format, new Date());\n document.body.appendChild(link);\n link.click();\n link.remove();\n } finally {\n URL.revokeObjectURL(objectUrl);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"context-resource-identifiers.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../../src/core/resources/context-resource-identifiers.frontend.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAGrF,MAAM,MAAM,+BAA+B,GACvC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACnB,gCAAgC,CAAC,4BAA4B,CAAC,GAC9D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAC1E,SAAS,CAAC;AAEd;;;;;GAKG;AACH,wBAAgB,+CAA+C,CAC7D,0BAA0B,EAAE,+BAA+B,GAC1D,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBxB;AAwCD;;;;GAIG;AACH,wBAAgB,6CAA6C,CAC3D,MAAM,EAAE;IACN,0BAA0B,EAAE,+BAA+B,CAAC;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACA,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBxB"}
1
+ {"version":3,"file":"context-resource-identifiers.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../src/core/resources/context-resource-identifiers.frontend.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAGrF,MAAM,MAAM,+BAA+B,GACvC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACnB,gCAAgC,CAAC,4BAA4B,CAAC,GAC9D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAC1E,SAAS,CAAC;AAEd;;;;;GAKG;AACH,wBAAgB,+CAA+C,CAC7D,0BAA0B,EAAE,+BAA+B,GAC1D,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBxB;AAwCD;;;;GAIG;AACH,wBAAgB,6CAA6C,CAC3D,MAAM,EAAE;IACN,0BAA0B,EAAE,+BAA+B,CAAC;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACA,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"context-resource-identifiers.frontend.utils.js","sourceRoot":"","sources":["../../../../../src/core/resources/context-resource-identifiers.frontend.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAQlE;;;;;GAKG;AACH,MAAM,UAAU,+CAA+C,CAC7D,0BAA2D;IAE3D,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,0BAA0B,YAAY,GAAG,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC,WAAW,CAAC,0BAA0B,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC;QACtE,MAAM,UAAU,GAAG,qBAAqB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;QAC7B,MAAM,eAAe,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,eAAe,EAAE,CAAC;YACpB,UAAU,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,iCAAiC,CAAC,MAAe;IACxD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,MAAiC,CAAC;IACvD;;;;;;;;;;;;OAYG;IACH,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC;IACrD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,iCAAiC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5E,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6CAA6C,CAC3D,MAIC;IAED,MAAM,UAAU,GAAG,+CAA+C,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACtG,MAAM,gBAAgB,GAAG,iCAAiC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1E,IAAI,gBAAgB,EAAE,CAAC;QACrB,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC;QACnD,IACE,MAAM,CAAC,0BAA0B;eAC9B,CAAC,CAAC,MAAM,CAAC,0BAA0B,YAAY,GAAG,CAAC,EACtD,CAAC;YACD,MAAM,kBAAkB,GAAG,MAAM,CAAC,0BAA0B,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAClF,MAAM,eAAe,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;YACrF,IAAI,eAAe,EAAE,CAAC;gBACpB,UAAU,CAAC,eAAe,CAAC,GAAG,gBAAgB,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["import type { FrontendResourceOperationContext } from './resources.frontend.schemas';\nimport { frontendResourceUtils } from './frontend-resource.utils';\n\nexport type ContextResourceIdentifiersInput =\n | Map<string, string>\n | FrontendResourceOperationContext['contextResourceIdentifiers']\n | Record<string, string | { fieldIdentifier?: string; resourceId?: string }>\n | undefined;\n\n/**\n * Flattens runtime context identifiers into the string-only shape expected by\n * event payloads, websocket room claims, and backend execution-context builders.\n * Object-shaped identifiers keep both the original key and their explicit FK\n * alias so resource-type and relationship-field subscribers compare equally.\n */\nexport function normalizeContextResourceIdentifiersForTransport(\n contextResourceIdentifiers: ContextResourceIdentifiersInput,\n): Record<string, string> {\n if (!contextResourceIdentifiers) {\n return {};\n }\n\n if (contextResourceIdentifiers instanceof Map) {\n return Object.fromEntries(contextResourceIdentifiers.entries());\n }\n\n const normalized: Record<string, string> = {};\n for (const [key, value] of Object.entries(contextResourceIdentifiers)) {\n const resourceId = frontendResourceUtils.getResourceId(value);\n if (resourceId.length === 0) {\n continue;\n }\n\n normalized[key] = resourceId;\n const fieldIdentifier = frontendResourceUtils.getFieldIdentifier(value);\n if (fieldIdentifier) {\n normalized[fieldIdentifier] = resourceId;\n }\n }\n\n return normalized;\n}\n\nfunction readPersistedResourceIdFromResult(result: unknown): string | undefined {\n if (typeof result === 'string' && result.length > 0) {\n return result;\n }\n\n if (!result || typeof result !== 'object') {\n return undefined;\n }\n\n const resultRecord = result as Record<string, unknown>;\n /**\n * `id` is read here DELIBERATELY, and it is not an adapter fallback.\n *\n * Resource rows carry `_id` on every adapter. The one operation result that names the identity\n * `id` is the DELETE response (`DefaultDeleteResponseSchema` = `{ id, deletedAt? }`), which is a\n * REST wire convention rather than a storage detail — so this reads a documented contract, not\n * \"whatever the database happened to attach\".\n *\n * The distinction matters because the sibling fallbacks elsewhere were the other thing: `id` is\n * also Mongoose's built-in virtual, present only on surrogate-primary-key resources and never on\n * PostgreSQL. Those arms were removed; this one is kept because a delete result genuinely has no\n * `_id`.\n */\n const directId = resultRecord._id ?? resultRecord.id;\n if (typeof directId === 'string' && directId.length > 0) {\n return directId;\n }\n\n for (const nestedKey of ['responseData', 'data', 'result']) {\n const nestedId = readPersistedResourceIdFromResult(resultRecord[nestedKey]);\n if (nestedId) {\n return nestedId;\n }\n }\n\n return undefined;\n}\n\n/**\n * Outcome events need the real child-row id when a context-addressed mutation\n * returns it. Add that identity without discarding the parent/FK identifiers\n * used to route the operation.\n */\nexport function normalizeContextResourceIdentifiersForOutcome(\n params: {\n contextResourceIdentifiers: ContextResourceIdentifiersInput;\n resourceType: string;\n result?: unknown;\n },\n): Record<string, string> {\n const normalized = normalizeContextResourceIdentifiersForTransport(params.contextResourceIdentifiers);\n const resultResourceId = readPersistedResourceIdFromResult(params.result);\n if (resultResourceId) {\n normalized[params.resourceType] = resultResourceId;\n if (\n params.contextResourceIdentifiers\n && !(params.contextResourceIdentifiers instanceof Map)\n ) {\n const resourceIdentifier = params.contextResourceIdentifiers[params.resourceType];\n const fieldIdentifier = frontendResourceUtils.getFieldIdentifier(resourceIdentifier);\n if (fieldIdentifier) {\n normalized[fieldIdentifier] = resultResourceId;\n }\n }\n }\n\n return normalized;\n}\n"]}
1
+ {"version":3,"file":"context-resource-identifiers.frontend.utils.js","sourceRoot":"","sources":["../../../../src/core/resources/context-resource-identifiers.frontend.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAQlE;;;;;GAKG;AACH,MAAM,UAAU,+CAA+C,CAC7D,0BAA2D;IAE3D,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,0BAA0B,YAAY,GAAG,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC,WAAW,CAAC,0BAA0B,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC;QACtE,MAAM,UAAU,GAAG,qBAAqB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;QAC7B,MAAM,eAAe,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,eAAe,EAAE,CAAC;YACpB,UAAU,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,iCAAiC,CAAC,MAAe;IACxD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,MAAiC,CAAC;IACvD;;;;;;;;;;;;OAYG;IACH,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC;IACrD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,iCAAiC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5E,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6CAA6C,CAC3D,MAIC;IAED,MAAM,UAAU,GAAG,+CAA+C,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACtG,MAAM,gBAAgB,GAAG,iCAAiC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1E,IAAI,gBAAgB,EAAE,CAAC;QACrB,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC;QACnD,IACE,MAAM,CAAC,0BAA0B;eAC9B,CAAC,CAAC,MAAM,CAAC,0BAA0B,YAAY,GAAG,CAAC,EACtD,CAAC;YACD,MAAM,kBAAkB,GAAG,MAAM,CAAC,0BAA0B,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAClF,MAAM,eAAe,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;YACrF,IAAI,eAAe,EAAE,CAAC;gBACpB,UAAU,CAAC,eAAe,CAAC,GAAG,gBAAgB,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["import type { FrontendResourceOperationContext } from './resources.frontend.schemas';\nimport { frontendResourceUtils } from './frontend-resource.utils';\n\nexport type ContextResourceIdentifiersInput =\n | Map<string, string>\n | FrontendResourceOperationContext['contextResourceIdentifiers']\n | Record<string, string | { fieldIdentifier?: string; resourceId?: string }>\n | undefined;\n\n/**\n * Flattens runtime context identifiers into the string-only shape expected by\n * event payloads, websocket room claims, and backend execution-context builders.\n * Object-shaped identifiers keep both the original key and their explicit FK\n * alias so resource-type and relationship-field subscribers compare equally.\n */\nexport function normalizeContextResourceIdentifiersForTransport(\n contextResourceIdentifiers: ContextResourceIdentifiersInput,\n): Record<string, string> {\n if (!contextResourceIdentifiers) {\n return {};\n }\n\n if (contextResourceIdentifiers instanceof Map) {\n return Object.fromEntries(contextResourceIdentifiers.entries());\n }\n\n const normalized: Record<string, string> = {};\n for (const [key, value] of Object.entries(contextResourceIdentifiers)) {\n const resourceId = frontendResourceUtils.getResourceId(value);\n if (resourceId.length === 0) {\n continue;\n }\n\n normalized[key] = resourceId;\n const fieldIdentifier = frontendResourceUtils.getFieldIdentifier(value);\n if (fieldIdentifier) {\n normalized[fieldIdentifier] = resourceId;\n }\n }\n\n return normalized;\n}\n\nfunction readPersistedResourceIdFromResult(result: unknown): string | undefined {\n if (typeof result === 'string' && result.length > 0) {\n return result;\n }\n\n if (!result || typeof result !== 'object') {\n return undefined;\n }\n\n const resultRecord = result as Record<string, unknown>;\n /**\n * `id` is read here DELIBERATELY, and it is not an adapter fallback.\n *\n * Resource rows carry `_id` on every adapter. The one operation result that names the identity\n * `id` is the DELETE response (`DefaultDeleteResponseSchema` = `{ id, deletedAt? }`), which is a\n * REST wire convention rather than a storage detail — so this reads a documented contract, not\n * \"whatever the database happened to attach\".\n *\n * The distinction matters because the sibling fallbacks elsewhere were the other thing: `id` is\n * also Mongoose's built-in virtual, present only on surrogate-primary-key resources and never on\n * PostgreSQL. Those arms were removed; this one is kept because a delete result genuinely has no\n * `_id`.\n */\n const directId = resultRecord._id ?? resultRecord.id;\n if (typeof directId === 'string' && directId.length > 0) {\n return directId;\n }\n\n for (const nestedKey of ['responseData', 'data', 'result']) {\n const nestedId = readPersistedResourceIdFromResult(resultRecord[nestedKey]);\n if (nestedId) {\n return nestedId;\n }\n }\n\n return undefined;\n}\n\n/**\n * Outcome events need the real child-row id when a context-addressed mutation\n * returns it. Add that identity without discarding the parent/FK identifiers\n * used to route the operation.\n */\nexport function normalizeContextResourceIdentifiersForOutcome(\n params: {\n contextResourceIdentifiers: ContextResourceIdentifiersInput;\n resourceType: string;\n result?: unknown;\n },\n): Record<string, string> {\n const normalized = normalizeContextResourceIdentifiersForTransport(params.contextResourceIdentifiers);\n const resultResourceId = readPersistedResourceIdFromResult(params.result);\n if (resultResourceId) {\n normalized[params.resourceType] = resultResourceId;\n if (\n params.contextResourceIdentifiers\n && !(params.contextResourceIdentifiers instanceof Map)\n ) {\n const resourceIdentifier = params.contextResourceIdentifiers[params.resourceType];\n const fieldIdentifier = frontendResourceUtils.getFieldIdentifier(resourceIdentifier);\n if (fieldIdentifier) {\n normalized[fieldIdentifier] = resultResourceId;\n }\n }\n }\n\n return normalized;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ephemeral-fields.utils.d.ts","sourceRoot":"","sources":["../../../../../src/core/resources/ephemeral-fields.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC;AAI7B,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,CAAC,CAAC,UAAU,GAAG,SAAS,EACxC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,kBAAkB,EAAE,CAiBtB"}
1
+ {"version":3,"file":"ephemeral-fields.utils.d.ts","sourceRoot":"","sources":["../../../../src/core/resources/ephemeral-fields.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC;AAI7B,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,CAAC,CAAC,UAAU,GAAG,SAAS,EACxC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,kBAAkB,EAAE,CAiBtB"}