@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.
- package/dist/esm/browser-bootstrap/theme-bootstrap.d.ts.map +1 -1
- package/dist/esm/browser-bootstrap/theme-bootstrap.js.map +1 -1
- package/dist/esm/browser-bootstrap.exports.d.ts.map +1 -1
- package/dist/esm/browser-bootstrap.exports.js.map +1 -1
- package/dist/esm/companion-exports.d.ts +1 -1
- package/dist/esm/companion-exports.d.ts.map +1 -1
- package/dist/esm/companion-exports.js +1 -1
- package/dist/esm/companion-exports.js.map +1 -1
- package/dist/esm/companion-runtime-exports.d.ts.map +1 -1
- package/dist/esm/companion-runtime-exports.js.map +1 -1
- package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
- package/dist/esm/components/actions/action-bar.js.map +1 -1
- package/dist/esm/components/actions/action-button.d.ts.map +1 -1
- package/dist/esm/components/actions/action-button.js.map +1 -1
- package/dist/esm/components/actions/button-group.d.ts.map +1 -1
- package/dist/esm/components/actions/button-group.js.map +1 -1
- package/dist/esm/components/actions/button.d.ts.map +1 -1
- package/dist/esm/components/actions/button.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-list.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-list.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.d.ts +28 -3
- package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent-wrappers.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.js.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.js.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.js.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.js.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.js.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.js.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.js.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.labels.js.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
- package/dist/esm/components/app/AppLayout_NotificationCenter.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_NotificationCenter.js +7 -2
- package/dist/esm/components/app/AppLayout_NotificationCenter.js.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js.map +1 -1
- package/dist/esm/components/app/AppPage_Home.d.ts.map +1 -1
- package/dist/esm/components/app/AppPage_Home.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_MainContainer.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.js.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.js.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.js.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.js.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.js.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.js.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Register.js.map +1 -1
- package/dist/esm/components/auth/Auth_Register.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.js.map +1 -1
- package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
- package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/enrollment-method-components.js.map +1 -1
- package/dist/esm/components/auth/methods/EmailOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/MagicLinkAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/OrgOidcAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/PasskeyAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/PasskeyAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/PasswordAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/PasswordAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/SmsOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/TotpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/TotpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/auth-method-components.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/auth-method-components.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthCallback.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthExchange.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthExchange.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Invitation.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Main.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OneOffSession.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_PasswordLost.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_PasswordLost.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Register.js.map +1 -1
- package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.js.map +1 -1
- package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.js.map +1 -1
- package/dist/esm/components/auth/utils/LabeledDivider.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/LabeledDivider.js.map +1 -1
- package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/OAuthProvidersSection.js.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
- package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.js.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/DisplayContextKindContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayContextKindContext.js.map +1 -1
- package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayField.js +8 -5
- package/dist/esm/components/data-display/DisplayField.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.js +6 -2
- package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
- package/dist/esm/components/data-display/DisplayTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayTemplateContext.js.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/SummaryContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
- package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
- package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
- package/dist/esm/components/data-display/avatar.js.map +1 -1
- package/dist/esm/components/data-display/badge.d.ts.map +1 -1
- package/dist/esm/components/data-display/badge.js.map +1 -1
- package/dist/esm/components/data-display/chart-echarts.d.ts.map +1 -1
- package/dist/esm/components/data-display/chart-echarts.js.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayChromeContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayChromeContext.js.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
- package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
- package/dist/esm/components/data-display/description-list.js.map +1 -1
- package/dist/esm/components/data-display/display-field-resolution.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-field-resolution.utils.js.map +1 -1
- package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
- package/dist/esm/components/data-display/display-resource-link-trail.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-resource-link-trail.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-json.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-json.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.js.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
- package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
- package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
- package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
- package/dist/esm/components/feedback/danger-zone.js.map +1 -1
- package/dist/esm/components/feedback/empty-display-policy.utils.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-display-policy.utils.js.map +1 -1
- package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-state.js.map +1 -1
- package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
- package/dist/esm/components/feedback/error-display.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts +36 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js +29 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.js.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.js.map +1 -1
- package/dist/esm/components/feedback/notification-center.d.ts +11 -5
- package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
- package/dist/esm/components/feedback/notification-center.js +2 -3
- package/dist/esm/components/feedback/notification-center.js.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
- package/dist/esm/components/feedback/progress.d.ts.map +1 -1
- package/dist/esm/components/feedback/progress.js.map +1 -1
- package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
- package/dist/esm/components/feedback/skeleton-text.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton-text.js.map +1 -1
- package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton.js.map +1 -1
- package/dist/esm/components/feedback/toast.d.ts.map +1 -1
- package/dist/esm/components/feedback/toast.js.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +41 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.js +207 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts +3 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.js +36 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.js.map +1 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts +8 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.js +14 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.js.map +1 -0
- package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.js.map +1 -1
- package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.js.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.js +21 -4
- package/dist/esm/components/flows-actors/approval.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.labels.js +5 -0
- package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.js.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.js +1 -1
- package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.js +1 -1
- package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.labels.js.map +1 -1
- package/dist/esm/components/form/Form.d.ts.map +1 -1
- package/dist/esm/components/form/Form.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.js +16 -9
- package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
- package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormField.js +9 -2
- package/dist/esm/components/form/automated/FormField.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.js +8 -6
- package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
- package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.js.map +1 -1
- package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js +37 -3
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
- package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts +12 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts.map +1 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js +26 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js.map +1 -0
- package/dist/esm/components/form/automated/autosave-indicator.d.ts.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.js.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.utils.js.map +1 -1
- package/dist/esm/components/form/automated/create-form-default-values.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/create-form-default-values.utils.js.map +1 -1
- package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.helpers.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.helpers.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.shared.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.shared.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.utils.js.map +1 -1
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
- package/dist/esm/components/form/chromes/FormChromeContext.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormChromeContext.js.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
- package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/field.js.map +1 -1
- package/dist/esm/components/form/chromes/form-primitives.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/form-primitives.js.map +1 -1
- package/dist/esm/components/form/combobox.d.ts.map +1 -1
- package/dist/esm/components/form/combobox.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
- package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select.js.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.js.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.js.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
- package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input-group.js.map +1 -1
- package/dist/esm/components/form/controls/input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input.js.map +1 -1
- package/dist/esm/components/form/controls/number/slider.d.ts +1 -1
- package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.js.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.js.map +1 -1
- package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/inline-edit-text.js.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.js.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.js.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.labels.js.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.js.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.js.map +1 -1
- package/dist/esm/components/form/feedback/RemoteChangeNotification.d.ts.map +1 -1
- package/dist/esm/components/form/feedback/RemoteChangeNotification.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.js +4 -2
- package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.js +4 -2
- package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts +15 -5
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js +21 -18
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.js +139 -2
- package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.js +15 -0
- package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.js +4 -2
- package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.js +7 -2
- package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.labels.js.map +1 -1
- package/dist/esm/components/form/fields/useFormField.d.ts.map +1 -1
- package/dist/esm/components/form/fields/useFormField.js.map +1 -1
- package/dist/esm/components/form/form-context.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.js.map +1 -1
- package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.utils.js.map +1 -1
- package/dist/esm/components/form/form-field-types.d.ts +20 -0
- package/dist/esm/components/form/form-field-types.d.ts.map +1 -1
- package/dist/esm/components/form/form-field-types.js.map +1 -1
- package/dist/esm/components/form/useFormSchemaContext.d.ts.map +1 -1
- package/dist/esm/components/form/useFormSchemaContext.js.map +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
- package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/form-validation.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/form-validation.js.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.js.map +1 -1
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.js.map +1 -1
- package/dist/esm/components/layout/carousel.d.ts.map +1 -1
- package/dist/esm/components/layout/carousel.js.map +1 -1
- package/dist/esm/components/layout/divider.d.ts.map +1 -1
- package/dist/esm/components/layout/divider.js.map +1 -1
- package/dist/esm/components/layout/resizable.d.ts.map +1 -1
- package/dist/esm/components/layout/resizable.js.map +1 -1
- package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
- package/dist/esm/components/layout/scroll-area.js.map +1 -1
- package/dist/esm/components/layout/separator.d.ts.map +1 -1
- package/dist/esm/components/layout/separator.js.map +1 -1
- package/dist/esm/components/navigation/NavigationItemBadge.d.ts +13 -1
- package/dist/esm/components/navigation/NavigationItemBadge.d.ts.map +1 -1
- package/dist/esm/components/navigation/NavigationItemBadge.js +31 -2
- package/dist/esm/components/navigation/NavigationItemBadge.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
- package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useActivityBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useActivityBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useControlPanelBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts +5 -2
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js +18 -41
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js +13 -3
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useToolbarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useToolbarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +23 -5
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +81 -13
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
- package/dist/esm/components/navigation/command.d.ts.map +1 -1
- package/dist/esm/components/navigation/command.js.map +1 -1
- package/dist/esm/components/navigation/menu-bar.d.ts +1 -1
- package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/menu-bar.js.map +1 -1
- package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/navbar.js.map +1 -1
- package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/sidebar.js.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.js +36 -9
- package/dist/esm/components/overlays/containers/OverlayContainer.js.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.labels.js.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert.js.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.shared-types.js.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.js.map +1 -1
- package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js.map +1 -1
- package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.js.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.d.ts +1 -1
- package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.js.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.js.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.js.map +1 -1
- package/dist/esm/components/overlays/floating/menu.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/menu.shared-types.js.map +1 -1
- package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/popover.js.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.js.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.js.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.labels.js.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.js.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
- package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
- package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
- package/dist/esm/components/resources/EphemeralFieldsRevealDialog.d.ts.map +1 -1
- package/dist/esm/components/resources/EphemeralFieldsRevealDialog.js.map +1 -1
- package/dist/esm/components/resources/InlineSearchInput.d.ts.map +1 -1
- package/dist/esm/components/resources/InlineSearchInput.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
- package/dist/esm/components/resources/ResourceInPlaceOperationRow.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceInPlaceOperationRow.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +9 -0
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.js +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read_Expandable.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read_Expandable.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.js +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionPopover.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionPopover.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationSurface.js.map +1 -1
- package/dist/esm/components/resources/ResourceOwnedViewEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOwnedViewEmbeds.js.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
- package/dist/esm/components/resources/card-action-placement.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/card-action-placement.utils.js.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
- package/dist/esm/components/resources/collection-view-mode.frontend.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-view-mode.frontend.js.map +1 -1
- package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.js.map +1 -1
- package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.js.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.js.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
- package/dist/esm/components/resources/inserted-resource-view.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/inserted-resource-view.frontend.utils.js.map +1 -1
- package/dist/esm/components/resources/resource-operation-custom-view.contracts.d.ts.map +1 -1
- package/dist/esm/components/resources/resource-operation-custom-view.contracts.js.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayItemTemplate.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayItemTemplate.js.map +1 -1
- package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.js.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Divider.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Divider.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FieldScopeContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FieldScopeContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts +12 -0
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js +13 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.shared.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.shared.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionPresentationContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SubmitButton.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SubmitButton.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryHeader.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryHeader.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryMeta.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryMeta.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryTitle.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.shared.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.shared.js.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
- package/dist/esm/components/resources/useInlineSearch.d.ts.map +1 -1
- package/dist/esm/components/resources/useInlineSearch.js.map +1 -1
- package/dist/esm/components/resources/useLongPress.d.ts.map +1 -1
- package/dist/esm/components/resources/useLongPress.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
- package/dist/esm/components/sections/accordion.d.ts.map +1 -1
- package/dist/esm/components/sections/accordion.js.map +1 -1
- package/dist/esm/components/sections/card.d.ts.map +1 -1
- package/dist/esm/components/sections/card.js.map +1 -1
- package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
- package/dist/esm/components/sections/collapsible.js.map +1 -1
- package/dist/esm/components/sections/content-section.d.ts.map +1 -1
- package/dist/esm/components/sections/content-section.js.map +1 -1
- package/dist/esm/components/sections/pagination.d.ts.map +1 -1
- package/dist/esm/components/sections/pagination.js.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
- package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
- package/dist/esm/components/sections/stacked-layout.js.map +1 -1
- package/dist/esm/components/sections/stepper.d.ts.map +1 -1
- package/dist/esm/components/sections/stepper.js.map +1 -1
- package/dist/esm/components/sections/surface.d.ts.map +1 -1
- package/dist/esm/components/sections/surface.js.map +1 -1
- package/dist/esm/components/sections/table.d.ts.map +1 -1
- package/dist/esm/components/sections/table.js.map +1 -1
- package/dist/esm/components/sections/tabs.d.ts.map +1 -1
- package/dist/esm/components/sections/tabs.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +121 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +386 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +56 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.js +32 -5
- package/dist/esm/components/settings/SettingsHub.js.map +1 -1
- package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
- package/dist/esm/components/settings/SettingsSectionNavigationHost.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsSectionNavigationHost.js.map +1 -1
- package/dist/esm/components/typography/heading.d.ts.map +1 -1
- package/dist/esm/components/typography/heading.js.map +1 -1
- package/dist/esm/components/typography/label.d.ts.map +1 -1
- package/dist/esm/components/typography/label.js.map +1 -1
- package/dist/esm/components/typography/link.d.ts.map +1 -1
- package/dist/esm/components/typography/link.js.map +1 -1
- package/dist/esm/components/typography/text.d.ts.map +1 -1
- package/dist/esm/components/typography/text.js.map +1 -1
- package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
- package/dist/esm/components/typography/truncated-text.js.map +1 -1
- package/dist/esm/components/views/ViewLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/views/ViewLayout_Header.js.map +1 -1
- package/dist/esm/components/views/ViewNotFound.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.js.map +1 -1
- package/dist/esm/components/views/ViewNotFound.labels.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartEmptyState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartEmptyState.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartErrorState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartErrorState.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.lazy.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.labels.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/WildoEChart.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/WildoEChart.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-runtime.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-runtime.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-theme-bridge.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-theme-bridge.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/dev/ChartView.example.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/dev/ChartView.example.js.map +1 -1
- package/dist/esm/components/views/chart-view/echarts-setup.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/echarts-setup.js.map +1 -1
- package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeView.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeView.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeViewContext.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeViewContext.js.map +1 -1
- package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
- package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.js.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.d.ts.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.js.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.labels.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +11 -7
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
- package/dist/esm/components/views/full-custom-view/FullCustomView.d.ts.map +1 -1
- package/dist/esm/components/views/full-custom-view/FullCustomView.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.js +9 -2
- package/dist/esm/components/views/onboarding-view/OnboardingView.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.labels.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/onboarding-view.utils.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/onboarding-view.utils.js.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts +40 -18
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.js +0 -5
- package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.utils.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.utils.js.map +1 -1
- package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
- package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
- package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts +16 -0
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js +17 -0
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +31 -11
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +34 -25
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +30 -4
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +233 -17
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/BillingContext.d.ts +36 -0
- package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingContext.js +1 -0
- package/dist/esm/core/billing/BillingContext.js.map +1 -1
- package/dist/esm/core/billing/BillingErrorNotifier.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingErrorNotifier.js.map +1 -1
- package/dist/esm/core/billing/billing-launcher.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-launcher.js +1 -1
- package/dist/esm/core/billing/billing-launcher.js.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/useBilling.d.ts.map +1 -1
- package/dist/esm/core/billing/useBilling.js.map +1 -1
- package/dist/esm/core/billing/useBillingAction.d.ts.map +1 -1
- package/dist/esm/core/billing/useBillingAction.js.map +1 -1
- package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts.map +1 -1
- package/dist/esm/core/billing/useSafeBillingActionExecutor.js.map +1 -1
- package/dist/esm/core/branding/useBrandIdentity.d.ts +17 -0
- package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandIdentity.js +17 -0
- package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
- package/dist/esm/core/commons/devices.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/devices.frontend.schemas.js.map +1 -1
- package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/local-storage.frontend.schemas.js.map +1 -1
- package/dist/esm/core/commons/window-event.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/window-event.frontend.schemas.js.map +1 -1
- package/dist/esm/core/companion/companion-exports.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/companion/companion-exports.frontend.definitions.js.map +1 -1
- package/dist/esm/core/components-registry/ComponentNotInjected.d.ts.map +1 -1
- package/dist/esm/core/components-registry/ComponentNotInjected.js.map +1 -1
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +1 -0
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry-loader.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry-loader.frontend.service.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.js +4 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js +8 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +188 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +255 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -0
- package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
- package/dist/esm/core/components-registry/register-framework-layouts.js +2 -0
- package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +76 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +99 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -0
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +15 -5
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +44 -7
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.js +44 -7
- package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +14 -14
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.js.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.d.ts +0 -49
- package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.js +102 -56
- package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
- package/dist/esm/core/config/flows-actors-view.schemas.d.ts +5 -3
- package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/flows-actors-view.schemas.js +2 -2
- package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
- package/dist/esm/core/config/full-custom-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/full-custom-view.schemas.js.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
- package/dist/esm/core/config/inserted-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +51 -11
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.js +21 -7
- package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/onboarding-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +23 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.js +22 -0
- package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
- package/dist/esm/core/config/useSettingsHubConfig.js +8 -1
- package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/verify-feature-references.frontend.d.ts +7 -0
- package/dist/esm/core/config/verify-feature-references.frontend.d.ts.map +1 -1
- package/dist/esm/core/config/verify-feature-references.frontend.js +42 -1
- package/dist/esm/core/config/verify-feature-references.frontend.js.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.js +9 -2
- package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
- package/dist/esm/core/config/views-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/views-frontend.schemas.js.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
- package/dist/esm/core/errors/ErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorBoundary.js.map +1 -1
- package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorContext.js.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
- package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
- package/dist/esm/core/errors/http-error-behavior.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/errors/http-error-behavior.frontend.schemas.js.map +1 -1
- package/dist/esm/core/errors/useError.d.ts.map +1 -1
- package/dist/esm/core/errors/useError.js.map +1 -1
- package/dist/esm/core/errors/withErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/withErrorBoundary.js.map +1 -1
- package/dist/esm/core/events/EventBusContext.d.ts.map +1 -1
- package/dist/esm/core/events/EventBusContext.js.map +1 -1
- package/dist/esm/core/events/NotificationContext.d.ts +6 -5
- package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
- package/dist/esm/core/events/NotificationContext.js +41 -39
- package/dist/esm/core/events/NotificationContext.js.map +1 -1
- package/dist/esm/core/events/event-bus.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/events/event-bus.frontend.service.js.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.d.ts +34 -18
- package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.js +22 -1
- package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
- package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/notification-display-policy.frontend.schemas.js.map +1 -1
- package/dist/esm/core/events/toast.d.ts.map +1 -1
- package/dist/esm/core/events/toast.js.map +1 -1
- package/dist/esm/core/events/useEventBus.d.ts.map +1 -1
- package/dist/esm/core/events/useEventBus.js.map +1 -1
- package/dist/esm/core/events/useNotification.d.ts.map +1 -1
- package/dist/esm/core/events/useNotification.js.map +1 -1
- package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.js.map +1 -1
- package/dist/esm/core/execution/ExecutionRuntimeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/ExecutionRuntimeContext.js.map +1 -1
- package/dist/esm/core/execution/execution-anchor.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-anchor.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-dirty-markers.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-dirty-markers.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-failure-handling.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-failure-handling.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-outcome-emission.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-outcome-emission.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-participation.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-participation.utils.js.map +1 -1
- package/dist/esm/core/execution/useExecution.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecution.js.map +1 -1
- package/dist/esm/core/execution/useExecutionDirtyBridge.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionDirtyBridge.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationPrefetch.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.js.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +77 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js +114 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -0
- package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.js.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +33 -15
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js +27 -21
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts +102 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js +117 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js.map +1 -0
- package/dist/esm/core/features/FeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/FeatureGate.js +1 -1
- package/dist/esm/core/features/FeatureGate.js.map +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.d.ts.map +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.js +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.js.map +1 -1
- package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
- package/dist/esm/core/features/FeaturesContext.js.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts +7 -0
- package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.js +5 -0
- package/dist/esm/core/features/feature-unavailability.frontend.utils.js.map +1 -1
- package/dist/esm/core/features/useFeatureAvailability.d.ts +2 -0
- package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureAvailability.js +4 -2
- package/dist/esm/core/features/useFeatureAvailability.js.map +1 -1
- package/dist/esm/core/features/useFeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureGate.js.map +1 -1
- package/dist/esm/core/features/useFeatures.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatures.js.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +26 -2
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.js +60 -3
- package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
- package/dist/esm/core/flows-actors/useFlowsActors.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/useFlowsActors.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.js +2 -2
- package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
- package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/guidance-audience.frontend.utils.js.map +1 -1
- package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.labels.js.map +1 -1
- package/dist/esm/core/guidance/useGuidance.d.ts.map +1 -1
- package/dist/esm/core/guidance/useGuidance.js.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +29 -0
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +76 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
- package/dist/esm/core/hotkey/HotkeyRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/hotkey/HotkeyRegistryContext.js +44 -8
- package/dist/esm/core/hotkey/HotkeyRegistryContext.js.map +1 -1
- package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.d.ts.map +1 -1
- package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js.map +1 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts +53 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js +78 -13
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
- package/dist/esm/core/hotkey/useHotkey.d.ts.map +1 -1
- package/dist/esm/core/hotkey/useHotkey.js.map +1 -1
- package/dist/esm/core/i18n/I18nContext.d.ts +32 -0
- package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
- package/dist/esm/core/i18n/I18nContext.js +154 -32
- package/dist/esm/core/i18n/I18nContext.js.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +51 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +66 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -0
- package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
- package/dist/esm/core/i18n/useI18n.js +22 -2
- package/dist/esm/core/i18n/useI18n.js.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
- package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.definitions.js.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/icons/useIconRegistry.d.ts.map +1 -1
- package/dist/esm/core/icons/useIconRegistry.js.map +1 -1
- package/dist/esm/core/loading/AppLoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/AppLoadingGate.js.map +1 -1
- package/dist/esm/core/loading/LoadingBarrier.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingBarrier.js.map +1 -1
- package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingContext.js.map +1 -1
- package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingGate.js +16 -3
- package/dist/esm/core/loading/LoadingGate.js.map +1 -1
- package/dist/esm/core/loading/loading-policy.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-policy.frontend.schemas.js.map +1 -1
- package/dist/esm/core/loading/loading-scope.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-scope.frontend.utils.js.map +1 -1
- package/dist/esm/core/loading/loading-types.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-types.frontend.schemas.js.map +1 -1
- package/dist/esm/core/loading/resolveLoadingPolicy.d.ts.map +1 -1
- package/dist/esm/core/loading/resolveLoadingPolicy.js.map +1 -1
- package/dist/esm/core/loading/useAppLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useAppLoading.js.map +1 -1
- package/dist/esm/core/loading/useComponentLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useComponentLoading.js.map +1 -1
- package/dist/esm/core/loading/useEmitLoadingScope.d.ts.map +1 -1
- package/dist/esm/core/loading/useEmitLoadingScope.js.map +1 -1
- package/dist/esm/core/loading/useLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useLoading.js.map +1 -1
- package/dist/esm/core/mode/AppModeContext.d.ts.map +1 -1
- package/dist/esm/core/mode/AppModeContext.js.map +1 -1
- package/dist/esm/core/mode/section-visibility.d.ts.map +1 -1
- package/dist/esm/core/mode/section-visibility.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/useAnalytics.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/useAnalytics.js.map +1 -1
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts +97 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts.map +1 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js +179 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js.map +1 -0
- package/dist/esm/core/monitoring/logger.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/logger.frontend.service.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.js +76 -48
- package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.d.ts +12 -0
- package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.js +24 -0
- package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
- package/dist/esm/core/navigation/hosted-pane.constants.d.ts.map +1 -1
- package/dist/esm/core/navigation/hosted-pane.constants.js.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.d.ts +1 -1
- package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +14 -5
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js +146 -17
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.d.ts +58 -10
- package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.d.ts +2 -2
- package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.js +4 -4
- package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
- package/dist/esm/core/navigation/primary-destination-layout.d.ts.map +1 -1
- package/dist/esm/core/navigation/primary-destination-layout.js.map +1 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +1 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.js.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.d.ts +8 -0
- package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.js +26 -6
- package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationState.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationState.js.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.js.map +1 -1
- package/dist/esm/core/navigation/view-title-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/view-title-resolution.js.map +1 -1
- package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-content-geometry.js.map +1 -1
- package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-empty-behavior.js.map +1 -1
- package/dist/esm/core/navigation/zone-visible-entry.d.ts +26 -0
- package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -0
- package/dist/esm/core/navigation/zone-visible-entry.js +76 -0
- package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -0
- package/dist/esm/core/requests/api-readiness-checker.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/api-readiness-checker.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
- package/dist/esm/core/requests/client-instance-id.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/client-instance-id.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/network-backoff.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/requests/network-backoff.frontend.utils.js.map +1 -1
- package/dist/esm/core/requests/offline-replay-policy.frontend.d.ts.map +1 -1
- package/dist/esm/core/requests/offline-replay-policy.frontend.js.map +1 -1
- package/dist/esm/core/requests/request-cancellation.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/requests/request-cancellation.frontend.utils.js.map +1 -1
- package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.js.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.js +32 -19
- package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
- package/dist/esm/core/requests/websockets/useResourceRoom.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useResourceRoom.js.map +1 -1
- package/dist/esm/core/requests/websockets/useWebSocket.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useWebSocket.js.map +1 -1
- package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +146 -2
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +108 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts +3 -2
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +57 -4
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +6 -0
- package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js +1 -0
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewContext.js.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewProvider.js.map +1 -1
- package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceReadCacheBridge.js +130 -37
- package/dist/esm/core/resources/ResourceReadCacheBridge.js.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/ephemeral-fields.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/ephemeral-fields.utils.js.map +1 -1
- package/dist/esm/core/resources/file-serve-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/file-serve-url.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
- package/dist/esm/core/resources/in-place/InPlaceOperationContext.d.ts.map +1 -1
- package/dist/esm/core/resources/in-place/InPlaceOperationContext.js.map +1 -1
- package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistryContext.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMWebSocketBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/rmm/field-path.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/field-path.utils.js.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-constants.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-constants.js.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-noop-snapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-noop-snapshot.js.map +1 -1
- package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/types.js.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
- package/dist/esm/core/resources/rmm/useListInvalidation.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useListInvalidation.js.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMEventHandler.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMEventHandler.js.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMSnapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMSnapshot.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
- package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.d.ts.map +1 -1
- package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.js.map +1 -1
- package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
- package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
- package/dist/esm/core/resources/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/useOperationEnabled.js.map +1 -1
- package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceLabels.js +20 -14
- package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/resources/useResourceRegistry.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceRegistry.js.map +1 -1
- package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
- package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
- package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
- package/dist/esm/core/runtime/AppRouter.js +2 -1
- package/dist/esm/core/runtime/AppRouter.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts +9 -0
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.js +1 -0
- package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
- package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/env-variable-loader.frontend.service.js.map +1 -1
- package/dist/esm/core/runtime/frontend-companion-resource-inputs.d.ts.map +1 -1
- package/dist/esm/core/runtime/frontend-companion-resource-inputs.js.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +6 -0
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.js +7 -0
- package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/runtime.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/runtime/runtime.frontend.schemas.js.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts +38 -0
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js +92 -3
- package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
- package/dist/esm/core/runtime/useApplication.d.ts.map +1 -1
- package/dist/esm/core/runtime/useApplication.js.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
- package/dist/esm/core/scope/scope.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/scope/scope.frontend.schemas.js.map +1 -1
- package/dist/esm/core/scope/scope.utils.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/scope/scope.utils.frontend.service.js.map +1 -1
- package/dist/esm/core/scope/useAppScope.d.ts.map +1 -1
- package/dist/esm/core/scope/useAppScope.js.map +1 -1
- package/dist/esm/core/security/AnonymousSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AnonymousSessionContext.js.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.js +97 -13
- package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/auth-session.utils.d.ts.map +1 -1
- package/dist/esm/core/security/auth-session.utils.js.map +1 -1
- package/dist/esm/core/security/cross-frontend-handoff.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/security/cross-frontend-handoff.frontend.service.js.map +1 -1
- package/dist/esm/core/security/jwt.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/jwt.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
- package/dist/esm/core/security/session-token-storage.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/security/session-token-storage.frontend.service.js.map +1 -1
- package/dist/esm/core/security/useAuthSession.d.ts.map +1 -1
- package/dist/esm/core/security/useAuthSession.js.map +1 -1
- package/dist/esm/core/security/useResolvedAuthConfig.d.ts.map +1 -1
- package/dist/esm/core/security/useResolvedAuthConfig.js.map +1 -1
- package/dist/esm/core/security/useStepUpAuth.d.ts.map +1 -1
- package/dist/esm/core/security/useStepUpAuth.js.map +1 -1
- package/dist/esm/core/security/useUserOrgs.d.ts.map +1 -1
- package/dist/esm/core/security/useUserOrgs.js.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.js.map +1 -1
- package/dist/esm/core/ui/SurfacePolicyContext.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfacePolicyContext.js.map +1 -1
- package/dist/esm/core/ui/TypographyScopeContext.d.ts.map +1 -1
- package/dist/esm/core/ui/TypographyScopeContext.js.map +1 -1
- package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
- package/dist/esm/core/ui/UIContext.js.map +1 -1
- package/dist/esm/core/ui/chart-style-defaults.d.ts.map +1 -1
- package/dist/esm/core/ui/chart-style-defaults.js.map +1 -1
- package/dist/esm/core/ui/cn.d.ts.map +1 -1
- package/dist/esm/core/ui/cn.js.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
- package/dist/esm/core/ui/design-token-class-groups.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token-class-groups.js.map +1 -1
- package/dist/esm/core/ui/design-token-config.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token-config.utils.js.map +1 -1
- package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token.utils.js.map +1 -1
- package/dist/esm/core/ui/material-runtime.d.ts.map +1 -1
- package/dist/esm/core/ui/material-runtime.js.map +1 -1
- package/dist/esm/core/ui/surface-a11y.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/surface-a11y.utils.js.map +1 -1
- package/dist/esm/core/ui/theme-preference-storage.shared.d.ts.map +1 -1
- package/dist/esm/core/ui/theme-preference-storage.shared.js.map +1 -1
- package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
- package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -2
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
- package/dist/esm/core/ui/useUI.d.ts.map +1 -1
- package/dist/esm/core/ui/useUI.js.map +1 -1
- package/dist/esm/index.d.ts +7 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +20 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tailwind/index.d.ts.map +1 -1
- package/dist/esm/tailwind/index.js.map +1 -1
- package/dist/esm/testing/mock-builders.d.ts.map +1 -1
- package/dist/esm/testing/mock-builders.js +2 -0
- package/dist/esm/testing/mock-builders.js.map +1 -1
- package/dist/esm/testing/mock-factory.d.ts.map +1 -1
- package/dist/esm/testing/mock-factory.js.map +1 -1
- package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
- package/dist/esm/testing/rmm-helpers.js.map +1 -1
- package/dist/esm/testing/test-providers.d.ts.map +1 -1
- package/dist/esm/testing/test-providers.js.map +1 -1
- package/dist/esm/testing.d.ts.map +1 -1
- package/dist/esm/testing.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +6 -5
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts +0 -21
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-plan-change-preview.js +0 -12
- package/dist/esm/components/billing/billing-plan-change-preview.js.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts +0 -12
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.js +0 -11
- package/dist/esm/components/billing/billing-promotion-code-input.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpTransportAdapter.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"HttpTransportAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/core/resources/rmm/HttpTransportAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4DAA4D,CAAC;AAC1G,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,gFAAgF,CAAC;AACtI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sEAAsE,CAAC;AAG3G,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAiCtF,MAAM,MAAM,aAAa,GAAG,CAAC,SAAS,GAAG,GAAG,EAC1C,aAAa,EAAE,uBAAuB,EACtC,UAAU,EAAE,+BAA+B,EAC3C,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,SAAS,CAAC,CAAC;AAMxB,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,OAAO,CAAC,YAAY,CAAgB;gBAExB,WAAW,EAAE,aAAa;IAIhC,OAAO,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IAqDxE,OAAO,CAAC,SAAS;CA0JlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpTransportAdapter.js","sourceRoot":"","sources":["../../../../../../src/core/resources/rmm/HttpTransportAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * HttpTransportAdapter — Production Implementation (Phase 1.3, updated Phase 3.2)\n *\n * Wraps the existing doOperation() from ResourceRegistryContext.\n * - Passes silent: true (Tier 3 — no loading events, Decision R16)\n * - Does NOT pass loading config (no LOADING_RESOURCE_START/END events)\n * - Sends If-Match header when expectedVersion is known (Phase 3.2)\n * - Disambiguates 409 errors: VERSION_CONFLICT → CONFLICT, other 409s → VALIDATION\n * - Maps errors to OperationResult (httpStatus primary path, isWildoBackendError fallback)\n */\n\nimport {\n isWildoBackendError,\n WildoHeaderKeys,\n ErrorCustomMessageReference,\n VersionConflictDetailsSchema,\n} from '@wildo-ai/saas-models';\nimport type { MutationError } from './types';\nimport type { FieldMetaEntry } from '@wildo-ai/saas-models';\nimport type { OperationPathIdentifier } from '~wildo-frontend-lib/core/resources/ResourceRegistryContext';\nimport type { ResourceOperationCallParameters } from '~wildo-frontend-lib/core/requests/wildo-http-client-resources.frontend.service';\nimport type { RequestOptions } from '~wildo-frontend-lib/core/requests/wildo-http-client.frontend.service';\n\nimport { MutationErrorType, OperationResultStatus } from './types';\nimport type { TransportAdapter, OperationDescriptor, OperationResult } from './types';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { isAbortOrCancelError } from '~wildo-frontend-lib/core/requests/request-cancellation.frontend.utils';\nimport { isNetworkOfflineRejection } from '~wildo-frontend-lib/core/requests/offline-replay-policy.frontend';\nimport { isApiNotReadyError } from '~wildo-frontend-lib/core/requests/api-readiness-checker.frontend.service';\n\nconst logger = LoggerFrontendService.getLogger();\nconst logDebug = logger.debugByType('HttpTransportAdapter');\nlogger.setDebugTypeLogging('HttpTransportAdapter', false);\n\n/**\n * Only the backend-authored nested `details.versionConflict` payload is treated\n * as authoritative conflict truth.\n */\nfunction extractVersionConflictDetails(error: unknown): MutationError['conflictDetails'] | undefined {\n const ctx = isWildoBackendError(error)\n ? error.context\n : (error as { context?: Record<string, unknown> }).context;\n if (!ctx || typeof ctx !== 'object') return undefined;\n const rec = ctx as Record<string, unknown>;\n const parsed = VersionConflictDetailsSchema.safeParse(rec.versionConflict);\n return parsed.success ? parsed.data : undefined;\n}\n\nfunction hasHttpStatus(error: unknown): error is { httpStatus: number } {\n const s = (error as { httpStatus?: number }).httpStatus;\n return s != null && typeof s === 'number' && !Number.isNaN(s);\n}\n\n// =============================================================================\n// DO OPERATION TYPE (matches ResourceRegistryContext.doOperation)\n// =============================================================================\n\nexport type DoOperationFn = <TResponse = any>(\n operationPath: OperationPathIdentifier,\n parameters: ResourceOperationCallParameters,\n options?: RequestOptions\n) => Promise<TResponse>;\n\n// =============================================================================\n// ADAPTER\n// =============================================================================\n\nexport class HttpTransportAdapter implements TransportAdapter {\n private _doOperation: DoOperationFn;\n\n constructor(doOperation: DoOperationFn) {\n this._doOperation = doOperation;\n }\n\n async execute(descriptor: OperationDescriptor): Promise<OperationResult> {\n logDebug('execute', {\n operationPathKey: descriptor.operationPathKey,\n fields: descriptor.requestData ? Object.keys(descriptor.requestData) : [],\n expectedVersion: descriptor.expectedVersion,\n });\n\n try {\n const headers: Record<string, string> = {};\n if (descriptor.expectedVersion != null) {\n headers[WildoHeaderKeys.IF_MATCH] = String(descriptor.expectedVersion);\n }\n\n const requestData = descriptor.fieldTimestamps\n ? { ...descriptor.requestData, _field_timestamps: descriptor.fieldTimestamps }\n : descriptor.requestData;\n\n const response = await this._doOperation(\n descriptor.operationPathKey,\n {\n contextualParameters: descriptor.contextualParameters,\n requestData,\n parentResourcesRequirements: descriptor.parentResourcesRequirements as any,\n dataMode: descriptor.dataMode,\n },\n {\n signal: descriptor.signal,\n silent: true,\n headers: Object.keys(headers).length > 0 ? headers : undefined,\n }\n );\n\n const responseData = response as Record<string, unknown> | undefined;\n\n const result: OperationResult = {\n status: OperationResultStatus.SUCCESS,\n data: responseData ?? undefined,\n newVersion: responseData?._version as number | undefined,\n fieldMeta: responseData?._field_meta as Record<string, FieldMetaEntry> | undefined,\n };\n logDebug('execute: success', { newVersion: result.newVersion });\n return result;\n } catch (error: unknown) {\n const result = this._mapError(error);\n logDebug('execute: error', {\n errorType: result.error?.type,\n errorStatus: result.error?.status,\n errorMessage: result.error?.message,\n });\n return result;\n }\n }\n\n private _mapError(error: unknown): OperationResult {\n // Intentional cancellation → ABORT (never a TRANSIENT/retryable failure).\n // The transport is axios, which rejects an aborted request with a\n // `CanceledError` (`__CANCEL__` / `code: 'ERR_CANCELED'` / `name:\n // 'CanceledError'`) — NOT a DOM `AbortError`. The two `AbortError` checks\n // below were therefore DEAD for this transport, so a superseded mutation or\n // a backpressure-timeout abort fell through to the final `TRANSIENT` branch\n // and looked like a retryable error. Recognise the axios cancel shape (same\n // shape the HTTP-client interceptor and per-consumer guards use) and keep the\n // DOM `AbortError` checks as defense-in-depth for any non-axios transport.\n if (isAbortOrCancelError(error)) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.ABORT } };\n }\n\n // Offline rejection (mutation issued while the device was offline, or a queued\n // read that expired) → TRANSIENT so RMM's bounded transient-retry ladder\n // (1s, 3s) gives a brief blip a chance to recover, then settles to ERROR\n // rather than hot-looping. It is NOT a server/validation failure and must not\n // be classified as one. (Step 3 of the network-resilience plan may promote\n // this to a dedicated OFFLINE mutation type once the connectivity layer owns\n // the offline banner UX.)\n if (isNetworkOfflineRejection(error)) {\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.TRANSIENT, message: error.message },\n };\n }\n\n // Bounded readiness-gate rejection (`ApiNotReadyError`): the backend is\n // unreachable and the HTTP client's readiness wait gave up. TRANSIENT so\n // the RMM's bounded retry ladder gets its chance — and, because the wait is\n // bounded, the ladder now actually EXHAUSTS instead of parking forever at\n // the gate. Exhaustion then reverts optimistic state and surfaces a\n // user-visible failure (audit B1/B2). This would also land in the final\n // TRANSIENT fallback below; the explicit branch pins the classification.\n if (isApiNotReadyError(error)) {\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.TRANSIENT, message: error.message },\n };\n }\n\n const httpStatus = hasHttpStatus(error) ? error.httpStatus : undefined;\n if (httpStatus != null) {\n switch (httpStatus) {\n case 400:\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.VALIDATION,\n status: httpStatus,\n validationErrors: (error as any).validationErrors,\n message: (error as any).message ?? String(error),\n },\n };\n case 404:\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.NOT_FOUND, status: httpStatus } };\n case 409: {\n const customRef = (error as any)?.customMessageReference;\n if (customRef === ErrorCustomMessageReference.VERSION_CONFLICT) {\n const conflictDetails = extractVersionConflictDetails(error);\n if (!conflictDetails) {\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.SERVER,\n status: httpStatus,\n message: 'Version conflict response missing authoritative conflict details.',\n },\n };\n }\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.CONFLICT,\n status: httpStatus,\n conflictDetails,\n },\n };\n }\n if (customRef) {\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.VALIDATION, status: httpStatus, message: (error as any)?.message ?? String(error) },\n };\n }\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.VALIDATION, status: httpStatus, message: (error as any)?.message ?? String(error) },\n };\n }\n default:\n if (httpStatus >= 500) {\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.SERVER, status: httpStatus, message: String(error) },\n };\n }\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.TRANSIENT, status: httpStatus, message: String(error) },\n };\n }\n }\n\n if (isWildoBackendError(error)) {\n const status = error.statusCode;\n if (status >= 500) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.SERVER, status, message: String(error) } };\n }\n if (status === 400) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.VALIDATION, status, message: String(error) } };\n }\n if (status === 404) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.NOT_FOUND, status } };\n }\n if (status === 409) {\n if (error.customMessageReference === ErrorCustomMessageReference.VERSION_CONFLICT) {\n const conflictDetails = extractVersionConflictDetails(error);\n if (!conflictDetails) {\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.SERVER,\n status,\n message: 'Version conflict response missing authoritative conflict details.',\n },\n };\n }\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.CONFLICT,\n status,\n conflictDetails,\n },\n };\n }\n if (error.customMessageReference) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.VALIDATION, status, message: String(error) } };\n }\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.VALIDATION, status, message: String(error) } };\n }\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.TRANSIENT, status, message: String(error) } };\n }\n\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.TRANSIENT,\n message: error instanceof Error ? error.message : String(error),\n },\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"HttpTransportAdapter.js","sourceRoot":"","sources":["../../../../../src/core/resources/rmm/HttpTransportAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,uEAAuE,CAAC;AAC7G,OAAO,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0EAA0E,CAAC;AAE9G,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,EAAE,CAAC;AACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;AAC5D,MAAM,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;AAE1D;;;GAGG;AACH,SAAS,6BAA6B,CAAC,KAAc;IACnD,MAAM,GAAG,GAAG,mBAAmB,CAAC,KAAK,CAAC;QACpC,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAE,KAA+C,CAAC,OAAO,CAAC;IAC7D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,GAAG,GAAG,GAA8B,CAAC;IAC3C,MAAM,MAAM,GAAG,4BAA4B,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,MAAM,CAAC,GAAI,KAAiC,CAAC,UAAU,CAAC;IACxD,OAAO,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAYD,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,MAAM,OAAO,oBAAoB;IACvB,YAAY,CAAgB;IAEpC,YAAY,WAA0B;QACpC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAA+B;QAC3C,QAAQ,CAAC,SAAS,EAAE;YAClB,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;YAC7C,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;YACzE,eAAe,EAAE,UAAU,CAAC,eAAe;SAC5C,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,OAAO,GAA2B,EAAE,CAAC;YAC3C,IAAI,UAAU,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;gBACvC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACzE,CAAC;YAED,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe;gBAC5C,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,WAAW,EAAE,iBAAiB,EAAE,UAAU,CAAC,eAAe,EAAE;gBAC9E,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;YAE3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CACtC,UAAU,CAAC,gBAAgB,EAC3B;gBACE,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;gBACrD,WAAW;gBACX,2BAA2B,EAAE,UAAU,CAAC,2BAAkC;gBAC1E,QAAQ,EAAE,UAAU,CAAC,QAAQ;aAC9B,EACD;gBACE,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;aAC/D,CACF,CAAC;YAEF,MAAM,YAAY,GAAG,QAA+C,CAAC;YAErE,MAAM,MAAM,GAAoB;gBAC9B,MAAM,EAAE,qBAAqB,CAAC,OAAO;gBACrC,IAAI,EAAE,YAAY,IAAI,SAAS;gBAC/B,UAAU,EAAE,YAAY,EAAE,QAA8B;gBACxD,SAAS,EAAE,YAAY,EAAE,WAAyD;aACnF,CAAC;YACF,QAAQ,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAChE,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACrC,QAAQ,CAAC,gBAAgB,EAAE;gBACzB,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI;gBAC7B,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM;gBACjC,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO;aACpC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,KAAc;QAC9B,0EAA0E;QAC1E,kEAAkE;QAClE,kEAAkE;QAClE,0EAA0E;QAC1E,4EAA4E;QAC5E,4EAA4E;QAC5E,4EAA4E;QAC5E,8EAA8E;QAC9E,2EAA2E;QAC3E,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;QAC3F,CAAC;QAED,+EAA+E;QAC/E,yEAAyE;QACzE,yEAAyE;QACzE,8EAA8E;QAC9E,2EAA2E;QAC3E,6EAA6E;QAC7E,0BAA0B;QAC1B,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO;gBACL,MAAM,EAAE,qBAAqB,CAAC,KAAK;gBACnC,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;aACrE,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,yEAAyE;QACzE,4EAA4E;QAC5E,0EAA0E;QAC1E,oEAAoE;QACpE,wEAAwE;QACxE,yEAAyE;QACzE,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,qBAAqB,CAAC,KAAK;gBACnC,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;aACrE,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,QAAQ,UAAU,EAAE,CAAC;gBACnB,KAAK,GAAG;oBACN,OAAO;wBACL,MAAM,EAAE,qBAAqB,CAAC,KAAK;wBACnC,KAAK,EAAE;4BACL,IAAI,EAAE,iBAAiB,CAAC,UAAU;4BAClC,MAAM,EAAE,UAAU;4BAClB,gBAAgB,EAAG,KAAa,CAAC,gBAAgB;4BACjD,OAAO,EAAG,KAAa,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;yBACjD;qBACF,CAAC;gBACJ,KAAK,GAAG;oBACN,OAAO,EAAE,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;gBACnH,KAAK,GAAG,CAAC,CAAC,CAAC;oBACT,MAAM,SAAS,GAAI,KAAa,EAAE,sBAAsB,CAAC;oBACzD,IAAI,SAAS,KAAK,2BAA2B,CAAC,gBAAgB,EAAE,CAAC;wBAC/D,MAAM,eAAe,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;wBAC7D,IAAI,CAAC,eAAe,EAAE,CAAC;4BACrB,OAAO;gCACL,MAAM,EAAE,qBAAqB,CAAC,KAAK;gCACnC,KAAK,EAAE;oCACL,IAAI,EAAE,iBAAiB,CAAC,MAAM;oCAC9B,MAAM,EAAE,UAAU;oCAClB,OAAO,EAAE,mEAAmE;iCAC7E;6BACF,CAAC;wBACJ,CAAC;wBACD,OAAO;4BACL,MAAM,EAAE,qBAAqB,CAAC,KAAK;4BACnC,KAAK,EAAE;gCACL,IAAI,EAAE,iBAAiB,CAAC,QAAQ;gCAChC,MAAM,EAAE,UAAU;gCAClB,eAAe;6BAChB;yBACF,CAAC;oBACJ,CAAC;oBACD,IAAI,SAAS,EAAE,CAAC;wBACd,OAAO;4BACL,MAAM,EAAE,qBAAqB,CAAC,KAAK;4BACnC,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAG,KAAa,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;yBACrH,CAAC;oBACJ,CAAC;oBACD,OAAO;wBACL,MAAM,EAAE,qBAAqB,CAAC,KAAK;wBACnC,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAG,KAAa,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;qBACrH,CAAC;gBACJ,CAAC;gBACD;oBACE,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;wBACtB,OAAO;4BACL,MAAM,EAAE,qBAAqB,CAAC,KAAK;4BACnC,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;yBACtF,CAAC;oBACJ,CAAC;oBACD,OAAO;wBACL,MAAM,EAAE,qBAAqB,CAAC,KAAK;wBACnC,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;qBACzF,CAAC;YACN,CAAC;QACH,CAAC;QAED,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;YAChC,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;gBAClB,OAAO,EAAE,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YAC5H,CAAC;YACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnB,OAAO,EAAE,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YAChI,CAAC;YACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnB,OAAO,EAAE,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;YACvG,CAAC;YACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnB,IAAI,KAAK,CAAC,sBAAsB,KAAK,2BAA2B,CAAC,gBAAgB,EAAE,CAAC;oBAClF,MAAM,eAAe,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;oBAC7D,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrB,OAAO;4BACL,MAAM,EAAE,qBAAqB,CAAC,KAAK;4BACnC,KAAK,EAAE;gCACL,IAAI,EAAE,iBAAiB,CAAC,MAAM;gCAC9B,MAAM;gCACN,OAAO,EAAE,mEAAmE;6BAC7E;yBACF,CAAC;oBACJ,CAAC;oBACD,OAAO;wBACL,MAAM,EAAE,qBAAqB,CAAC,KAAK;wBACnC,KAAK,EAAE;4BACL,IAAI,EAAE,iBAAiB,CAAC,QAAQ;4BAChC,MAAM;4BACN,eAAe;yBAChB;qBACF,CAAC;gBACJ,CAAC;gBACD,IAAI,KAAK,CAAC,sBAAsB,EAAE,CAAC;oBACjC,OAAO,EAAE,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBAChI,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YAChI,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QAC/H,CAAC;QAED,OAAO;YACL,MAAM,EAAE,qBAAqB,CAAC,KAAK;YACnC,KAAK,EAAE;gBACL,IAAI,EAAE,iBAAiB,CAAC,SAAS;gBACjC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE;SACF,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * HttpTransportAdapter — Production Implementation (Phase 1.3, updated Phase 3.2)\n *\n * Wraps the existing doOperation() from ResourceRegistryContext.\n * - Passes silent: true (Tier 3 — no loading events, Decision R16)\n * - Does NOT pass loading config (no LOADING_RESOURCE_START/END events)\n * - Sends If-Match header when expectedVersion is known (Phase 3.2)\n * - Disambiguates 409 errors: VERSION_CONFLICT → CONFLICT, other 409s → VALIDATION\n * - Maps errors to OperationResult (httpStatus primary path, isWildoBackendError fallback)\n */\n\nimport {\n isWildoBackendError,\n WildoHeaderKeys,\n ErrorCustomMessageReference,\n VersionConflictDetailsSchema,\n} from '@wildo-ai/saas-models';\nimport type { MutationError } from './types';\nimport type { FieldMetaEntry } from '@wildo-ai/saas-models';\nimport type { OperationPathIdentifier } from '~wildo-frontend-lib/core/resources/ResourceRegistryContext';\nimport type { ResourceOperationCallParameters } from '~wildo-frontend-lib/core/requests/wildo-http-client-resources.frontend.service';\nimport type { RequestOptions } from '~wildo-frontend-lib/core/requests/wildo-http-client.frontend.service';\n\nimport { MutationErrorType, OperationResultStatus } from './types';\nimport type { TransportAdapter, OperationDescriptor, OperationResult } from './types';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { isAbortOrCancelError } from '~wildo-frontend-lib/core/requests/request-cancellation.frontend.utils';\nimport { isNetworkOfflineRejection } from '~wildo-frontend-lib/core/requests/offline-replay-policy.frontend';\nimport { isApiNotReadyError } from '~wildo-frontend-lib/core/requests/api-readiness-checker.frontend.service';\n\nconst logger = LoggerFrontendService.getLogger();\nconst logDebug = logger.debugByType('HttpTransportAdapter');\nlogger.setDebugTypeLogging('HttpTransportAdapter', false);\n\n/**\n * Only the backend-authored nested `details.versionConflict` payload is treated\n * as authoritative conflict truth.\n */\nfunction extractVersionConflictDetails(error: unknown): MutationError['conflictDetails'] | undefined {\n const ctx = isWildoBackendError(error)\n ? error.context\n : (error as { context?: Record<string, unknown> }).context;\n if (!ctx || typeof ctx !== 'object') return undefined;\n const rec = ctx as Record<string, unknown>;\n const parsed = VersionConflictDetailsSchema.safeParse(rec.versionConflict);\n return parsed.success ? parsed.data : undefined;\n}\n\nfunction hasHttpStatus(error: unknown): error is { httpStatus: number } {\n const s = (error as { httpStatus?: number }).httpStatus;\n return s != null && typeof s === 'number' && !Number.isNaN(s);\n}\n\n// =============================================================================\n// DO OPERATION TYPE (matches ResourceRegistryContext.doOperation)\n// =============================================================================\n\nexport type DoOperationFn = <TResponse = any>(\n operationPath: OperationPathIdentifier,\n parameters: ResourceOperationCallParameters,\n options?: RequestOptions\n) => Promise<TResponse>;\n\n// =============================================================================\n// ADAPTER\n// =============================================================================\n\nexport class HttpTransportAdapter implements TransportAdapter {\n private _doOperation: DoOperationFn;\n\n constructor(doOperation: DoOperationFn) {\n this._doOperation = doOperation;\n }\n\n async execute(descriptor: OperationDescriptor): Promise<OperationResult> {\n logDebug('execute', {\n operationPathKey: descriptor.operationPathKey,\n fields: descriptor.requestData ? Object.keys(descriptor.requestData) : [],\n expectedVersion: descriptor.expectedVersion,\n });\n\n try {\n const headers: Record<string, string> = {};\n if (descriptor.expectedVersion != null) {\n headers[WildoHeaderKeys.IF_MATCH] = String(descriptor.expectedVersion);\n }\n\n const requestData = descriptor.fieldTimestamps\n ? { ...descriptor.requestData, _field_timestamps: descriptor.fieldTimestamps }\n : descriptor.requestData;\n\n const response = await this._doOperation(\n descriptor.operationPathKey,\n {\n contextualParameters: descriptor.contextualParameters,\n requestData,\n parentResourcesRequirements: descriptor.parentResourcesRequirements as any,\n dataMode: descriptor.dataMode,\n },\n {\n signal: descriptor.signal,\n silent: true,\n headers: Object.keys(headers).length > 0 ? headers : undefined,\n }\n );\n\n const responseData = response as Record<string, unknown> | undefined;\n\n const result: OperationResult = {\n status: OperationResultStatus.SUCCESS,\n data: responseData ?? undefined,\n newVersion: responseData?._version as number | undefined,\n fieldMeta: responseData?._field_meta as Record<string, FieldMetaEntry> | undefined,\n };\n logDebug('execute: success', { newVersion: result.newVersion });\n return result;\n } catch (error: unknown) {\n const result = this._mapError(error);\n logDebug('execute: error', {\n errorType: result.error?.type,\n errorStatus: result.error?.status,\n errorMessage: result.error?.message,\n });\n return result;\n }\n }\n\n private _mapError(error: unknown): OperationResult {\n // Intentional cancellation → ABORT (never a TRANSIENT/retryable failure).\n // The transport is axios, which rejects an aborted request with a\n // `CanceledError` (`__CANCEL__` / `code: 'ERR_CANCELED'` / `name:\n // 'CanceledError'`) — NOT a DOM `AbortError`. The two `AbortError` checks\n // below were therefore DEAD for this transport, so a superseded mutation or\n // a backpressure-timeout abort fell through to the final `TRANSIENT` branch\n // and looked like a retryable error. Recognise the axios cancel shape (same\n // shape the HTTP-client interceptor and per-consumer guards use) and keep the\n // DOM `AbortError` checks as defense-in-depth for any non-axios transport.\n if (isAbortOrCancelError(error)) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.ABORT } };\n }\n\n // Offline rejection (mutation issued while the device was offline, or a queued\n // read that expired) → TRANSIENT so RMM's bounded transient-retry ladder\n // (1s, 3s) gives a brief blip a chance to recover, then settles to ERROR\n // rather than hot-looping. It is NOT a server/validation failure and must not\n // be classified as one. (Step 3 of the network-resilience plan may promote\n // this to a dedicated OFFLINE mutation type once the connectivity layer owns\n // the offline banner UX.)\n if (isNetworkOfflineRejection(error)) {\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.TRANSIENT, message: error.message },\n };\n }\n\n // Bounded readiness-gate rejection (`ApiNotReadyError`): the backend is\n // unreachable and the HTTP client's readiness wait gave up. TRANSIENT so\n // the RMM's bounded retry ladder gets its chance — and, because the wait is\n // bounded, the ladder now actually EXHAUSTS instead of parking forever at\n // the gate. Exhaustion then reverts optimistic state and surfaces a\n // user-visible failure (audit B1/B2). This would also land in the final\n // TRANSIENT fallback below; the explicit branch pins the classification.\n if (isApiNotReadyError(error)) {\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.TRANSIENT, message: error.message },\n };\n }\n\n const httpStatus = hasHttpStatus(error) ? error.httpStatus : undefined;\n if (httpStatus != null) {\n switch (httpStatus) {\n case 400:\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.VALIDATION,\n status: httpStatus,\n validationErrors: (error as any).validationErrors,\n message: (error as any).message ?? String(error),\n },\n };\n case 404:\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.NOT_FOUND, status: httpStatus } };\n case 409: {\n const customRef = (error as any)?.customMessageReference;\n if (customRef === ErrorCustomMessageReference.VERSION_CONFLICT) {\n const conflictDetails = extractVersionConflictDetails(error);\n if (!conflictDetails) {\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.SERVER,\n status: httpStatus,\n message: 'Version conflict response missing authoritative conflict details.',\n },\n };\n }\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.CONFLICT,\n status: httpStatus,\n conflictDetails,\n },\n };\n }\n if (customRef) {\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.VALIDATION, status: httpStatus, message: (error as any)?.message ?? String(error) },\n };\n }\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.VALIDATION, status: httpStatus, message: (error as any)?.message ?? String(error) },\n };\n }\n default:\n if (httpStatus >= 500) {\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.SERVER, status: httpStatus, message: String(error) },\n };\n }\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.TRANSIENT, status: httpStatus, message: String(error) },\n };\n }\n }\n\n if (isWildoBackendError(error)) {\n const status = error.statusCode;\n if (status >= 500) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.SERVER, status, message: String(error) } };\n }\n if (status === 400) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.VALIDATION, status, message: String(error) } };\n }\n if (status === 404) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.NOT_FOUND, status } };\n }\n if (status === 409) {\n if (error.customMessageReference === ErrorCustomMessageReference.VERSION_CONFLICT) {\n const conflictDetails = extractVersionConflictDetails(error);\n if (!conflictDetails) {\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.SERVER,\n status,\n message: 'Version conflict response missing authoritative conflict details.',\n },\n };\n }\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.CONFLICT,\n status,\n conflictDetails,\n },\n };\n }\n if (error.customMessageReference) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.VALIDATION, status, message: String(error) } };\n }\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.VALIDATION, status, message: String(error) } };\n }\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.TRANSIENT, status, message: String(error) } };\n }\n\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.TRANSIENT,\n message: error instanceof Error ? error.message : String(error),\n },\n };\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RMMRegistry.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"RMMRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/core/resources/rmm/RMMRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAY7D,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAWD,KAAK,uBAAuB,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,uBAAuB,CAAA;CAAE,CAAC,CAAC;AAE9H,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,wBAAwB,CAA2D;IAC3F;;;;;OAKG;IACH,OAAO,CAAC,6BAA6B,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,YAAY,CAAa;gBAErB,OAAO,CAAC,EAAE,kBAAkB;IAKxC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IASpC,WAAW,CACT,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,6BAA6B,GACpC,uBAAuB;IAoF1B,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS;IAIlF;;;OAGG;IACH,kBAAkB,IAAI,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,uBAAuB,CAAA;KAAE,CAAC;IAcpH,wBAAwB,CACtB,QAAQ,EAAE,CAAC,SAAS,EAAE,uBAAuB,KAAK,IAAI,GACrD,MAAM,IAAI;IAQb,4BAA4B,IAAI,IAAI;IAIpC,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAIxD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IA4B1B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAazB,OAAO,IAAI,IAAI;IAef;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA+BtB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,2BAA2B;CAmBpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RMMRegistry.js","sourceRoot":"","sources":["../../../../../../src/core/resources/rmm/RMMRegistry.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * RMMRegistry — Global singleton managing RMM instances with ref counting.\n *\n * Pure TypeScript (no React). Instances are keyed by `${resourceType}:${resourceId}`.\n * Ref counting + deferred destruction (100ms) ensures React Strict Mode safety:\n * unmount→remount within the same tick reuses the existing instance.\n *\n * LRU eviction at capacity targets idle instances (refCount === 0) first.\n * Active instances are never evicted — the limit is soft.\n */\n\nimport { ResourceMutationManager } from './ResourceMutationManager';\nimport type { ResourceMutationManagerConfig } from './types';\nimport {\n RMM_REGISTRY_CAPACITY_WARNING,\n RMM_REGISTRY_DESTROY_DELAY_MS,\n RMM_REGISTRY_MAX_INSTANCES,\n} from './rmm-constants';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\n\nconst logger = LoggerFrontendService.getLogger();\nconst logDebug = logger.debugByType('RMMRegistry');\nlogger.setDebugTypeLogging('RMMRegistry', false);\n\nexport interface RMMRegistryOptions {\n maxInstances?: number;\n}\n\ninterface RegistryEntry {\n rmm: ResourceMutationManager;\n refCount: number;\n destroyTimer: ReturnType<typeof setTimeout> | null;\n lastAccessedAt: number;\n /** Set when the async destroy() sequence has started. Prevents reuse of a half-destroyed RMM. */\n destroying: boolean;\n}\n\ntype ActiveInstancesSnapshot = Array<{ key: string; resourceType: string; resourceId: string; rmm: ResourceMutationManager }>;\n\nexport class RMMRegistry {\n private _instances: Map<string, RegistryEntry> = new Map();\n private _activeInstanceListeners = new Set<(instances: ActiveInstancesSnapshot) => void>();\n /**\n * Coalescing flag for the deferred active-instance notification. See\n * `_emitActiveInstancesChanged` — notifications are flushed on a microtask so\n * a render-phase caller (`getOrCreate` inside `useResourceRMM`'s `useMemo`)\n * can never drive an observer's `setState` during render.\n */\n private _activeInstancesEmitScheduled = false;\n private readonly MAX_INSTANCES: number;\n private _clockOffset: number = 0;\n\n constructor(options?: RMMRegistryOptions) {\n this.MAX_INSTANCES = options?.maxInstances ?? RMM_REGISTRY_MAX_INSTANCES;\n logDebug('constructor', { maxInstances: this.MAX_INSTANCES });\n }\n\n get clockOffset(): number {\n return this._clockOffset;\n }\n\n /**\n * Sets the clock offset and propagates it to all active RMM instances.\n * Called by the calibration effect in RMMRegistryProvider.\n */\n setClockOffset(offset: number): void {\n this._clockOffset = offset;\n for (const [, entry] of this._instances) {\n if (entry.refCount > 0 && !entry.destroying) {\n entry.rmm.clockOffset = offset;\n }\n }\n }\n\n getOrCreate(\n resourceType: string,\n resourceId: string,\n config: ResourceMutationManagerConfig,\n ): ResourceMutationManager {\n const key = this.keyFor(resourceType, resourceId);\n const existing = this._instances.get(key);\n\n if (existing && !existing.destroying) {\n if (existing.destroyTimer) {\n clearTimeout(existing.destroyTimer);\n existing.destroyTimer = null;\n logDebug('getOrCreate: cancelled pending destroy', { key });\n }\n const previousReadOperationPathKey = existing.rmm.readOperationPathKey;\n if (\n config.readOperationPathKey !== undefined\n && previousReadOperationPathKey !== undefined\n && config.readOperationPathKey !== previousReadOperationPathKey\n ) {\n logger.warn('RMMRegistry updating canonical read path on reused instance', {\n key,\n previousReadOperationPathKey,\n nextReadOperationPathKey: config.readOperationPathKey,\n });\n }\n existing.rmm.syncRuntimeRoutingConfig({\n transportAdapter: config.transportAdapter,\n currentUserId: config.currentUserId,\n contextResourceIdentifiers: config.contextResourceIdentifiers,\n contextualParameters: config.contextualParameters,\n parentResourcesRequirements: config.parentResourcesRequirements,\n operationPathKey: config.operationPathKey,\n readOperationPathKey: config.readOperationPathKey,\n conflictPolicy: config.conflictPolicy,\n resourceSchema: config.resourceSchema,\n });\n // Registry identity is resourceType + resourceId, not route instance. A\n // reused RMM therefore has to resync transport/context/read-path inputs on\n // every acquisition so navigation changes do not leave a live instance on\n // stale runtime routing.\n existing.refCount++;\n existing.lastAccessedAt = Date.now();\n\n logDebug('getOrCreate: reused', {\n key,\n refCount: existing.refCount,\n });\n\n this._emitActiveInstancesChanged();\n return existing.rmm;\n }\n\n if (existing?.destroying) {\n logDebug('getOrCreate: old instance mid-destroy, replacing', { key });\n this._instances.delete(key);\n }\n\n this._evictIfNeeded();\n\n const rmm = new ResourceMutationManager(config);\n if (this._clockOffset !== 0) {\n rmm.clockOffset = this._clockOffset;\n }\n this._instances.set(key, {\n rmm,\n refCount: 1,\n destroyTimer: null,\n lastAccessedAt: Date.now(),\n destroying: false,\n });\n\n logDebug('getOrCreate: created', {\n key,\n instanceCount: this._instances.size,\n });\n\n if (this._instances.size >= this.MAX_INSTANCES * RMM_REGISTRY_CAPACITY_WARNING) {\n logger.warn('RMMRegistry approaching capacity', {\n current: this._instances.size,\n max: this.MAX_INSTANCES,\n });\n }\n\n this._emitActiveInstancesChanged();\n return rmm;\n }\n\n get(resourceType: string, resourceId: string): ResourceMutationManager | undefined {\n return this._instances.get(this.keyFor(resourceType, resourceId))?.rmm;\n }\n\n /**\n * Returns all active (refCount > 0, not mid-destroy) RMM instances.\n * Used by RMMWebSocketBridge for reconnection version sync.\n */\n getActiveInstances(): Array<{ key: string; resourceType: string; resourceId: string; rmm: ResourceMutationManager }> {\n const active: ActiveInstancesSnapshot = [];\n for (const [key, entry] of this._instances) {\n if (entry.refCount > 0 && !entry.destroying) {\n const colonIdx = key.indexOf(':');\n if (colonIdx < 0) continue;\n const resourceType = key.substring(0, colonIdx);\n const resourceId = key.substring(colonIdx + 1);\n active.push({ key, resourceType, resourceId, rmm: entry.rmm });\n }\n }\n return active;\n }\n\n subscribeActiveInstances(\n listener: (instances: ActiveInstancesSnapshot) => void,\n ): () => void {\n this._activeInstanceListeners.add(listener);\n listener(this.getActiveInstances());\n return () => {\n this._activeInstanceListeners.delete(listener);\n };\n }\n\n notifyInstanceRuntimeChanged(): void {\n this._emitActiveInstancesChanged();\n }\n\n keyFor(resourceType: string, resourceId: string): string {\n return `${resourceType}:${resourceId}`;\n }\n\n release(key: string): void {\n const entry = this._instances.get(key);\n if (!entry) return;\n\n entry.refCount--;\n\n logDebug('release', { key, refCount: entry.refCount });\n\n if (entry.refCount <= 0) {\n entry.refCount = 0;\n if (!entry.destroyTimer) {\n entry.destroyTimer = setTimeout(() => {\n entry.destroyTimer = null;\n entry.destroying = true;\n logDebug('release: destroy timer fired', { key });\n\n entry.rmm.destroy()\n .then(() => this.remove(key))\n .catch(() => {\n logDebug('release: destroy failed, force-removing', { key });\n this.remove(key);\n });\n }, RMM_REGISTRY_DESTROY_DELAY_MS);\n }\n }\n this._emitActiveInstancesChanged();\n }\n\n remove(key: string): void {\n const entry = this._instances.get(key);\n if (!entry) return;\n\n if (entry.destroyTimer) {\n clearTimeout(entry.destroyTimer);\n }\n this._instances.delete(key);\n\n logDebug('remove', { key, remainingInstances: this._instances.size });\n this._emitActiveInstancesChanged();\n }\n\n destroy(): void {\n logDebug('destroy: cleaning up all instances', { count: this._instances.size });\n\n for (const [key, entry] of this._instances) {\n if (entry.destroyTimer) {\n clearTimeout(entry.destroyTimer);\n }\n entry.rmm.destroy().catch(() => {\n logDebug('destroy: instance cleanup failed', { key });\n });\n }\n this._instances.clear();\n this._emitActiveInstancesChanged();\n }\n\n /**\n * Evict the least-recently-used idle instance when at capacity.\n * Only entries with refCount === 0 are eligible. If no evictable entry\n * exists, log a warning but allow creation (soft limit).\n */\n private _evictIfNeeded(): void {\n if (this._instances.size < this.MAX_INSTANCES) return;\n\n let lruKey: string | null = null;\n let lruTime = Infinity;\n\n for (const [key, entry] of this._instances) {\n if (entry.refCount === 0 && entry.lastAccessedAt < lruTime) {\n lruKey = key;\n lruTime = entry.lastAccessedAt;\n }\n }\n\n if (lruKey) {\n const entry = this._instances.get(lruKey)!;\n if (entry.destroyTimer) {\n clearTimeout(entry.destroyTimer);\n }\n logDebug('_evictIfNeeded: evicting LRU', { key: lruKey, lastAccessedAt: lruTime });\n entry.rmm.destroy().catch(() => {\n logDebug('_evictIfNeeded: eviction cleanup failed', { key: lruKey });\n });\n this._instances.delete(lruKey);\n } else {\n logger.warn('RMMRegistry at capacity with no idle instances to evict', {\n instanceCount: this._instances.size,\n maxInstances: this.MAX_INSTANCES,\n });\n }\n }\n\n /**\n * Notify active-instance observers (today: `RMMWebSocketBridge`) that the live\n * RMM set — or an instance's runtime routing — changed.\n *\n * The notification is intentionally **deferred to a microtask**, never run\n * synchronously. The main caller, `getOrCreate`, is invoked from inside a React\n * `useMemo` in `useResourceRMM` — i.e. during the *render phase*. The bridge\n * observer reacts by claiming/releasing WebSocket rooms, which calls\n * `setSubscribedRooms` on the ancestor `WebSocketProvider`. Running that\n * synchronously is a `setState` on an ancestor *during a descendant's render*\n * — React's \"Cannot update a component while rendering a different component\"\n * violation, and the closing edge of a paced render loop that froze any surface\n * embedding an RMM-attached displayer (the todos CREATE route, which embeds a\n * composite read view, 2026-06-27). Deferring to a microtask moves the observer\n * side effects out of render, breaking the loop regardless of which upstream\n * dependency churns the acquiring memo.\n *\n * Emits are coalesced: many calls within one synchronous task (e.g. several\n * displayers acquiring instances in the same render pass) collapse into a\n * single post-task notification carrying the latest snapshot. The initial,\n * non-render-phase sync is still delivered synchronously by\n * `subscribeActiveInstances` at subscription time.\n */\n private _emitActiveInstancesChanged(): void {\n if (this._activeInstanceListeners.size === 0) {\n return;\n }\n if (this._activeInstancesEmitScheduled) {\n return;\n }\n this._activeInstancesEmitScheduled = true;\n queueMicrotask(() => {\n this._activeInstancesEmitScheduled = false;\n if (this._activeInstanceListeners.size === 0) {\n return;\n }\n const snapshot = this.getActiveInstances();\n for (const listener of this._activeInstanceListeners) {\n listener(snapshot);\n }\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"RMMRegistry.js","sourceRoot":"","sources":["../../../../../src/core/resources/rmm/RMMRegistry.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * RMMRegistry — Global singleton managing RMM instances with ref counting.\n *\n * Pure TypeScript (no React). Instances are keyed by `${resourceType}:${resourceId}`.\n * Ref counting + deferred destruction (100ms) ensures React Strict Mode safety:\n * unmount→remount within the same tick reuses the existing instance.\n *\n * LRU eviction at capacity targets idle instances (refCount === 0) first.\n * Active instances are never evicted — the limit is soft.\n */\n\nimport { ResourceMutationManager } from './ResourceMutationManager';\nimport type { ResourceMutationManagerConfig } from './types';\nimport {\n RMM_REGISTRY_CAPACITY_WARNING,\n RMM_REGISTRY_DESTROY_DELAY_MS,\n RMM_REGISTRY_MAX_INSTANCES,\n} from './rmm-constants';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\n\nconst logger = LoggerFrontendService.getLogger();\nconst logDebug = logger.debugByType('RMMRegistry');\nlogger.setDebugTypeLogging('RMMRegistry', false);\n\nexport interface RMMRegistryOptions {\n maxInstances?: number;\n}\n\ninterface RegistryEntry {\n rmm: ResourceMutationManager;\n refCount: number;\n destroyTimer: ReturnType<typeof setTimeout> | null;\n lastAccessedAt: number;\n /** Set when the async destroy() sequence has started. Prevents reuse of a half-destroyed RMM. */\n destroying: boolean;\n}\n\ntype ActiveInstancesSnapshot = Array<{ key: string; resourceType: string; resourceId: string; rmm: ResourceMutationManager }>;\n\nexport class RMMRegistry {\n private _instances: Map<string, RegistryEntry> = new Map();\n private _activeInstanceListeners = new Set<(instances: ActiveInstancesSnapshot) => void>();\n /**\n * Coalescing flag for the deferred active-instance notification. See\n * `_emitActiveInstancesChanged` — notifications are flushed on a microtask so\n * a render-phase caller (`getOrCreate` inside `useResourceRMM`'s `useMemo`)\n * can never drive an observer's `setState` during render.\n */\n private _activeInstancesEmitScheduled = false;\n private readonly MAX_INSTANCES: number;\n private _clockOffset: number = 0;\n\n constructor(options?: RMMRegistryOptions) {\n this.MAX_INSTANCES = options?.maxInstances ?? RMM_REGISTRY_MAX_INSTANCES;\n logDebug('constructor', { maxInstances: this.MAX_INSTANCES });\n }\n\n get clockOffset(): number {\n return this._clockOffset;\n }\n\n /**\n * Sets the clock offset and propagates it to all active RMM instances.\n * Called by the calibration effect in RMMRegistryProvider.\n */\n setClockOffset(offset: number): void {\n this._clockOffset = offset;\n for (const [, entry] of this._instances) {\n if (entry.refCount > 0 && !entry.destroying) {\n entry.rmm.clockOffset = offset;\n }\n }\n }\n\n getOrCreate(\n resourceType: string,\n resourceId: string,\n config: ResourceMutationManagerConfig,\n ): ResourceMutationManager {\n const key = this.keyFor(resourceType, resourceId);\n const existing = this._instances.get(key);\n\n if (existing && !existing.destroying) {\n if (existing.destroyTimer) {\n clearTimeout(existing.destroyTimer);\n existing.destroyTimer = null;\n logDebug('getOrCreate: cancelled pending destroy', { key });\n }\n const previousReadOperationPathKey = existing.rmm.readOperationPathKey;\n if (\n config.readOperationPathKey !== undefined\n && previousReadOperationPathKey !== undefined\n && config.readOperationPathKey !== previousReadOperationPathKey\n ) {\n logger.warn('RMMRegistry updating canonical read path on reused instance', {\n key,\n previousReadOperationPathKey,\n nextReadOperationPathKey: config.readOperationPathKey,\n });\n }\n existing.rmm.syncRuntimeRoutingConfig({\n transportAdapter: config.transportAdapter,\n currentUserId: config.currentUserId,\n contextResourceIdentifiers: config.contextResourceIdentifiers,\n contextualParameters: config.contextualParameters,\n parentResourcesRequirements: config.parentResourcesRequirements,\n operationPathKey: config.operationPathKey,\n readOperationPathKey: config.readOperationPathKey,\n conflictPolicy: config.conflictPolicy,\n resourceSchema: config.resourceSchema,\n });\n // Registry identity is resourceType + resourceId, not route instance. A\n // reused RMM therefore has to resync transport/context/read-path inputs on\n // every acquisition so navigation changes do not leave a live instance on\n // stale runtime routing.\n existing.refCount++;\n existing.lastAccessedAt = Date.now();\n\n logDebug('getOrCreate: reused', {\n key,\n refCount: existing.refCount,\n });\n\n this._emitActiveInstancesChanged();\n return existing.rmm;\n }\n\n if (existing?.destroying) {\n logDebug('getOrCreate: old instance mid-destroy, replacing', { key });\n this._instances.delete(key);\n }\n\n this._evictIfNeeded();\n\n const rmm = new ResourceMutationManager(config);\n if (this._clockOffset !== 0) {\n rmm.clockOffset = this._clockOffset;\n }\n this._instances.set(key, {\n rmm,\n refCount: 1,\n destroyTimer: null,\n lastAccessedAt: Date.now(),\n destroying: false,\n });\n\n logDebug('getOrCreate: created', {\n key,\n instanceCount: this._instances.size,\n });\n\n if (this._instances.size >= this.MAX_INSTANCES * RMM_REGISTRY_CAPACITY_WARNING) {\n logger.warn('RMMRegistry approaching capacity', {\n current: this._instances.size,\n max: this.MAX_INSTANCES,\n });\n }\n\n this._emitActiveInstancesChanged();\n return rmm;\n }\n\n get(resourceType: string, resourceId: string): ResourceMutationManager | undefined {\n return this._instances.get(this.keyFor(resourceType, resourceId))?.rmm;\n }\n\n /**\n * Returns all active (refCount > 0, not mid-destroy) RMM instances.\n * Used by RMMWebSocketBridge for reconnection version sync.\n */\n getActiveInstances(): Array<{ key: string; resourceType: string; resourceId: string; rmm: ResourceMutationManager }> {\n const active: ActiveInstancesSnapshot = [];\n for (const [key, entry] of this._instances) {\n if (entry.refCount > 0 && !entry.destroying) {\n const colonIdx = key.indexOf(':');\n if (colonIdx < 0) continue;\n const resourceType = key.substring(0, colonIdx);\n const resourceId = key.substring(colonIdx + 1);\n active.push({ key, resourceType, resourceId, rmm: entry.rmm });\n }\n }\n return active;\n }\n\n subscribeActiveInstances(\n listener: (instances: ActiveInstancesSnapshot) => void,\n ): () => void {\n this._activeInstanceListeners.add(listener);\n listener(this.getActiveInstances());\n return () => {\n this._activeInstanceListeners.delete(listener);\n };\n }\n\n notifyInstanceRuntimeChanged(): void {\n this._emitActiveInstancesChanged();\n }\n\n keyFor(resourceType: string, resourceId: string): string {\n return `${resourceType}:${resourceId}`;\n }\n\n release(key: string): void {\n const entry = this._instances.get(key);\n if (!entry) return;\n\n entry.refCount--;\n\n logDebug('release', { key, refCount: entry.refCount });\n\n if (entry.refCount <= 0) {\n entry.refCount = 0;\n if (!entry.destroyTimer) {\n entry.destroyTimer = setTimeout(() => {\n entry.destroyTimer = null;\n entry.destroying = true;\n logDebug('release: destroy timer fired', { key });\n\n entry.rmm.destroy()\n .then(() => this.remove(key))\n .catch(() => {\n logDebug('release: destroy failed, force-removing', { key });\n this.remove(key);\n });\n }, RMM_REGISTRY_DESTROY_DELAY_MS);\n }\n }\n this._emitActiveInstancesChanged();\n }\n\n remove(key: string): void {\n const entry = this._instances.get(key);\n if (!entry) return;\n\n if (entry.destroyTimer) {\n clearTimeout(entry.destroyTimer);\n }\n this._instances.delete(key);\n\n logDebug('remove', { key, remainingInstances: this._instances.size });\n this._emitActiveInstancesChanged();\n }\n\n destroy(): void {\n logDebug('destroy: cleaning up all instances', { count: this._instances.size });\n\n for (const [key, entry] of this._instances) {\n if (entry.destroyTimer) {\n clearTimeout(entry.destroyTimer);\n }\n entry.rmm.destroy().catch(() => {\n logDebug('destroy: instance cleanup failed', { key });\n });\n }\n this._instances.clear();\n this._emitActiveInstancesChanged();\n }\n\n /**\n * Evict the least-recently-used idle instance when at capacity.\n * Only entries with refCount === 0 are eligible. If no evictable entry\n * exists, log a warning but allow creation (soft limit).\n */\n private _evictIfNeeded(): void {\n if (this._instances.size < this.MAX_INSTANCES) return;\n\n let lruKey: string | null = null;\n let lruTime = Infinity;\n\n for (const [key, entry] of this._instances) {\n if (entry.refCount === 0 && entry.lastAccessedAt < lruTime) {\n lruKey = key;\n lruTime = entry.lastAccessedAt;\n }\n }\n\n if (lruKey) {\n const entry = this._instances.get(lruKey)!;\n if (entry.destroyTimer) {\n clearTimeout(entry.destroyTimer);\n }\n logDebug('_evictIfNeeded: evicting LRU', { key: lruKey, lastAccessedAt: lruTime });\n entry.rmm.destroy().catch(() => {\n logDebug('_evictIfNeeded: eviction cleanup failed', { key: lruKey });\n });\n this._instances.delete(lruKey);\n } else {\n logger.warn('RMMRegistry at capacity with no idle instances to evict', {\n instanceCount: this._instances.size,\n maxInstances: this.MAX_INSTANCES,\n });\n }\n }\n\n /**\n * Notify active-instance observers (today: `RMMWebSocketBridge`) that the live\n * RMM set — or an instance's runtime routing — changed.\n *\n * The notification is intentionally **deferred to a microtask**, never run\n * synchronously. The main caller, `getOrCreate`, is invoked from inside a React\n * `useMemo` in `useResourceRMM` — i.e. during the *render phase*. The bridge\n * observer reacts by claiming/releasing WebSocket rooms, which calls\n * `setSubscribedRooms` on the ancestor `WebSocketProvider`. Running that\n * synchronously is a `setState` on an ancestor *during a descendant's render*\n * — React's \"Cannot update a component while rendering a different component\"\n * violation, and the closing edge of a paced render loop that froze any surface\n * embedding an RMM-attached displayer (the todos CREATE route, which embeds a\n * composite read view, 2026-06-27). Deferring to a microtask moves the observer\n * side effects out of render, breaking the loop regardless of which upstream\n * dependency churns the acquiring memo.\n *\n * Emits are coalesced: many calls within one synchronous task (e.g. several\n * displayers acquiring instances in the same render pass) collapse into a\n * single post-task notification carrying the latest snapshot. The initial,\n * non-render-phase sync is still delivered synchronously by\n * `subscribeActiveInstances` at subscription time.\n */\n private _emitActiveInstancesChanged(): void {\n if (this._activeInstanceListeners.size === 0) {\n return;\n }\n if (this._activeInstancesEmitScheduled) {\n return;\n }\n this._activeInstancesEmitScheduled = true;\n queueMicrotask(() => {\n this._activeInstancesEmitScheduled = false;\n if (this._activeInstanceListeners.size === 0) {\n return;\n }\n const snapshot = this.getActiveInstances();\n for (const listener of this._activeInstanceListeners) {\n listener(snapshot);\n }\n });\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RMMRegistryContext.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"RMMRegistryContext.d.ts","sourceRoot":"","sources":["../../../../../src/core/resources/rmm/RMMRegistryContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAoD,MAAM,OAAO,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AA4DxD;;GAEG;AACH,eAAO,MAAM,kBAAkB,4BAAoD,CAAC;AAEpF,UAAU,wBAAwB;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,wBAAwB,GAAG,KAAK,CAAC,YAAY,CA2CnH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RMMRegistryContext.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"RMMRegistryContext.js","sourceRoot":"","sources":["../../../../../src/core/resources/rmm/RMMRegistryContext.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * RMM Registry Context + Provider\n *\n * Follows the same pattern as ResourceRegistryContext.tsx:\n * - createContext<T | undefined>(undefined)\n * - Hook in separate file (useResourceMutationManager.ts) for React Fast Refresh\n * - Provider cleanup on unmount\n *\n * The registry is created once per app lifetime. Options changes require app remount.\n * The provider does NOT inject currentUserId — that's done in useResourceMutationManager\n * which reads from useUserOrgs(). This keeps the provider decoupled from auth context.\n *\n * Clock offset calibration uses NTP-style min-RTT sampling against `/health/time`.\n */\n\nimport React, { createContext, useEffect, useMemo, useRef } from 'react';\nimport type { ReactNode } from 'react';\nimport { WildoHeaderKeys, ENGINE_ROOT_ROUTES, EngineRootRouteKey } from '@wildo-ai/saas-models';\nimport { RMMRegistry } from './RMMRegistry';\nimport type { RMMRegistryOptions } from './RMMRegistry';\nimport {\n CLOCK_SYNC_RECALIBRATE_INTERVAL_MS,\n CLOCK_SYNC_SAMPLE_COUNT,\n CLOCK_SYNC_STALE_THRESHOLD_MS,\n} from './rmm-constants';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\n\nconst clockLogger = LoggerFrontendService.getLogger();\nconst logDebug = clockLogger.debugByType('RMMClockSync');\nclockLogger.setDebugTypeLogging('RMMClockSync', false);\n\ninterface ClockSample {\n offset: number;\n rtt: number;\n}\n\nfunction calibrateClockOffset(samples: ClockSample[]): number {\n if (samples.length === 0) return 0;\n const bestSample = samples.reduce((best, s) => s.rtt < best.rtt ? s : best);\n return bestSample.offset;\n}\n\nasync function collectCalibrationSamples(apiBaseUrl: string): Promise<ClockSample[]> {\n const samples: ClockSample[] = [];\n for (let i = 0; i < CLOCK_SYNC_SAMPLE_COUNT; i++) {\n try {\n const start = Date.now();\n const res = await fetch(`${apiBaseUrl}${ENGINE_ROOT_ROUTES[EngineRootRouteKey.HEALTH_TIME]}`);\n const end = Date.now();\n const serverTimeStr = res.headers.get(WildoHeaderKeys.X_SERVER_TIME);\n if (serverTimeStr) {\n const serverTime = Number(serverTimeStr);\n const rtt = end - start;\n const offset = serverTime - (end - rtt / 2);\n samples.push({ offset, rtt });\n }\n } catch {\n // Network error — skip this sample\n }\n }\n return samples;\n}\n\n/**\n * Runs a full calibration cycle: collect NTP-style samples, pick the\n * lowest-RTT sample, and push the offset into the registry.\n * Returns the timestamp at which calibration completed (for staleness tracking).\n */\nasync function runCalibration(apiBaseUrl: string, registry: RMMRegistry): Promise<number> {\n const samples = await collectCalibrationSamples(apiBaseUrl);\n if (samples.length > 0) {\n const offset = calibrateClockOffset(samples);\n const minRtt = samples.reduce((m, s) => Math.min(m, s.rtt), Number.POSITIVE_INFINITY);\n registry.setClockOffset(offset);\n logDebug('calibrated', { offset, sampleCount: samples.length, minRtt });\n }\n return Date.now();\n}\n\n/**\n * @internal — Use useResourceMutationManager() hook instead of accessing this directly\n */\nexport const RMMRegistryContext = createContext<RMMRegistry | undefined>(undefined);\n\ninterface RMMRegistryProviderProps {\n children: ReactNode;\n options?: RMMRegistryOptions;\n apiBaseUrl?: string;\n}\n\nexport function RMMRegistryProvider({ children, options, apiBaseUrl }: RMMRegistryProviderProps): React.ReactElement {\n // eslint-disable-next-line react-hooks/exhaustive-deps -- registry is app-level singleton, deps intentionally empty\n const registry = useMemo(() => new RMMRegistry(options), []);\n\n const lastCalibrationRef = useRef(0);\n\n // Clock calibration: initial + periodic\n useEffect(() => {\n if (!apiBaseUrl) return;\n\n runCalibration(apiBaseUrl, registry).then(ts => { lastCalibrationRef.current = ts; });\n\n const interval = setInterval(() => {\n runCalibration(apiBaseUrl, registry).then(ts => { lastCalibrationRef.current = ts; });\n }, CLOCK_SYNC_RECALIBRATE_INTERVAL_MS);\n\n return () => { clearInterval(interval); };\n }, [registry, apiBaseUrl]);\n\n // Clock calibration: recalibrate on tab becoming visible when stale\n useEffect(() => {\n if (!apiBaseUrl) return;\n\n function onVisibilityChange(): void {\n if (document.visibilityState !== 'visible') return;\n if (Date.now() - lastCalibrationRef.current >= CLOCK_SYNC_STALE_THRESHOLD_MS) {\n runCalibration(apiBaseUrl!, registry).then(ts => { lastCalibrationRef.current = ts; });\n }\n }\n\n document.addEventListener('visibilitychange', onVisibilityChange);\n return () => { document.removeEventListener('visibilitychange', onVisibilityChange); };\n }, [registry, apiBaseUrl]);\n\n useEffect(() => {\n return () => registry.destroy();\n }, [registry]);\n\n return (\n <RMMRegistryContext.Provider value={registry}>\n {children}\n </RMMRegistryContext.Provider>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RMMWebSocketBridge.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"RMMWebSocketBridge.d.ts","sourceRoot":"","sources":["../../../../../src/core/resources/rmm/RMMWebSocketBridge.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAgBH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAkFzE,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzB;AAED,wBAAsB,4BAA4B,CAAC,MAAM,EAAE;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,uBAAuB,CAAC;IAC7B,WAAW,EAAE,aAAa,CAAC;CAC5B,GAAG,OAAO,CAAC,IAAI,CAAC,CAwChB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EA4RtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RMMWebSocketBridge.js","sourceRoot":"","sources":["../../../../../../src/core/resources/rmm/RMMWebSocketBridge.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * RMMWebSocketBridge\n *\n * Routes synchronization-grade WebSocket resource events to active RMM instances.\n * Mounted once at app root inside both WebSocketProvider and RMMRegistryProvider.\n *\n * - `RESOURCE_UPDATED` with `deliveryTarget=RESOURCE_ROOM_SYNC` → path-aware replay\n * - `RESOURCE_UPDATED` with notification-grade delivery → authoritative refetch\n * - `RESOURCE_DELETED` → `rmm.handleDeletion(REMOTE)`\n *\n * Coexists with `WebSocketEventBridge`, which consumes both resource-room and\n * scope-room update notifications for generic refresh behavior.\n */\n\nimport { useCallback, useContext, useEffect, useMemo, useRef } from 'react';\nimport { useWebSocket } from '~wildo-frontend-lib/core/requests/websockets/useWebSocket';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport type { FrontendResource_ParentResourceRequirement } from '~wildo-frontend-lib/core/resources/resource-path.frontend.schemas';\nimport { RMMRegistryContext } from './RMMRegistryContext';\nimport { DeletionReason } from './types';\nimport type { FieldMetaEntry } from '@wildo-ai/saas-models';\nimport {\n CoreWebSocketEvent,\n WebSocketResourceDeliveryTarget,\n type WS_ResourceDeletedPayload,\n type WS_ResourceUpdatedPayload,\n} from '@wildo-ai/saas-models';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport type { DoOperationFn } from './HttpTransportAdapter';\nimport type { ResourceMutationManager } from './ResourceMutationManager';\nimport type { RMMRegistry } from './RMMRegistry';\nimport { CANONICAL_RMM_DATA_MODE, performCanonicalRMMRead } from './canonical-read.frontend.utils';\nimport { WebSocketResourceValidationService } from '~wildo-frontend-lib/core/requests/websockets/websocket-resource-validation.frontend.service';\n\nconst logger = LoggerFrontendService.getLogger();\nconst logDebug = logger.debugByType('RMMWebSocketBridge');\nlogger.setDebugTypeLogging('RMMWebSocketBridge', false);\n\nfunction isPlainRecord(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction areResourceValuesEqual(left: unknown, right: unknown): boolean {\n if (left === right) {\n return true;\n }\n\n if (left == null || right == null) {\n return left === right;\n }\n\n if (Array.isArray(left) || Array.isArray(right)) {\n if (!Array.isArray(left) || !Array.isArray(right) || left.length !== right.length) {\n return false;\n }\n return left.every((value, index) => areResourceValuesEqual(value, right[index]));\n }\n\n if (isPlainRecord(left) || isPlainRecord(right)) {\n if (!isPlainRecord(left) || !isPlainRecord(right)) {\n return false;\n }\n\n const keys = [...new Set([...Object.keys(left), ...Object.keys(right)])];\n return keys.every((key) => areResourceValuesEqual(left[key], right[key]));\n }\n\n return false;\n}\n\nfunction collectPathAwareFieldDiff(\n incoming: unknown,\n current: unknown,\n prefix = '',\n changed: Record<string, unknown> = {},\n): Record<string, unknown> {\n if (areResourceValuesEqual(incoming, current)) {\n return changed;\n }\n\n if (Array.isArray(incoming) || Array.isArray(current)) {\n if (prefix) {\n changed[prefix] = incoming;\n }\n return changed;\n }\n\n if (isPlainRecord(incoming) && isPlainRecord(current)) {\n const keys = [...new Set([...Object.keys(incoming), ...Object.keys(current)])];\n for (const key of keys) {\n const nextPrefix = prefix ? `${prefix}.${key}` : key;\n collectPathAwareFieldDiff(incoming[key], current[key], nextPrefix, changed);\n }\n return changed;\n }\n\n if (isPlainRecord(incoming)) {\n for (const [key, value] of Object.entries(incoming)) {\n const nextPrefix = prefix ? `${prefix}.${key}` : key;\n collectPathAwareFieldDiff(value, undefined, nextPrefix, changed);\n }\n return changed;\n }\n\n if (prefix) {\n changed[prefix] = incoming;\n }\n\n return changed;\n}\n\nexport function diffResourceFieldPaths(\n incoming: Record<string, unknown>,\n current: Record<string, unknown>,\n): Record<string, unknown> {\n return collectPathAwareFieldDiff(incoming, current);\n}\n\nexport async function refetchAuthoritativeRMMState(params: {\n resourceType: string;\n resourceId: string;\n rmm: ResourceMutationManager;\n doOperation: DoOperationFn;\n}): Promise<void> {\n const { resourceType, resourceId, rmm, doOperation } = params;\n const snapshot = rmm.getSnapshot();\n if (snapshot.isDeleted) {\n return;\n }\n const readOperationPathKey = rmm.readOperationPathKey;\n if (!readOperationPathKey) {\n logDebug('authoritative refetch skipped: missing canonical read operation', {\n resourceType,\n resourceId,\n });\n return;\n }\n\n const freshData = await performCanonicalRMMRead({\n doOperation,\n readOperationPathKey,\n contextualParameters: rmm.contextualParameters,\n parentResourcesRequirements: rmm.parentResourcesRequirements as FrontendResource_ParentResourceRequirement[] | undefined,\n });\n\n if (!freshData || typeof freshData !== 'object') {\n return;\n }\n\n const data = freshData as Record<string, unknown>;\n const serverVersion = data._version as number | undefined;\n\n // Websocket-side refetches never blindly reseed local state. Only a newer\n // authoritative version is allowed to replace the current confirmed snapshot.\n if (serverVersion != null && (snapshot.version == null || serverVersion > snapshot.version)) {\n logDebug('authoritative refetch: applying newer state', {\n resourceType,\n resourceId,\n localVersion: snapshot.version,\n serverVersion,\n });\n rmm.setInitialState(data, serverVersion, data._field_meta as Record<string, FieldMetaEntry> | undefined);\n }\n}\n\nexport const RMMWebSocketBridge: React.FC = () => {\n const {\n on,\n isConnected,\n connectionCount,\n claimResourceRoom,\n releaseResourceRoom,\n } = useWebSocket();\n const registry = useContext(RMMRegistryContext);\n const { doOperation, getResourcesRegistry } = useResourceRegistry();\n const resourcesRegistry = useMemo(() => getResourcesRegistry(), [getResourcesRegistry]);\n const validationService = useMemo(() => {\n return new WebSocketResourceValidationService(resourcesRegistry);\n }, [resourcesRegistry]);\n\n const doOperationRef = useRef(doOperation);\n doOperationRef.current = doOperation;\n const refetchingKeysRef = useRef(new Set<string>());\n const claimedRoomOwnerKeysRef = useRef(new Set<string>());\n const claimedRoomParamsRef = useRef(new Map<string, {\n resourceType: string;\n resourceId: string;\n contextResourceIdentifiers: Record<string, string>;\n }>());\n\n const scheduleAuthoritativeRefetch = useCallback((\n resourceType: string,\n resourceId: string,\n rmm: ResourceMutationManager,\n ) => {\n const key = `${resourceType}:${resourceId}`;\n // Deduplicate only concurrent authoritative rereads for the same resource.\n // This avoids fan-out storms without blocking normal optimistic mutation\n // processing inside the RMM itself.\n if (refetchingKeysRef.current.has(key)) {\n return;\n }\n\n refetchingKeysRef.current.add(key);\n refetchAuthoritativeRMMState({\n resourceType,\n resourceId,\n rmm,\n doOperation: doOperationRef.current,\n }).catch((error: unknown) => {\n logDebug('authoritative refetch failed', {\n resourceType,\n resourceId,\n error: error instanceof Error ? error.message : String(error),\n });\n }).finally(() => {\n refetchingKeysRef.current.delete(key);\n });\n }, []);\n\n const syncClaimedResourceRooms = useCallback(async (\n activeInstances: ReturnType<RMMRegistry['getActiveInstances']>,\n ) => {\n const nextOwnerKeys = new Set(activeInstances.map(({ key }) => `rmm:${key}`));\n\n for (const ownerKey of claimedRoomOwnerKeysRef.current) {\n if (nextOwnerKeys.has(ownerKey)) {\n continue;\n }\n const roomParams = claimedRoomParamsRef.current.get(ownerKey);\n if (!roomParams) {\n continue;\n }\n await releaseResourceRoom({\n ownerKey,\n resourceType: roomParams.resourceType,\n resourceId: roomParams.resourceId,\n contextResourceIdentifiers: roomParams.contextResourceIdentifiers,\n });\n claimedRoomParamsRef.current.delete(ownerKey);\n }\n\n for (const { key, resourceType, resourceId, rmm } of activeInstances) {\n const ownerKey = `rmm:${key}`;\n claimedRoomParamsRef.current.set(ownerKey, {\n resourceType,\n resourceId,\n contextResourceIdentifiers: rmm.contextResourceIdentifiers,\n });\n await claimResourceRoom({\n ownerKey,\n resourceType,\n resourceId,\n contextResourceIdentifiers: rmm.contextResourceIdentifiers,\n });\n }\n\n claimedRoomOwnerKeysRef.current = nextOwnerKeys;\n }, [claimResourceRoom, releaseResourceRoom]);\n\n useEffect(() => {\n if (!registry) {\n return;\n }\n\n const unsubscribe = registry.subscribeActiveInstances((activeInstances) => {\n void syncClaimedResourceRooms(activeInstances);\n });\n\n return () => {\n unsubscribe();\n const ownerKeys = Array.from(claimedRoomOwnerKeysRef.current);\n claimedRoomOwnerKeysRef.current.clear();\n for (const ownerKey of ownerKeys) {\n const roomParams = claimedRoomParamsRef.current.get(ownerKey);\n if (!roomParams) {\n continue;\n }\n void releaseResourceRoom({\n ownerKey,\n resourceType: roomParams.resourceType,\n resourceId: roomParams.resourceId,\n contextResourceIdentifiers: roomParams.contextResourceIdentifiers,\n });\n claimedRoomParamsRef.current.delete(ownerKey);\n }\n };\n }, [registry, releaseResourceRoom, syncClaimedResourceRooms]);\n\n useEffect(() => {\n if (!isConnected || !registry) return;\n\n const unsubUpdated = on<WS_ResourceUpdatedPayload>(\n CoreWebSocketEvent.RESOURCE_UPDATED,\n (payload) => {\n // Decision tree:\n // - scope-room notification -> refetch every affected local RMM\n // - resource-room notification -> refetch that one RMM\n // - resource-room sync -> validate canonical replay data, then apply it\n // directly when the payload is authoritative enough\n if (payload.deliveryTarget === WebSocketResourceDeliveryTarget.SCOPE_ROOM_NOTIFICATION) {\n const affectedResourceIds = new Set<string>([\n payload.resourceId,\n ...(payload.affectedIds ?? []),\n ].filter((value): value is string => Boolean(value)));\n for (const resourceId of affectedResourceIds) {\n const rmm = registry.get(payload.resourceType, resourceId);\n if (!rmm) {\n continue;\n }\n scheduleAuthoritativeRefetch(payload.resourceType, resourceId, rmm);\n }\n return;\n }\n\n const rmm = registry.get(payload.resourceType, payload.resourceId);\n if (!rmm) return;\n\n if (payload.deliveryTarget !== WebSocketResourceDeliveryTarget.RESOURCE_ROOM_SYNC) {\n logDebug('RESOURCE_UPDATED: notification-grade resource room update, scheduling authoritative refetch', {\n resourceType: payload.resourceType,\n resourceId: payload.resourceId,\n deliveryTarget: payload.deliveryTarget,\n });\n scheduleAuthoritativeRefetch(payload.resourceType, payload.resourceId, rmm);\n return;\n }\n\n const resourceData = payload.resourceData;\n const version = payload.version;\n\n if (!isPlainRecord(resourceData) || version == null) {\n logDebug('RESOURCE_UPDATED: sync payload missing replayable object data, scheduling authoritative refetch', {\n resourceType: payload.resourceType,\n resourceId: payload.resourceId,\n });\n scheduleAuthoritativeRefetch(payload.resourceType, payload.resourceId, rmm);\n return;\n }\n\n let validatedResourceData: Record<string, unknown>;\n try {\n validatedResourceData = validationService.validateWebSocketResourceData<Record<string, unknown>>(\n resourceData,\n {\n resourceType: payload.resourceType,\n operationPathKey: rmm.readOperationPathKey,\n operationIdentifier: payload.operationIdentifier,\n variantType: payload.variantType,\n variantKey: payload.variantKey,\n isOperationDefault: payload.isOperationDefault,\n isBulkOperation: payload.isBulkOperation,\n dataMode: CANONICAL_RMM_DATA_MODE,\n validationTarget: 'canonical-read',\n },\n );\n } catch (error) {\n logDebug('RESOURCE_UPDATED: sync payload failed canonical-read validation, scheduling authoritative refetch', {\n resourceType: payload.resourceType,\n resourceId: payload.resourceId,\n error: error instanceof Error ? error.message : String(error),\n });\n scheduleAuthoritativeRefetch(payload.resourceType, payload.resourceId, rmm);\n return;\n }\n\n const snapshot = rmm.getSnapshot();\n const confirmedData: Record<string, unknown> = snapshot.confirmedData ?? {};\n const changedFields = diffResourceFieldPaths(validatedResourceData, confirmedData);\n\n if (Object.keys(changedFields).length === 0 && version === snapshot.version) {\n logDebug('RESOURCE_UPDATED: no changes detected, skipping', {\n resourceType: payload.resourceType,\n resourceId: payload.resourceId,\n version,\n });\n return;\n }\n\n logDebug('RESOURCE_UPDATED → applyRemoteUpdate', {\n resourceType: payload.resourceType,\n resourceId: payload.resourceId,\n version,\n changedFieldCount: Object.keys(changedFields).length,\n initiatorUserId: payload.initiatorUserId,\n });\n\n rmm.applyRemoteUpdate(\n changedFields,\n version,\n payload.initiatorUserId,\n payload.fieldMeta,\n );\n },\n );\n\n const unsubDeleted = on<WS_ResourceDeletedPayload>(\n CoreWebSocketEvent.RESOURCE_DELETED,\n (payload) => {\n const rmm = registry.get(payload.resourceType, payload.resourceId);\n if (!rmm) return;\n\n logDebug('RESOURCE_DELETED → handleDeletion', {\n resourceType: payload.resourceType,\n resourceId: payload.resourceId,\n initiatorUserId: payload.initiatorUserId,\n });\n\n rmm.handleDeletion(DeletionReason.REMOTE, payload.initiatorUserId);\n },\n );\n\n return () => {\n unsubUpdated();\n unsubDeleted();\n };\n }, [isConnected, on, registry, scheduleAuthoritativeRefetch, validationService]);\n\n const prevConnectionCountRef = useRef(connectionCount);\n\n useEffect(() => {\n if (!registry) return;\n\n if (prevConnectionCountRef.current === 0) {\n prevConnectionCountRef.current = connectionCount;\n return;\n }\n\n if (connectionCount <= prevConnectionCountRef.current) return;\n prevConnectionCountRef.current = connectionCount;\n\n const activeInstances = registry.getActiveInstances();\n if (activeInstances.length === 0) return;\n\n // Reconnection is treated as a potential gap in incremental websocket\n // delivery, so active rooms are re-synced and every live RMM gets one\n // authoritative reread.\n logDebug('reconnection detected — syncing versions', {\n connectionCount,\n activeRMMCount: activeInstances.length,\n });\n\n void syncClaimedResourceRooms(activeInstances);\n for (const { resourceType, resourceId, rmm } of activeInstances) {\n scheduleAuthoritativeRefetch(resourceType, resourceId, rmm);\n }\n }, [connectionCount, registry, scheduleAuthoritativeRefetch, syncClaimedResourceRooms]);\n\n return null;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"RMMWebSocketBridge.js","sourceRoot":"","sources":["../../../../../src/core/resources/rmm/RMMWebSocketBridge.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAE7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EACL,kBAAkB,EAClB,+BAA+B,GAGhC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AAIpG,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AACnG,OAAO,EAAE,kCAAkC,EAAE,MAAM,6FAA6F,CAAC;AAEjJ,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,EAAE,CAAC;AACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAC1D,MAAM,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AAExD,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAa,EAAE,KAAc;IAC3D,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClC,OAAO,IAAI,KAAK,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAClF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAChC,QAAiB,EACjB,OAAgB,EAChB,MAAM,GAAG,EAAE,EACX,UAAmC,EAAE;IAErC,IAAI,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;QAC9C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;QAC7B,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YACrD,yBAAyB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YACrD,yBAAyB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,QAAiC,EACjC,OAAgC;IAEhC,OAAO,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,MAKlD;IACC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAC9D,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IACD,MAAM,oBAAoB,GAAG,GAAG,CAAC,oBAAoB,CAAC;IACtD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,QAAQ,CAAC,iEAAiE,EAAE;YAC1E,YAAY;YACZ,UAAU;SACX,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC;QAC9C,WAAW;QACX,oBAAoB;QACpB,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;QAC9C,2BAA2B,EAAE,GAAG,CAAC,2BAAuF;KACzH,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,SAAoC,CAAC;IAClD,MAAM,aAAa,GAAG,IAAI,CAAC,QAA8B,CAAC;IAE1D,0EAA0E;IAC1E,8EAA8E;IAC9E,IAAI,aAAa,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,IAAI,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5F,QAAQ,CAAC,6CAA6C,EAAE;YACtD,YAAY;YACZ,UAAU;YACV,YAAY,EAAE,QAAQ,CAAC,OAAO;YAC9B,aAAa;SACd,CAAC,CAAC;QACH,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,WAAyD,CAAC,CAAC;IAC3G,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAa,GAAG,EAAE;IAC/C,MAAM,EACJ,EAAE,EACF,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,mBAAmB,GACpB,GAAG,YAAY,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAChD,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACpE,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACxF,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE;QACrC,OAAO,IAAI,kCAAkC,CAAC,iBAAiB,CAAC,CAAC;IACnE,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IACrC,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,GAAG,EAAU,CAAC,CAAC;IACpD,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,GAAG,EAAU,CAAC,CAAC;IAC1D,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,GAAG,EAIvC,CAAC,CAAC;IAEN,MAAM,4BAA4B,GAAG,WAAW,CAAC,CAC/C,YAAoB,EACpB,UAAkB,EAClB,GAA4B,EAC5B,EAAE;QACF,MAAM,GAAG,GAAG,GAAG,YAAY,IAAI,UAAU,EAAE,CAAC;QAC5C,2EAA2E;QAC3E,yEAAyE;QACzE,oCAAoC;QACpC,IAAI,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,4BAA4B,CAAC;YAC3B,YAAY;YACZ,UAAU;YACV,GAAG;YACH,WAAW,EAAE,cAAc,CAAC,OAAO;SACpC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC1B,QAAQ,CAAC,8BAA8B,EAAE;gBACvC,YAAY;gBACZ,UAAU;gBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACd,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,wBAAwB,GAAG,WAAW,CAAC,KAAK,EAChD,eAA8D,EAC9D,EAAE;QACF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;QAE9E,KAAK,MAAM,QAAQ,IAAI,uBAAuB,CAAC,OAAO,EAAE,CAAC;YACvD,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,SAAS;YACX,CAAC;YACD,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,MAAM,mBAAmB,CAAC;gBACxB,QAAQ;gBACR,YAAY,EAAE,UAAU,CAAC,YAAY;gBACrC,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,0BAA0B,EAAE,UAAU,CAAC,0BAA0B;aAClE,CAAC,CAAC;YACH,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,KAAK,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,eAAe,EAAE,CAAC;YACrE,MAAM,QAAQ,GAAG,OAAO,GAAG,EAAE,CAAC;YAC9B,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACzC,YAAY;gBACZ,UAAU;gBACV,0BAA0B,EAAE,GAAG,CAAC,0BAA0B;aAC3D,CAAC,CAAC;YACH,MAAM,iBAAiB,CAAC;gBACtB,QAAQ;gBACR,YAAY;gBACZ,UAAU;gBACV,0BAA0B,EAAE,GAAG,CAAC,0BAA0B;aAC3D,CAAC,CAAC;QACL,CAAC;QAED,uBAAuB,CAAC,OAAO,GAAG,aAAa,CAAC;IAClD,CAAC,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,wBAAwB,CAAC,CAAC,eAAe,EAAE,EAAE;YACxE,KAAK,wBAAwB,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,WAAW,EAAE,CAAC;YACd,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAC9D,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACxC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,SAAS;gBACX,CAAC;gBACD,KAAK,mBAAmB,CAAC;oBACvB,QAAQ;oBACR,YAAY,EAAE,UAAU,CAAC,YAAY;oBACrC,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,0BAA0B,EAAE,UAAU,CAAC,0BAA0B;iBAClE,CAAC,CAAC;gBACH,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAE9D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtC,MAAM,YAAY,GAAG,EAAE,CACrB,kBAAkB,CAAC,gBAAgB,EACnC,CAAC,OAAO,EAAE,EAAE;YACV,iBAAiB;YACjB,gEAAgE;YAChE,uDAAuD;YACvD,wEAAwE;YACxE,sDAAsD;YACtD,IAAI,OAAO,CAAC,cAAc,KAAK,+BAA+B,CAAC,uBAAuB,EAAE,CAAC;gBACvF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAS;oBAC1C,OAAO,CAAC,UAAU;oBAClB,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;iBAC/B,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtD,KAAK,MAAM,UAAU,IAAI,mBAAmB,EAAE,CAAC;oBAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;oBAC3D,IAAI,CAAC,GAAG,EAAE,CAAC;wBACT,SAAS;oBACX,CAAC;oBACD,4BAA4B,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;gBACtE,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YACnE,IAAI,CAAC,GAAG;gBAAE,OAAO;YAEjB,IAAI,OAAO,CAAC,cAAc,KAAK,+BAA+B,CAAC,kBAAkB,EAAE,CAAC;gBAClF,QAAQ,CAAC,6FAA6F,EAAE;oBACtG,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;iBACvC,CAAC,CAAC;gBACH,4BAA4B,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBAC5E,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;YAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAEhC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACpD,QAAQ,CAAC,iGAAiG,EAAE;oBAC1G,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,UAAU,EAAE,OAAO,CAAC,UAAU;iBAC/B,CAAC,CAAC;gBACH,4BAA4B,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBAC5E,OAAO;YACT,CAAC;YAED,IAAI,qBAA8C,CAAC;YACnD,IAAI,CAAC;gBACH,qBAAqB,GAAG,iBAAiB,CAAC,6BAA6B,CACrE,YAAY,EACZ;oBACE,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,gBAAgB,EAAE,GAAG,CAAC,oBAAoB;oBAC1C,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;oBAChD,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;oBAC9C,eAAe,EAAE,OAAO,CAAC,eAAe;oBACxC,QAAQ,EAAE,uBAAuB;oBACjC,gBAAgB,EAAE,gBAAgB;iBACnC,CACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,mGAAmG,EAAE;oBAC5G,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;gBACH,4BAA4B,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBAC5E,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,aAAa,GAA4B,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC;YAC5E,MAAM,aAAa,GAAG,sBAAsB,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC;YAEnF,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC5E,QAAQ,CAAC,iDAAiD,EAAE;oBAC1D,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,OAAO;iBACR,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,QAAQ,CAAC,sCAAsC,EAAE;gBAC/C,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO;gBACP,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM;gBACpD,eAAe,EAAE,OAAO,CAAC,eAAe;aACzC,CAAC,CAAC;YAEH,GAAG,CAAC,iBAAiB,CACnB,aAAa,EACb,OAAO,EACP,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,SAAS,CAClB,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,MAAM,YAAY,GAAG,EAAE,CACrB,kBAAkB,CAAC,gBAAgB,EACnC,CAAC,OAAO,EAAE,EAAE;YACV,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YACnE,IAAI,CAAC,GAAG;gBAAE,OAAO;YAEjB,QAAQ,CAAC,mCAAmC,EAAE;gBAC5C,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,eAAe,EAAE,OAAO,CAAC,eAAe;aACzC,CAAC,CAAC;YAEH,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACrE,CAAC,CACF,CAAC;QAEF,OAAO,GAAG,EAAE;YACV,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;QACjB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,4BAA4B,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEjF,MAAM,sBAAsB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,IAAI,sBAAsB,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YACzC,sBAAsB,CAAC,OAAO,GAAG,eAAe,CAAC;YACjD,OAAO;QACT,CAAC;QAED,IAAI,eAAe,IAAI,sBAAsB,CAAC,OAAO;YAAE,OAAO;QAC9D,sBAAsB,CAAC,OAAO,GAAG,eAAe,CAAC;QAEjD,MAAM,eAAe,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACtD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEzC,sEAAsE;QACtE,sEAAsE;QACtE,wBAAwB;QACxB,QAAQ,CAAC,0CAA0C,EAAE;YACnD,eAAe;YACf,cAAc,EAAE,eAAe,CAAC,MAAM;SACvC,CAAC,CAAC;QAEH,KAAK,wBAAwB,CAAC,eAAe,CAAC,CAAC;QAC/C,KAAK,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,eAAe,EAAE,CAAC;YAChE,4BAA4B,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,4BAA4B,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAExF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC","sourcesContent":["/**\n * RMMWebSocketBridge\n *\n * Routes synchronization-grade WebSocket resource events to active RMM instances.\n * Mounted once at app root inside both WebSocketProvider and RMMRegistryProvider.\n *\n * - `RESOURCE_UPDATED` with `deliveryTarget=RESOURCE_ROOM_SYNC` → path-aware replay\n * - `RESOURCE_UPDATED` with notification-grade delivery → authoritative refetch\n * - `RESOURCE_DELETED` → `rmm.handleDeletion(REMOTE)`\n *\n * Coexists with `WebSocketEventBridge`, which consumes both resource-room and\n * scope-room update notifications for generic refresh behavior.\n */\n\nimport { useCallback, useContext, useEffect, useMemo, useRef } from 'react';\nimport { useWebSocket } from '~wildo-frontend-lib/core/requests/websockets/useWebSocket';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport type { FrontendResource_ParentResourceRequirement } from '~wildo-frontend-lib/core/resources/resource-path.frontend.schemas';\nimport { RMMRegistryContext } from './RMMRegistryContext';\nimport { DeletionReason } from './types';\nimport type { FieldMetaEntry } from '@wildo-ai/saas-models';\nimport {\n CoreWebSocketEvent,\n WebSocketResourceDeliveryTarget,\n type WS_ResourceDeletedPayload,\n type WS_ResourceUpdatedPayload,\n} from '@wildo-ai/saas-models';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport type { DoOperationFn } from './HttpTransportAdapter';\nimport type { ResourceMutationManager } from './ResourceMutationManager';\nimport type { RMMRegistry } from './RMMRegistry';\nimport { CANONICAL_RMM_DATA_MODE, performCanonicalRMMRead } from './canonical-read.frontend.utils';\nimport { WebSocketResourceValidationService } from '~wildo-frontend-lib/core/requests/websockets/websocket-resource-validation.frontend.service';\n\nconst logger = LoggerFrontendService.getLogger();\nconst logDebug = logger.debugByType('RMMWebSocketBridge');\nlogger.setDebugTypeLogging('RMMWebSocketBridge', false);\n\nfunction isPlainRecord(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction areResourceValuesEqual(left: unknown, right: unknown): boolean {\n if (left === right) {\n return true;\n }\n\n if (left == null || right == null) {\n return left === right;\n }\n\n if (Array.isArray(left) || Array.isArray(right)) {\n if (!Array.isArray(left) || !Array.isArray(right) || left.length !== right.length) {\n return false;\n }\n return left.every((value, index) => areResourceValuesEqual(value, right[index]));\n }\n\n if (isPlainRecord(left) || isPlainRecord(right)) {\n if (!isPlainRecord(left) || !isPlainRecord(right)) {\n return false;\n }\n\n const keys = [...new Set([...Object.keys(left), ...Object.keys(right)])];\n return keys.every((key) => areResourceValuesEqual(left[key], right[key]));\n }\n\n return false;\n}\n\nfunction collectPathAwareFieldDiff(\n incoming: unknown,\n current: unknown,\n prefix = '',\n changed: Record<string, unknown> = {},\n): Record<string, unknown> {\n if (areResourceValuesEqual(incoming, current)) {\n return changed;\n }\n\n if (Array.isArray(incoming) || Array.isArray(current)) {\n if (prefix) {\n changed[prefix] = incoming;\n }\n return changed;\n }\n\n if (isPlainRecord(incoming) && isPlainRecord(current)) {\n const keys = [...new Set([...Object.keys(incoming), ...Object.keys(current)])];\n for (const key of keys) {\n const nextPrefix = prefix ? `${prefix}.${key}` : key;\n collectPathAwareFieldDiff(incoming[key], current[key], nextPrefix, changed);\n }\n return changed;\n }\n\n if (isPlainRecord(incoming)) {\n for (const [key, value] of Object.entries(incoming)) {\n const nextPrefix = prefix ? `${prefix}.${key}` : key;\n collectPathAwareFieldDiff(value, undefined, nextPrefix, changed);\n }\n return changed;\n }\n\n if (prefix) {\n changed[prefix] = incoming;\n }\n\n return changed;\n}\n\nexport function diffResourceFieldPaths(\n incoming: Record<string, unknown>,\n current: Record<string, unknown>,\n): Record<string, unknown> {\n return collectPathAwareFieldDiff(incoming, current);\n}\n\nexport async function refetchAuthoritativeRMMState(params: {\n resourceType: string;\n resourceId: string;\n rmm: ResourceMutationManager;\n doOperation: DoOperationFn;\n}): Promise<void> {\n const { resourceType, resourceId, rmm, doOperation } = params;\n const snapshot = rmm.getSnapshot();\n if (snapshot.isDeleted) {\n return;\n }\n const readOperationPathKey = rmm.readOperationPathKey;\n if (!readOperationPathKey) {\n logDebug('authoritative refetch skipped: missing canonical read operation', {\n resourceType,\n resourceId,\n });\n return;\n }\n\n const freshData = await performCanonicalRMMRead({\n doOperation,\n readOperationPathKey,\n contextualParameters: rmm.contextualParameters,\n parentResourcesRequirements: rmm.parentResourcesRequirements as FrontendResource_ParentResourceRequirement[] | undefined,\n });\n\n if (!freshData || typeof freshData !== 'object') {\n return;\n }\n\n const data = freshData as Record<string, unknown>;\n const serverVersion = data._version as number | undefined;\n\n // Websocket-side refetches never blindly reseed local state. Only a newer\n // authoritative version is allowed to replace the current confirmed snapshot.\n if (serverVersion != null && (snapshot.version == null || serverVersion > snapshot.version)) {\n logDebug('authoritative refetch: applying newer state', {\n resourceType,\n resourceId,\n localVersion: snapshot.version,\n serverVersion,\n });\n rmm.setInitialState(data, serverVersion, data._field_meta as Record<string, FieldMetaEntry> | undefined);\n }\n}\n\nexport const RMMWebSocketBridge: React.FC = () => {\n const {\n on,\n isConnected,\n connectionCount,\n claimResourceRoom,\n releaseResourceRoom,\n } = useWebSocket();\n const registry = useContext(RMMRegistryContext);\n const { doOperation, getResourcesRegistry } = useResourceRegistry();\n const resourcesRegistry = useMemo(() => getResourcesRegistry(), [getResourcesRegistry]);\n const validationService = useMemo(() => {\n return new WebSocketResourceValidationService(resourcesRegistry);\n }, [resourcesRegistry]);\n\n const doOperationRef = useRef(doOperation);\n doOperationRef.current = doOperation;\n const refetchingKeysRef = useRef(new Set<string>());\n const claimedRoomOwnerKeysRef = useRef(new Set<string>());\n const claimedRoomParamsRef = useRef(new Map<string, {\n resourceType: string;\n resourceId: string;\n contextResourceIdentifiers: Record<string, string>;\n }>());\n\n const scheduleAuthoritativeRefetch = useCallback((\n resourceType: string,\n resourceId: string,\n rmm: ResourceMutationManager,\n ) => {\n const key = `${resourceType}:${resourceId}`;\n // Deduplicate only concurrent authoritative rereads for the same resource.\n // This avoids fan-out storms without blocking normal optimistic mutation\n // processing inside the RMM itself.\n if (refetchingKeysRef.current.has(key)) {\n return;\n }\n\n refetchingKeysRef.current.add(key);\n refetchAuthoritativeRMMState({\n resourceType,\n resourceId,\n rmm,\n doOperation: doOperationRef.current,\n }).catch((error: unknown) => {\n logDebug('authoritative refetch failed', {\n resourceType,\n resourceId,\n error: error instanceof Error ? error.message : String(error),\n });\n }).finally(() => {\n refetchingKeysRef.current.delete(key);\n });\n }, []);\n\n const syncClaimedResourceRooms = useCallback(async (\n activeInstances: ReturnType<RMMRegistry['getActiveInstances']>,\n ) => {\n const nextOwnerKeys = new Set(activeInstances.map(({ key }) => `rmm:${key}`));\n\n for (const ownerKey of claimedRoomOwnerKeysRef.current) {\n if (nextOwnerKeys.has(ownerKey)) {\n continue;\n }\n const roomParams = claimedRoomParamsRef.current.get(ownerKey);\n if (!roomParams) {\n continue;\n }\n await releaseResourceRoom({\n ownerKey,\n resourceType: roomParams.resourceType,\n resourceId: roomParams.resourceId,\n contextResourceIdentifiers: roomParams.contextResourceIdentifiers,\n });\n claimedRoomParamsRef.current.delete(ownerKey);\n }\n\n for (const { key, resourceType, resourceId, rmm } of activeInstances) {\n const ownerKey = `rmm:${key}`;\n claimedRoomParamsRef.current.set(ownerKey, {\n resourceType,\n resourceId,\n contextResourceIdentifiers: rmm.contextResourceIdentifiers,\n });\n await claimResourceRoom({\n ownerKey,\n resourceType,\n resourceId,\n contextResourceIdentifiers: rmm.contextResourceIdentifiers,\n });\n }\n\n claimedRoomOwnerKeysRef.current = nextOwnerKeys;\n }, [claimResourceRoom, releaseResourceRoom]);\n\n useEffect(() => {\n if (!registry) {\n return;\n }\n\n const unsubscribe = registry.subscribeActiveInstances((activeInstances) => {\n void syncClaimedResourceRooms(activeInstances);\n });\n\n return () => {\n unsubscribe();\n const ownerKeys = Array.from(claimedRoomOwnerKeysRef.current);\n claimedRoomOwnerKeysRef.current.clear();\n for (const ownerKey of ownerKeys) {\n const roomParams = claimedRoomParamsRef.current.get(ownerKey);\n if (!roomParams) {\n continue;\n }\n void releaseResourceRoom({\n ownerKey,\n resourceType: roomParams.resourceType,\n resourceId: roomParams.resourceId,\n contextResourceIdentifiers: roomParams.contextResourceIdentifiers,\n });\n claimedRoomParamsRef.current.delete(ownerKey);\n }\n };\n }, [registry, releaseResourceRoom, syncClaimedResourceRooms]);\n\n useEffect(() => {\n if (!isConnected || !registry) return;\n\n const unsubUpdated = on<WS_ResourceUpdatedPayload>(\n CoreWebSocketEvent.RESOURCE_UPDATED,\n (payload) => {\n // Decision tree:\n // - scope-room notification -> refetch every affected local RMM\n // - resource-room notification -> refetch that one RMM\n // - resource-room sync -> validate canonical replay data, then apply it\n // directly when the payload is authoritative enough\n if (payload.deliveryTarget === WebSocketResourceDeliveryTarget.SCOPE_ROOM_NOTIFICATION) {\n const affectedResourceIds = new Set<string>([\n payload.resourceId,\n ...(payload.affectedIds ?? []),\n ].filter((value): value is string => Boolean(value)));\n for (const resourceId of affectedResourceIds) {\n const rmm = registry.get(payload.resourceType, resourceId);\n if (!rmm) {\n continue;\n }\n scheduleAuthoritativeRefetch(payload.resourceType, resourceId, rmm);\n }\n return;\n }\n\n const rmm = registry.get(payload.resourceType, payload.resourceId);\n if (!rmm) return;\n\n if (payload.deliveryTarget !== WebSocketResourceDeliveryTarget.RESOURCE_ROOM_SYNC) {\n logDebug('RESOURCE_UPDATED: notification-grade resource room update, scheduling authoritative refetch', {\n resourceType: payload.resourceType,\n resourceId: payload.resourceId,\n deliveryTarget: payload.deliveryTarget,\n });\n scheduleAuthoritativeRefetch(payload.resourceType, payload.resourceId, rmm);\n return;\n }\n\n const resourceData = payload.resourceData;\n const version = payload.version;\n\n if (!isPlainRecord(resourceData) || version == null) {\n logDebug('RESOURCE_UPDATED: sync payload missing replayable object data, scheduling authoritative refetch', {\n resourceType: payload.resourceType,\n resourceId: payload.resourceId,\n });\n scheduleAuthoritativeRefetch(payload.resourceType, payload.resourceId, rmm);\n return;\n }\n\n let validatedResourceData: Record<string, unknown>;\n try {\n validatedResourceData = validationService.validateWebSocketResourceData<Record<string, unknown>>(\n resourceData,\n {\n resourceType: payload.resourceType,\n operationPathKey: rmm.readOperationPathKey,\n operationIdentifier: payload.operationIdentifier,\n variantType: payload.variantType,\n variantKey: payload.variantKey,\n isOperationDefault: payload.isOperationDefault,\n isBulkOperation: payload.isBulkOperation,\n dataMode: CANONICAL_RMM_DATA_MODE,\n validationTarget: 'canonical-read',\n },\n );\n } catch (error) {\n logDebug('RESOURCE_UPDATED: sync payload failed canonical-read validation, scheduling authoritative refetch', {\n resourceType: payload.resourceType,\n resourceId: payload.resourceId,\n error: error instanceof Error ? error.message : String(error),\n });\n scheduleAuthoritativeRefetch(payload.resourceType, payload.resourceId, rmm);\n return;\n }\n\n const snapshot = rmm.getSnapshot();\n const confirmedData: Record<string, unknown> = snapshot.confirmedData ?? {};\n const changedFields = diffResourceFieldPaths(validatedResourceData, confirmedData);\n\n if (Object.keys(changedFields).length === 0 && version === snapshot.version) {\n logDebug('RESOURCE_UPDATED: no changes detected, skipping', {\n resourceType: payload.resourceType,\n resourceId: payload.resourceId,\n version,\n });\n return;\n }\n\n logDebug('RESOURCE_UPDATED → applyRemoteUpdate', {\n resourceType: payload.resourceType,\n resourceId: payload.resourceId,\n version,\n changedFieldCount: Object.keys(changedFields).length,\n initiatorUserId: payload.initiatorUserId,\n });\n\n rmm.applyRemoteUpdate(\n changedFields,\n version,\n payload.initiatorUserId,\n payload.fieldMeta,\n );\n },\n );\n\n const unsubDeleted = on<WS_ResourceDeletedPayload>(\n CoreWebSocketEvent.RESOURCE_DELETED,\n (payload) => {\n const rmm = registry.get(payload.resourceType, payload.resourceId);\n if (!rmm) return;\n\n logDebug('RESOURCE_DELETED → handleDeletion', {\n resourceType: payload.resourceType,\n resourceId: payload.resourceId,\n initiatorUserId: payload.initiatorUserId,\n });\n\n rmm.handleDeletion(DeletionReason.REMOTE, payload.initiatorUserId);\n },\n );\n\n return () => {\n unsubUpdated();\n unsubDeleted();\n };\n }, [isConnected, on, registry, scheduleAuthoritativeRefetch, validationService]);\n\n const prevConnectionCountRef = useRef(connectionCount);\n\n useEffect(() => {\n if (!registry) return;\n\n if (prevConnectionCountRef.current === 0) {\n prevConnectionCountRef.current = connectionCount;\n return;\n }\n\n if (connectionCount <= prevConnectionCountRef.current) return;\n prevConnectionCountRef.current = connectionCount;\n\n const activeInstances = registry.getActiveInstances();\n if (activeInstances.length === 0) return;\n\n // Reconnection is treated as a potential gap in incremental websocket\n // delivery, so active rooms are re-synced and every live RMM gets one\n // authoritative reread.\n logDebug('reconnection detected — syncing versions', {\n connectionCount,\n activeRMMCount: activeInstances.length,\n });\n\n void syncClaimedResourceRooms(activeInstances);\n for (const { resourceType, resourceId, rmm } of activeInstances) {\n scheduleAuthoritativeRefetch(resourceType, resourceId, rmm);\n }\n }, [connectionCount, registry, scheduleAuthoritativeRefetch, syncClaimedResourceRooms]);\n\n return null;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceMutationManager.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"ResourceMutationManager.d.ts","sourceRoot":"","sources":["../../../../../src/core/resources/rmm/ResourceMutationManager.ts"],"names":[],"mappings":"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"}
|