@wildo-ai/saas-frontend-lib 1.1.10 → 1.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/companion-exports.d.ts +2 -1
- package/dist/esm/companion-exports.d.ts.map +1 -1
- package/dist/esm/companion-exports.js +2 -1
- package/dist/esm/companion-exports.js.map +1 -1
- package/dist/esm/companion-runtime-exports.d.ts.map +1 -1
- package/dist/esm/components/actions/action-bar.d.ts +45 -1
- package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
- package/dist/esm/components/actions/action-bar.js +84 -0
- 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/button-group.d.ts.map +1 -1
- package/dist/esm/components/actions/button.d.ts +22 -0
- package/dist/esm/components/actions/button.d.ts.map +1 -1
- package/dist/esm/components/actions/button.js +45 -0
- package/dist/esm/components/actions/button.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.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation-thread.d.ts +109 -0
- package/dist/esm/components/ai-elements/chat/conversation-thread.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/chat/conversation-thread.js +22 -0
- package/dist/esm/components/ai-elements/chat/conversation-thread.js.map +1 -0
- package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.d.ts +103 -7
- 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/queue.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.d.ts +6 -0
- 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 +60 -1
- package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.js +26 -0
- 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/controls.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.d.ts +39 -4
- package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.js +18 -0
- 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/toolbar.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.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/checkpoint.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts +6 -0
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js +29 -8
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
- package/dist/esm/components/app/AppLayout_ConsentGate.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ConsentGate.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_DecisionInbox.d.ts +17 -0
- package/dist/esm/components/app/AppLayout_DecisionInbox.d.ts.map +1 -0
- package/dist/esm/components/app/AppLayout_DecisionInbox.js +24 -0
- package/dist/esm/components/app/AppLayout_DecisionInbox.js.map +1 -0
- package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.js +3 -0
- 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_RouterErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppPage_Home.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_LegalNotice.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_LegalNotice.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_LegalNotice.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_LegalNotice.labels.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ChatIdentityLink.d.ts +15 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.d.ts.map +1 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.js +219 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.js.map +1 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.d.ts +3 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.d.ts.map +1 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.js +49 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.js.map +1 -0
- package/dist/esm/components/auth/Auth_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.js +3 -2
- 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 +2 -2
- 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.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.js +40 -7
- 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 +9 -0
- 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.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.js +3 -2
- 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_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OrganizationOnboarding.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OrganizationOnboarding.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.d.ts.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 +2 -2
- 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 +8 -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 +2 -2
- package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.d.ts +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.js +3 -3
- 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 +94 -6
- 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 +21 -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 +16 -13
- 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/SsoConnectionSamlReadSection.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js +3 -3
- 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 +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/TotpEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/EmailOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/MagicLinkAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgOidcAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js +3 -4
- 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/PasswordAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/SmsOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/TotpAuthMethod.d.ts.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-presentation.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthExchange.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.d.ts +11 -0
- package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.d.ts.map +1 -0
- package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.js +25 -0
- package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.js.map +1 -0
- package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OrganizationOnboarding.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_PasswordLost.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ReAuthenticationCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthMethodChoiceList.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthMethodIcon.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.d.ts +39 -0
- package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.d.ts.map +1 -0
- package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.js +45 -0
- package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.js.map +1 -0
- package/dist/esm/components/auth/utils/AuthSecondaryLink.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js +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/resolvePasswordViolationsToLabels.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/useMfaContinuationNavigation.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
- package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.d.ts.map +1 -1
- package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js +2 -1
- package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.js +21 -35
- package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayField.js +98 -70
- 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/DisplayFieldEditable.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.js +48 -8
- package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts +3 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.js +30 -4
- 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 +2 -2
- 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/DisplayTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.js +45 -94
- 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 +14 -8
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts +41 -3
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.js +49 -5
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/SummaryContext.d.ts +2 -2
- package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
- package/dist/esm/components/data-display/automatic-displayer.utils.d.ts +22 -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 +29 -0
- 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/badge-tone.d.ts.map +1 -1
- package/dist/esm/components/data-display/badge.d.ts +9 -0
- 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/chromes/DisplayChromeContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts +14 -2
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js +42 -12
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
- package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.d.ts +10 -0
- package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.d.ts.map +1 -0
- package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.js +18 -0
- package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.js.map +1 -0
- package/dist/esm/components/data-display/chromes/field-tile-boundaries.d.ts +38 -0
- package/dist/esm/components/data-display/chromes/field-tile-boundaries.d.ts.map +1 -0
- package/dist/esm/components/data-display/chromes/field-tile-boundaries.js +30 -0
- package/dist/esm/components/data-display/chromes/field-tile-boundaries.js.map +1 -0
- package/dist/esm/components/data-display/chromes/field-tiles.utils.d.ts +22 -0
- package/dist/esm/components/data-display/chromes/field-tiles.utils.d.ts.map +1 -0
- package/dist/esm/components/data-display/chromes/field-tiles.utils.js +52 -0
- package/dist/esm/components/data-display/chromes/field-tiles.utils.js.map +1 -0
- package/dist/esm/components/data-display/description-list.d.ts.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-resolved-props.d.ts +4 -0
- 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-layout-template.utils.d.ts +18 -0
- package/dist/esm/components/data-display/display-layout-template.utils.d.ts.map +1 -0
- package/dist/esm/components/data-display/display-layout-template.utils.js +18 -0
- package/dist/esm/components/data-display/display-layout-template.utils.js.map +1 -0
- package/dist/esm/components/data-display/display-resource-link-trail.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-value-emptiness.utils.d.ts +44 -0
- package/dist/esm/components/data-display/display-value-emptiness.utils.d.ts.map +1 -0
- package/dist/esm/components/data-display/display-value-emptiness.utils.js +61 -0
- package/dist/esm/components/data-display/display-value-emptiness.utils.js.map +1 -0
- package/dist/esm/components/data-display/duration.d.ts.map +1 -1
- package/dist/esm/components/data-display/empty-value-mark.d.ts +31 -0
- package/dist/esm/components/data-display/empty-value-mark.d.ts.map +1 -0
- package/dist/esm/components/data-display/empty-value-mark.js +49 -0
- package/dist/esm/components/data-display/empty-value-mark.js.map +1 -0
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts +3 -2
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js +4 -4
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts +6 -3
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js +22 -12
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.d.ts.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js +2 -2
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-address.d.ts.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-boolean.d.ts.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-date.d.ts.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-duration.d.ts.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-file-audio.d.ts.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-gallery.d.ts.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-video.d.ts.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-json.d.ts.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-number.d.ts.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-range-bigdecimal.d.ts.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-datetime.d.ts.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-number.d.ts.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-string.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/identifier.d.ts.map +1 -1
- package/dist/esm/components/data-display/kbd.d.ts.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
- package/dist/esm/components/data-display/reference-display-target.d.ts +98 -0
- package/dist/esm/components/data-display/reference-display-target.d.ts.map +1 -0
- package/dist/esm/components/data-display/reference-display-target.js +154 -0
- package/dist/esm/components/data-display/reference-display-target.js.map +1 -0
- package/dist/esm/components/data-display/summary-value-naming.context.d.ts +15 -0
- package/dist/esm/components/data-display/summary-value-naming.context.d.ts.map +1 -0
- package/dist/esm/components/data-display/summary-value-naming.context.js +18 -0
- package/dist/esm/components/data-display/summary-value-naming.context.js.map +1 -0
- package/dist/esm/components/data-display/timeline.d.ts.map +1 -1
- package/dist/esm/components/data-display/tone-marker.d.ts +38 -0
- package/dist/esm/components/data-display/tone-marker.d.ts.map +1 -0
- package/dist/esm/components/data-display/tone-marker.js +56 -0
- package/dist/esm/components/data-display/tone-marker.js.map +1 -0
- package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
- package/dist/esm/components/data-display/useFileActivation.js +2 -9
- 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/danger-zone.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-display-policy.utils.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/error-display.d.ts.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 +12 -4
- 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-unavailable-dialog.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
- package/dist/esm/components/feedback/lazy-door-error-boundary.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
- package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts +8 -0
- 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/resource-empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton-text.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
- package/dist/esm/components/feedback/toast.d.ts.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +0 -5
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.js +5 -17
- package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -1
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.d.ts +21 -4
- package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.js +114 -192
- 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 +5 -10
- 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.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.js +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/approval-modification-refusal.utils.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js +1 -0
- package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.d.ts +26 -16
- package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.js +208 -70
- 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 +67 -22
- 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.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.labels.js +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 +19 -7
- package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.js +55 -41
- 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 +25 -8
- package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/execution-usage.d.ts +69 -0
- package/dist/esm/components/flows-actors/execution-usage.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/execution-usage.js +189 -0
- package/dist/esm/components/flows-actors/execution-usage.js.map +1 -0
- package/dist/esm/components/flows-actors/execution-usage.labels.d.ts +3 -0
- package/dist/esm/components/flows-actors/execution-usage.labels.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/execution-usage.labels.js +27 -0
- package/dist/esm/components/flows-actors/execution-usage.labels.js.map +1 -0
- package/dist/esm/components/flows-actors/flow-execution.d.ts +23 -6
- package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.js +56 -208
- 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 +3 -10
- package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.d.ts +54 -21
- package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.js +80 -6
- package/dist/esm/components/flows-actors/flow-node-badges.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 +0 -8
- package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-step-visuals.d.ts +31 -0
- package/dist/esm/components/flows-actors/flow-step-visuals.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/flow-step-visuals.js +98 -0
- package/dist/esm/components/flows-actors/flow-step-visuals.js.map +1 -0
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts +18 -19
- 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 +18 -19
- 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 +27 -42
- 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 +28 -43
- 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 +15 -10
- 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 +16 -42
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
- package/dist/esm/components/flows-actors/graph-viewer.d.ts +112 -0
- package/dist/esm/components/flows-actors/graph-viewer.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/graph-viewer.js +431 -0
- package/dist/esm/components/flows-actors/graph-viewer.js.map +1 -0
- package/dist/esm/components/flows-actors/graph-viewer.labels.d.ts +3 -0
- package/dist/esm/components/flows-actors/graph-viewer.labels.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/graph-viewer.labels.js +67 -0
- package/dist/esm/components/flows-actors/graph-viewer.labels.js.map +1 -0
- package/dist/esm/components/flows-actors/graph-viewer.models.d.ts +16 -0
- package/dist/esm/components/flows-actors/graph-viewer.models.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/graph-viewer.models.js +18 -0
- package/dist/esm/components/flows-actors/graph-viewer.models.js.map +1 -0
- package/dist/esm/components/flows-actors/human-decision-form.d.ts +57 -0
- package/dist/esm/components/flows-actors/human-decision-form.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/human-decision-form.js +128 -0
- package/dist/esm/components/flows-actors/human-decision-form.js.map +1 -0
- package/dist/esm/components/flows-actors/system-catalog.d.ts +6 -1
- package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.js +22 -20
- 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 +3 -2
- package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.d.ts +17 -3
- package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.js +32 -25
- 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-memory.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.js +3 -2
- 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/form/Form.d.ts +2 -0
- package/dist/esm/components/form/Form.d.ts.map +1 -1
- package/dist/esm/components/form/Form.js +4 -0
- package/dist/esm/components/form/Form.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.d.ts +16 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js +101 -21
- package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.d.ts +19 -2
- package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.js +40 -6
- package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.d.ts +22 -1
- package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.js +53 -0
- package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
- package/dist/esm/components/form/automated/FormField.d.ts +1 -1
- package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormField.js +127 -53
- 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/FormFieldComposite.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.js +12 -10
- 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 +16 -7
- package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.d.ts +27 -0
- package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.js +0 -48
- 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/GeneratedReferenceRelationshipField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts +4 -3
- package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js +616 -149
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts +105 -5
- 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 +225 -6
- 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.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.d.ts.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/bulk-field-clear-context.d.ts +59 -0
- package/dist/esm/components/form/automated/bulk-field-clear-context.d.ts.map +1 -0
- package/dist/esm/components/form/automated/bulk-field-clear-context.js +77 -0
- package/dist/esm/components/form/automated/bulk-field-clear-context.js.map +1 -0
- package/dist/esm/components/form/automated/create-form-default-values.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/field-clearing-rule.frontend.utils.d.ts.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/generated-relationship-field.helpers.d.ts.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.shared.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/unplaced-request-fields.context.d.ts +19 -0
- package/dist/esm/components/form/automated/unplaced-request-fields.context.d.ts.map +1 -0
- package/dist/esm/components/form/automated/unplaced-request-fields.context.js +13 -0
- package/dist/esm/components/form/automated/unplaced-request-fields.context.js.map +1 -0
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts +7 -0
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.js +10 -2
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
- package/dist/esm/components/form/automated/useReferenceRecordLabels.d.ts +16 -0
- package/dist/esm/components/form/automated/useReferenceRecordLabels.d.ts.map +1 -0
- package/dist/esm/components/form/automated/useReferenceRecordLabels.js +66 -0
- package/dist/esm/components/form/automated/useReferenceRecordLabels.js.map +1 -0
- package/dist/esm/components/form/automated/useRequestFieldOffer.d.ts +18 -0
- package/dist/esm/components/form/automated/useRequestFieldOffer.d.ts.map +1 -0
- package/dist/esm/components/form/automated/useRequestFieldOffer.js +107 -0
- package/dist/esm/components/form/automated/useRequestFieldOffer.js.map +1 -0
- package/dist/esm/components/form/chromes/FormChromeContext.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.d.ts +7 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.js +6 -3
- 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/form-primitives.d.ts.map +1 -1
- package/dist/esm/components/form/combobox.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.d.ts.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.d.ts.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/date-range-picker.d.ts +11 -0
- 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 +21 -0
- 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 +9 -0
- 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 +9 -0
- 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-range-picker.d.ts +1 -0
- 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 +10 -0
- 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.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts +14 -10
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.js +14 -6
- package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
- package/dist/esm/components/form/controls/file/file-readiness.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.d.ts.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/form-field-checkbox-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.js +7 -3
- 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.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/chips-input.d.ts +65 -0
- package/dist/esm/components/form/controls/string/chips-input.d.ts.map +1 -0
- package/dist/esm/components/form/controls/string/chips-input.js +9 -0
- package/dist/esm/components/form/controls/string/chips-input.js.map +1 -0
- package/dist/esm/components/form/controls/string/color-input.d.ts.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/input-otp.d.ts.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.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
- package/dist/esm/components/form/feedback/RemoteChangeNotification.d.ts.map +1 -1
- package/dist/esm/components/form/fields/accepted-file-kinds-description.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.js +7 -5
- package/dist/esm/components/form/fields/form-field-address.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.labels.js +1 -1
- package/dist/esm/components/form/fields/form-field-address.labels.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 +2 -2
- 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-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.js +2 -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-code.d.ts.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 +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 +16 -11
- 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-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.js +10 -5
- 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-duration.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.js +5 -7
- 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 +8 -2
- 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 +31 -31
- 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-file-provider-constraints.frontend.utils.d.ts.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 +13 -12
- 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 +6 -6
- 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 +5 -4
- 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 +8 -2
- 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 +2 -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-phone.d.ts.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-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.js +2 -2
- 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-date.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.js +7 -2
- 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-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.js +5 -2
- 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-money.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.js +6 -19
- 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 +8 -2
- 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 +2 -2
- 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-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.js +2 -2
- 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-resource-reference.d.ts +56 -0
- package/dist/esm/components/form/fields/form-field-resource-reference.d.ts.map +1 -0
- package/dist/esm/components/form/fields/form-field-resource-reference.js +51 -0
- package/dist/esm/components/form/fields/form-field-resource-reference.js.map +1 -0
- package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts +36 -6
- package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string-organization-role.js +30 -11
- package/dist/esm/components/form/fields/form-field-string-organization-role.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.d.ts +5 -0
- package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.js +9 -7
- 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-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.js +6 -3
- 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/themed-native-select.d.ts +29 -0
- package/dist/esm/components/form/fields/themed-native-select.d.ts.map +1 -0
- package/dist/esm/components/form/fields/themed-native-select.js +36 -0
- package/dist/esm/components/form/fields/themed-native-select.js.map +1 -0
- package/dist/esm/components/form/form-context.d.ts +11 -0
- package/dist/esm/components/form/form-context.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.js +11 -0
- package/dist/esm/components/form/form-context.js.map +1 -1
- package/dist/esm/components/form/form-context.utils.d.ts +2 -0
- package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.utils.js +6 -2
- package/dist/esm/components/form/form-context.utils.js.map +1 -1
- package/dist/esm/components/form/form-field-types.d.ts.map +1 -1
- package/dist/esm/components/form/useFormSchemaContext.d.ts.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 +17 -15
- package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
- package/dist/esm/components/form/validation-errors/field-reveal.d.ts +41 -0
- package/dist/esm/components/form/validation-errors/field-reveal.d.ts.map +1 -0
- package/dist/esm/components/form/validation-errors/field-reveal.js +108 -0
- package/dist/esm/components/form/validation-errors/field-reveal.js.map +1 -0
- package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/form-level-error-recheck.d.ts +3 -0
- package/dist/esm/components/form/validation-errors/form-level-error-recheck.d.ts.map +1 -0
- package/dist/esm/components/form/validation-errors/form-level-error-recheck.js +37 -0
- package/dist/esm/components/form/validation-errors/form-level-error-recheck.js.map +1 -0
- package/dist/esm/components/form/validation-errors/form-validation.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.d.ts +6 -0
- package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.js +9 -2
- package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
- package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts +8 -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 +46 -3
- 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/useServerErrorInjection.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.js +8 -3
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
- package/dist/esm/components/form/validation-errors/validate-field-url.frontend.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.d.ts +32 -0
- package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.d.ts.map +1 -0
- package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.js +60 -0
- package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.js.map +1 -0
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts +10 -0
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.js +12 -3
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.js.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
- package/dist/esm/components/layout/carousel.d.ts.map +1 -1
- package/dist/esm/components/layout/divider.d.ts.map +1 -1
- package/dist/esm/components/layout/resizable.d.ts.map +1 -1
- package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
- package/dist/esm/components/layout/separator.d.ts.map +1 -1
- package/dist/esm/components/navigation/NavigationItemBadge.d.ts.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_CommandMenu.d.ts.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_MenuBar.d.ts.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_NavigationBack.d.ts.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_QuickActionButton.d.ts +7 -0
- 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_Sidebar.d.ts.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_Toolbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts +6 -0
- 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/SidebarResourceBrowser.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js +6 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
- package/dist/esm/components/navigation/app-level/engine-launcher-entries.d.ts +46 -0
- package/dist/esm/components/navigation/app-level/engine-launcher-entries.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/engine-launcher-entries.js +165 -0
- package/dist/esm/components/navigation/app-level/engine-launcher-entries.js.map +1 -0
- package/dist/esm/components/navigation/app-level/sidebar-resource-browser-empty-label.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useActivityBarBehavior.d.ts.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 +8 -3
- 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/useMenuBarBehavior.d.ts.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 +41 -20
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts +1 -2
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js +1 -15
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.d.ts +32 -0
- package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.js +91 -0
- package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.js.map +1 -0
- package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.d.ts.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 +3 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts +18 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +66 -9
- 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/useToolbarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +15 -10
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +89 -12
- 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/command.d.ts.map +1 -1
- package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts.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/sheet.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/menu.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js +2 -2
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
- package/dist/esm/components/resources/CollectionSelectAllCheckbox.d.ts +39 -0
- package/dist/esm/components/resources/CollectionSelectAllCheckbox.d.ts.map +1 -0
- package/dist/esm/components/resources/CollectionSelectAllCheckbox.js +21 -0
- package/dist/esm/components/resources/CollectionSelectAllCheckbox.js.map +1 -0
- package/dist/esm/components/resources/CollectionSelectionControls.d.ts +4 -3
- 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/InlineSearchInput.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts +7 -2
- package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.js +38 -14
- package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts +4 -4
- package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionFilterPresets.js +20 -22
- package/dist/esm/components/resources/ResourceCollectionFilterPresets.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts +4 -3
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js +40 -6
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts +65 -23
- package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.js +73 -10
- 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/ResourceLayout_Action.d.ts.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 +5 -0
- package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts +18 -0
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js +57 -48
- 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_CollectionActions.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.js +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.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +7 -1
- 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_Create.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.js +3 -4
- 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 +10 -0
- package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts +5 -3
- package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.js +4 -3
- 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_FilterChips.d.ts +8 -7
- package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js +78 -42
- 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.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.js +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts +5 -8
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.js +68 -19
- 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 +150 -44
- 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_InsertedViews.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.js +62 -40
- 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 +67 -70
- 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 +4 -10
- 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_OperationBulk.d.ts +8 -9
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.js +67 -25
- 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 +8 -8
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts +8 -2
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.js +12 -7
- 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 +11 -6
- 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.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.d.ts +2 -0
- package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.js +23 -5
- 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_ReadSummary.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.js +5 -3
- 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_TableRow.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js +18 -7
- 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_RecordSharing.d.ts +56 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.d.ts.map +1 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.js +184 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.js.map +1 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.d.ts +3 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.d.ts.map +1 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.js +106 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.js.map +1 -0
- package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.js +55 -42
- 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 +0 -6
- 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_SemanticOperationFallback.d.ts +8 -0
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js +2 -3
- 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 +3 -2
- 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.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.d.ts +29 -5
- package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.js +123 -41
- package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionDropdown.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionPopover.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationDetachedHost.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOwnedViewEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.d.ts +6 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.js +9 -7
- 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/collection-card-layout.utils.d.ts +37 -15
- package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.js +37 -15
- package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
- package/dist/esm/components/resources/collection-selection-bar-density.d.ts +113 -0
- package/dist/esm/components/resources/collection-selection-bar-density.d.ts.map +1 -0
- package/dist/esm/components/resources/collection-selection-bar-density.js +175 -0
- package/dist/esm/components/resources/collection-selection-bar-density.js.map +1 -0
- package/dist/esm/components/resources/collection-view-mode.frontend.d.ts.map +1 -1
- package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts +2 -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/RelatedResourcePreview.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.js +14 -2
- package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts +61 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.js +151 -15
- package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts +11 -0
- 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 +13 -0
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts +24 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js +47 -3
- 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/resource-filter-field-type.frontend.schemas.d.ts +35 -0
- package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.d.ts.map +1 -0
- package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.js +36 -0
- package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.js.map +1 -0
- package/dist/esm/components/resources/resource-header-geometry.d.ts +19 -0
- package/dist/esm/components/resources/resource-header-geometry.d.ts.map +1 -0
- package/dist/esm/components/resources/resource-header-geometry.js +19 -0
- package/dist/esm/components/resources/resource-header-geometry.js.map +1 -0
- package/dist/esm/components/resources/resource-operation-custom-view.contracts.d.ts.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.d.ts +28 -2
- package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.js +45 -12
- 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 +10 -0
- package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayDiscriminatorSwitch.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts +20 -4
- package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.js +19 -2
- package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FieldTiles.d.ts +48 -0
- package/dist/esm/components/resources/skeleton/FieldTiles.d.ts.map +1 -0
- package/dist/esm/components/resources/skeleton/FieldTiles.js +51 -0
- package/dist/esm/components/resources/skeleton/FieldTiles.js.map +1 -0
- package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js +2 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.js +5 -2
- package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts +77 -14
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js +98 -25
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.d.ts +7 -0
- package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.js +9 -3
- package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SubmitButton.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts +3 -3
- package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.js +3 -3
- package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.d.ts +7 -5
- package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.js +176 -65
- package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts +9 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.js +7 -0
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.d.ts +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.js +9 -5
- package/dist/esm/components/resources/skeleton/WizardStep.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.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.js +31 -2
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.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 +176 -61
- 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 +14 -7
- 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 +18 -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/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts.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/resource-reference.shared.utils.d.ts +8 -0
- 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 +3 -0
- 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 +48 -17
- 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 +226 -74
- 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 +2 -3
- 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/card.d.ts.map +1 -1
- package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
- package/dist/esm/components/sections/content-section.d.ts +2 -2
- 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/section-grouping.shared.d.ts +19 -0
- package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.js +24 -0
- package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
- package/dist/esm/components/sections/section-legend-voice.context.d.ts +19 -0
- package/dist/esm/components/sections/section-legend-voice.context.d.ts.map +1 -0
- package/dist/esm/components/sections/section-legend-voice.context.js +21 -0
- package/dist/esm/components/sections/section-legend-voice.context.js.map +1 -0
- package/dist/esm/components/sections/section-legend-voice.d.ts +41 -0
- package/dist/esm/components/sections/section-legend-voice.d.ts.map +1 -0
- package/dist/esm/components/sections/section-legend-voice.js +67 -0
- package/dist/esm/components/sections/section-legend-voice.js.map +1 -0
- package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
- package/dist/esm/components/sections/stepper.d.ts +14 -0
- 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 +10 -2
- 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/tabs.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.d.ts +39 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.js +187 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.js +34 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js +8 -8
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.d.ts +43 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.js +142 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.js +62 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +25 -8
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +275 -71
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +91 -14
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts +13 -8
- package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.js +95 -23
- 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 +25 -2
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.d.ts +67 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.js +177 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.js +45 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.d.ts +35 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.js +137 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.js +38 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.js.map +1 -0
- package/dist/esm/components/settings/SettingsHub.d.ts +3 -3
- package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.js +98 -48
- 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 +2 -0
- 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 +21 -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/useOwnerProviderConnections.d.ts +24 -5
- package/dist/esm/components/settings/useOwnerProviderConnections.d.ts.map +1 -1
- package/dist/esm/components/settings/useOwnerProviderConnections.js +67 -9
- package/dist/esm/components/settings/useOwnerProviderConnections.js.map +1 -1
- package/dist/esm/components/typography/heading.d.ts.map +1 -1
- package/dist/esm/components/typography/label.d.ts.map +1 -1
- package/dist/esm/components/typography/link.d.ts.map +1 -1
- package/dist/esm/components/typography/text.d.ts.map +1 -1
- package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
- package/dist/esm/components/views/ViewLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.labels.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartEmptyState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartErrorState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.d.ts.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 +3 -3
- 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.lazy.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.labels.d.ts.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 +2 -9
- 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-theme-bridge.d.ts.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/dev/ChartView.example.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts +1 -0
- 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 +10 -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 +8 -6
- 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 +10 -8
- 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 +2 -2
- 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 +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/gauge.builder.d.ts.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/hierarchical-family.builder.d.ts.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 +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/pie-family.builder.d.ts.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/sankey.builder.d.ts.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 +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/chart-type-builder.interface.d.ts +6 -0
- 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 +3 -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 +4 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/useResourceChartData.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.d.ts +0 -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/CompositeViewContext.d.ts.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 +24 -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/execution-view/ExecutionView.d.ts.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.d.ts +29 -0
- package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.d.ts.map +1 -0
- package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.js +104 -0
- package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.js.map +1 -0
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts +16 -5
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +219 -230
- 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 +5 -0
- 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 +15 -13
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/held-conversation-selection.d.ts +13 -0
- package/dist/esm/components/views/flows-actors-view/held-conversation-selection.d.ts.map +1 -0
- package/dist/esm/components/views/flows-actors-view/held-conversation-selection.js +44 -0
- package/dist/esm/components/views/flows-actors-view/held-conversation-selection.js.map +1 -0
- package/dist/esm/components/views/full-custom-view/FullCustomView.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/onboarding-view.utils.d.ts.map +1 -1
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.d.ts.map +1 -1
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.js +6 -2
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.js.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts +64 -9
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
- 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/hosted-components.utils.d.ts +11 -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 +25 -0
- package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
- package/dist/esm/core/app-shell/shell-layout.d.ts +138 -0
- package/dist/esm/core/app-shell/shell-layout.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-layout.js +143 -0
- package/dist/esm/core/app-shell/shell-layout.js.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.d.ts +13 -0
- package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.js +49 -0
- package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.js.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.d.ts +95 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.js +316 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.js.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.d.ts +217 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.js +197 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.js.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-view-transition.d.ts +46 -0
- package/dist/esm/core/app-shell/shell-motion/shell-view-transition.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-view-transition.js +139 -0
- package/dist/esm/core/app-shell/shell-motion/shell-view-transition.js.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/use-shell-motion.d.ts +108 -0
- package/dist/esm/core/app-shell/shell-motion/use-shell-motion.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/use-shell-motion.js +423 -0
- package/dist/esm/core/app-shell/shell-motion/use-shell-motion.js.map +1 -0
- package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.js +6 -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 +11 -4
- package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +18 -1
- 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 +26 -4
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
- package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js +3 -22
- package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js.map +1 -1
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +19 -3
- 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 +100 -13
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
- package/dist/esm/core/automated-layout/summary-value-naming.utils.d.ts +67 -0
- package/dist/esm/core/automated-layout/summary-value-naming.utils.d.ts.map +1 -0
- package/dist/esm/core/automated-layout/summary-value-naming.utils.js +100 -0
- package/dist/esm/core/automated-layout/summary-value-naming.utils.js.map +1 -0
- package/dist/esm/core/billing/BillingContext.d.ts +0 -17
- package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingContext.js +6 -1
- 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/billing-launcher.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/billing/useBilling.d.ts.map +1 -1
- package/dist/esm/core/billing/useBillingAction.d.ts.map +1 -1
- package/dist/esm/core/billing/useBillingPlanChange.d.ts.map +1 -1
- package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts.map +1 -1
- package/dist/esm/core/branding/OrganizationBrandingPublisher.d.ts +2 -0
- package/dist/esm/core/branding/OrganizationBrandingPublisher.d.ts.map +1 -0
- package/dist/esm/core/branding/OrganizationBrandingPublisher.js +78 -0
- package/dist/esm/core/branding/OrganizationBrandingPublisher.js.map +1 -0
- package/dist/esm/core/branding/useBrandIdentity.d.ts +21 -0
- package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandIdentity.js +31 -5
- package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.d.ts +5 -0
- package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.js +1 -0
- package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
- package/dist/esm/core/branding/useDisplayableImageUrl.d.ts +4 -0
- package/dist/esm/core/branding/useDisplayableImageUrl.d.ts.map +1 -0
- package/dist/esm/core/branding/useDisplayableImageUrl.js +66 -0
- package/dist/esm/core/branding/useDisplayableImageUrl.js.map +1 -0
- package/dist/esm/core/branding/useOrganizationDocumentTitle.d.ts +2 -0
- package/dist/esm/core/branding/useOrganizationDocumentTitle.d.ts.map +1 -0
- package/dist/esm/core/branding/useOrganizationDocumentTitle.js +23 -0
- package/dist/esm/core/branding/useOrganizationDocumentTitle.js.map +1 -0
- package/dist/esm/core/commons/devices.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/save-blob-as-file.frontend.utils.d.ts +16 -0
- package/dist/esm/core/commons/save-blob-as-file.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/commons/save-blob-as-file.frontend.utils.js +35 -0
- package/dist/esm/core/commons/save-blob-as-file.frontend.utils.js.map +1 -0
- package/dist/esm/core/companion/companion-exports.frontend.definitions.d.ts.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 +8 -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.frontend.schemas.d.ts.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-resolver.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js +34 -5
- 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.map +1 -1
- package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
- package/dist/esm/core/components-registry/register-framework-layouts.js +4 -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.map +1 -1
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +36 -20
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-configuration-frontend.schemas.js +29 -2
- 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 +10 -16
- 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 +10 -16
- 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 +10 -6
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.js +10 -0
- package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.d.ts +2 -2
- package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.d.ts +20 -0
- package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.js +46 -6
- package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
- package/dist/esm/core/config/decision-inbox-capability.frontend.utils.d.ts +83 -0
- package/dist/esm/core/config/decision-inbox-capability.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/config/decision-inbox-capability.frontend.utils.js +100 -0
- package/dist/esm/core/config/decision-inbox-capability.frontend.utils.js.map +1 -0
- package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.d.ts +69 -0
- package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.js +65 -0
- package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.js.map +1 -0
- package/dist/esm/core/config/engine-settings-destinations.d.ts +13 -1
- package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.js +586 -155
- package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.d.ts +17 -3
- package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.js +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 +12 -2
- package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/flows-actors-view.schemas.js +13 -1
- 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/inserted-view-launcher.schemas.d.ts +12 -11
- package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.js +14 -13
- 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/launcher-items.frontend.schemas.d.ts +50 -33
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.js +14 -1
- 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/relationship-side-capabilities.frontend.utils.d.ts +79 -0
- package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.js +95 -0
- package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.js.map +1 -0
- package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts +21 -10
- 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 +48 -16
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts +2 -2
- package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js +38 -5
- package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +99 -22
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.js +40 -3
- 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 +4 -1
- package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts +2 -2
- package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.js +7 -8
- package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/verify-feature-references.frontend.d.ts.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.d.ts +6 -6
- package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.js +13 -12
- package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.d.ts +4 -0
- package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.js +34 -0
- package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
- package/dist/esm/core/config/view-label-declaration.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/views-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.d.ts +16 -23
- package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.js +26 -29
- 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/ErrorContext.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorModalContent.d.ts.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.js +71 -9
- 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/error-management.frontend.service.d.ts +0 -4
- package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.js +5 -8
- 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.frontend.schemas.d.ts +21 -10
- 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/useError.d.ts.map +1 -1
- package/dist/esm/core/errors/useUserFacingErrorMessage.d.ts.map +1 -1
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts +35 -0
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js +44 -5
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js.map +1 -1
- package/dist/esm/core/errors/withErrorBoundary.d.ts.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 +13 -1
- package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
- package/dist/esm/core/events/NotificationContext.js +89 -22
- 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/events.frontend.schemas.d.ts +68 -4
- package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.js +67 -3
- 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/useEventBus.d.ts.map +1 -1
- package/dist/esm/core/events/useNotification.d.ts.map +1 -1
- package/dist/esm/core/events/useNotificationPreferenceKinds.d.ts +9 -0
- package/dist/esm/core/events/useNotificationPreferenceKinds.d.ts.map +1 -0
- package/dist/esm/core/events/useNotificationPreferenceKinds.js +50 -0
- package/dist/esm/core/events/useNotificationPreferenceKinds.js.map +1 -0
- package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/ExecutionRuntimeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-anchor.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-dirty-markers.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-failure-handling.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-outcome-emission.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-participation.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecution.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecution.js +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/useExecutionParticipationDataPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.js +4 -0
- 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/useExecutionResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.js +3 -3
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/external-providers/ConsentBasedProviderSdks.d.ts.map +1 -1
- package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.d.ts.map +1 -1
- package/dist/esm/core/external-providers/ProviderAddressLookupHost.d.ts.map +1 -1
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -1
- package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.d.ts +52 -0
- package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.d.ts.map +1 -0
- package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.js +88 -0
- package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.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-registry.frontend.service.d.ts +20 -2
- 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 +18 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts +7 -5
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts.map +1 -1
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js +9 -6
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js.map +1 -1
- package/dist/esm/core/features/FeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.d.ts.map +1 -1
- package/dist/esm/core/features/FeaturesContext.d.ts +9 -1
- package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
- package/dist/esm/core/features/FeaturesContext.js +38 -12
- package/dist/esm/core/features/FeaturesContext.js.map +1 -1
- package/dist/esm/core/features/feature-gate-surface.example.d.ts.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatures.d.ts.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.js +4 -0
- package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +90 -33
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.js +153 -100
- package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
- package/dist/esm/core/flows-actors/conversation-history.model.d.ts +41 -0
- package/dist/esm/core/flows-actors/conversation-history.model.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/conversation-history.model.js +65 -0
- package/dist/esm/core/flows-actors/conversation-history.model.js.map +1 -0
- package/dist/esm/core/flows-actors/conversation-thread.model.d.ts +144 -0
- package/dist/esm/core/flows-actors/conversation-thread.model.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/conversation-thread.model.js +315 -0
- package/dist/esm/core/flows-actors/conversation-thread.model.js.map +1 -0
- package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.d.ts +29 -0
- package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.js +67 -0
- package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.js.map +1 -0
- package/dist/esm/core/flows-actors/graph-view.layout.d.ts +77 -0
- package/dist/esm/core/flows-actors/graph-view.layout.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/graph-view.layout.js +169 -0
- package/dist/esm/core/flows-actors/graph-view.layout.js.map +1 -0
- package/dist/esm/core/flows-actors/graph-view.model.d.ts +245 -0
- package/dist/esm/core/flows-actors/graph-view.model.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/graph-view.model.js +414 -0
- package/dist/esm/core/flows-actors/graph-view.model.js.map +1 -0
- package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.d.ts +12 -0
- package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.js +20 -0
- package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.js.map +1 -0
- package/dist/esm/core/flows-actors/useFlowsActors.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/usePendingDecisions.d.ts +36 -11
- package/dist/esm/core/flows-actors/usePendingDecisions.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/usePendingDecisions.js +114 -29
- package/dist/esm/core/flows-actors/usePendingDecisions.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.js +1 -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/guidance-audience.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.d.ts.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 +2 -2
- 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.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/useGuidance.d.ts.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +3 -9
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +3 -15
- 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/HotkeyShortcutsHelpDialog.d.ts.map +1 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts +2 -2
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js +2 -2
- 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/i18n/I18nContext.d.ts +52 -3
- package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
- package/dist/esm/core/i18n/I18nContext.js +80 -7
- 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/operation-title-resolution.utils.d.ts.map +1 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +82 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +121 -6
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -1
- package/dist/esm/core/i18n/useI18n.d.ts +3 -1
- package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
- package/dist/esm/core/i18n/useI18n.js +3 -1
- package/dist/esm/core/i18n/useI18n.js.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.d.ts +38 -4
- package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.js +103 -63
- 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 +41 -0
- 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.schemas.d.ts +44 -0
- package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.js +46 -0
- 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/loading/AppLoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingBarrier.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-policy.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-scope.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/loading/resolveLoadingPolicy.d.ts.map +1 -1
- package/dist/esm/core/loading/useAppLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useComponentLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useEmitLoadingScope.d.ts.map +1 -1
- package/dist/esm/core/loading/useLoading.d.ts.map +1 -1
- package/dist/esm/core/mode/AppModeContext.d.ts.map +1 -1
- package/dist/esm/core/mode/section-visibility.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsScopeBridge.d.ts.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/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js +2 -2
- 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/useAnalytics.d.ts.map +1 -1
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/logger.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts +64 -20
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.js +82 -51
- package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.js +130 -23
- package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.d.ts +4 -0
- package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.js +17 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
- package/dist/esm/core/navigation/ZoneChromeContext.d.ts +80 -0
- package/dist/esm/core/navigation/ZoneChromeContext.d.ts.map +1 -0
- package/dist/esm/core/navigation/ZoneChromeContext.js +130 -0
- package/dist/esm/core/navigation/ZoneChromeContext.js.map +1 -0
- package/dist/esm/core/navigation/launcher-resolution.d.ts +98 -6
- package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js +171 -13
- package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.d.ts +35 -21
- package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.js +147 -51
- package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
- package/dist/esm/core/navigation/navigation-cascade.d.ts +44 -14
- package/dist/esm/core/navigation/navigation-cascade.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-cascade.js +87 -19
- package/dist/esm/core/navigation/navigation-cascade.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-commit.d.ts +45 -0
- package/dist/esm/core/navigation/navigation-commit.d.ts.map +1 -0
- package/dist/esm/core/navigation/navigation-commit.js +68 -0
- package/dist/esm/core/navigation/navigation-commit.js.map +1 -0
- package/dist/esm/core/navigation/navigation-controller-internals.d.ts +54 -3
- package/dist/esm/core/navigation/navigation-controller-internals.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-controller-internals.js +91 -3
- package/dist/esm/core/navigation/navigation-controller-internals.js.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +3 -3
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js +3 -3
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.d.ts +95 -22
- package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.js +190 -63
- 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/sidebar-resource-browser-operation.d.ts.map +1 -1
- package/dist/esm/core/navigation/sidebar-resource-browser-operation.js.map +1 -1
- package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.d.ts +64 -0
- package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.d.ts.map +1 -0
- package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.js +212 -0
- package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.js.map +1 -0
- package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts +1 -8
- package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.js +18 -40
- package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.d.ts +1 -0
- package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.js +51 -67
- package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationRouterSync.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationRouterSync.js +17 -1
- package/dist/esm/core/navigation/useNavigationRouterSync.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationState.d.ts.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
- package/dist/esm/core/navigation/useResponsiveZoneMigration.d.ts.map +1 -1
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
- package/dist/esm/core/navigation/useZoneEntryOrganizationHold.d.ts +17 -0
- package/dist/esm/core/navigation/useZoneEntryOrganizationHold.d.ts.map +1 -0
- package/dist/esm/core/navigation/useZoneEntryOrganizationHold.js +32 -0
- package/dist/esm/core/navigation/useZoneEntryOrganizationHold.js.map +1 -0
- package/dist/esm/core/navigation/view-title-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-collapse-migration.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-collapse.d.ts +2 -1
- package/dist/esm/core/navigation/zone-collapse.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-collapse.js +2 -1
- package/dist/esm/core/navigation/zone-collapse.js.map +1 -1
- package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-emphasis.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-entry-organization.d.ts +34 -0
- package/dist/esm/core/navigation/zone-entry-organization.d.ts.map +1 -0
- package/dist/esm/core/navigation/zone-entry-organization.js +77 -0
- package/dist/esm/core/navigation/zone-entry-organization.js.map +1 -0
- package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -1
- package/dist/esm/core/requests/api-readiness-checker.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts +15 -0
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.js +24 -0
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
- package/dist/esm/core/requests/automatic-resend-safety.frontend.d.ts +74 -0
- package/dist/esm/core/requests/automatic-resend-safety.frontend.d.ts.map +1 -0
- package/dist/esm/core/requests/automatic-resend-safety.frontend.js +52 -0
- package/dist/esm/core/requests/automatic-resend-safety.frontend.js.map +1 -0
- package/dist/esm/core/requests/client-instance-id.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.js +31 -0
- 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 +2 -0
- 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/usePublishNotificationBadgeCount.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useResourceRoom.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useWebSocket.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +162 -98
- 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 +283 -157
- 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 +9 -13
- 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 +45 -97
- 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 +25 -5
- 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 +56 -11
- 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/ResourceOperationViewProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.js +1 -2
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
- package/dist/esm/core/resources/bulk-failure-grouping.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/calendar-date-fields.frontend.utils.d.ts +14 -0
- package/dist/esm/core/resources/calendar-date-fields.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/calendar-date-fields.frontend.utils.js +29 -0
- package/dist/esm/core/resources/calendar-date-fields.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/caller-identity-record.frontend.utils.d.ts +23 -0
- package/dist/esm/core/resources/caller-identity-record.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/caller-identity-record.frontend.utils.js +26 -0
- package/dist/esm/core/resources/caller-identity-record.frontend.utils.js.map +1 -0
- 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 +5 -15
- package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts +49 -20
- package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js +92 -86
- package/dist/esm/core/resources/collection-filter-presets.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/date-filter-window.frontend.utils.d.ts +58 -0
- package/dist/esm/core/resources/date-filter-window.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/date-filter-window.frontend.utils.js +70 -0
- package/dist/esm/core/resources/date-filter-window.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/ephemeral-fields.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/file-serve-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.d.ts +146 -7
- package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.js +194 -22
- package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts +18 -4
- package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.js +26 -6
- 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/operation-initiator-satisfaction.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts +95 -2
- package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.js +126 -13
- package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.d.ts +45 -0
- package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.js +46 -0
- package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/referenced-record-scope.frontend.utils.d.ts +46 -0
- package/dist/esm/core/resources/referenced-record-scope.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/referenced-record-scope.frontend.utils.js +86 -0
- package/dist/esm/core/resources/referenced-record-scope.frontend.utils.js.map +1 -0
- 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 +5 -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/resource-addressability.frontend.utils.d.ts +28 -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 +43 -3
- package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-discriminators.frontend.utils.d.ts +26 -0
- package/dist/esm/core/resources/resource-discriminators.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/resource-discriminators.frontend.utils.js +37 -0
- package/dist/esm/core/resources/resource-discriminators.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts +40 -8
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.js +333 -73
- package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts +118 -57
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.js +207 -68
- package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts +9 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.js +57 -22
- 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 +1 -0
- 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/RMMWebSocketBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts +3 -0
- package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.js +94 -35
- 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/mutation-error-report.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-noop-snapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/types.d.ts +58 -6
- package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/types.js +17 -0
- package/dist/esm/core/resources/rmm/types.js.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts +43 -6
- 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 +49 -6
- 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/useRMMEventHandler.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMSnapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.js +2 -0
- package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.d.ts +2 -0
- package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.js +10 -3
- package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
- package/dist/esm/core/resources/temporal-day-groups.frontend.utils.d.ts +22 -0
- package/dist/esm/core/resources/temporal-day-groups.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/temporal-day-groups.frontend.utils.js +31 -0
- package/dist/esm/core/resources/temporal-day-groups.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.d.ts +36 -0
- package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.js +88 -0
- package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.d.ts.map +1 -1
- package/dist/esm/core/resources/useBulkJobProgress.d.ts +6 -0
- package/dist/esm/core/resources/useBulkJobProgress.d.ts.map +1 -1
- package/dist/esm/core/resources/useBulkJobProgress.js +1 -0
- package/dist/esm/core/resources/useBulkJobProgress.js.map +1 -1
- package/dist/esm/core/resources/useCollectionFilterPresetScope.d.ts +14 -0
- package/dist/esm/core/resources/useCollectionFilterPresetScope.d.ts.map +1 -0
- package/dist/esm/core/resources/useCollectionFilterPresetScope.js +29 -0
- package/dist/esm/core/resources/useCollectionFilterPresetScope.js.map +1 -0
- package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts +7 -6
- package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
- package/dist/esm/core/resources/useHostlessResourceNavigation.js +35 -21
- package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
- package/dist/esm/core/resources/useOperationDirectExecution.d.ts.map +1 -1
- package/dist/esm/core/resources/useOperationDirectExecution.js +25 -10
- package/dist/esm/core/resources/useOperationDirectExecution.js.map +1 -1
- package/dist/esm/core/resources/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/useRecordSharing.d.ts +58 -0
- package/dist/esm/core/resources/useRecordSharing.d.ts.map +1 -0
- package/dist/esm/core/resources/useRecordSharing.js +220 -0
- package/dist/esm/core/resources/useRecordSharing.js.map +1 -0
- package/dist/esm/core/resources/useResourceLabels.d.ts +4 -1
- package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceLabels.js +31 -32
- package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.d.ts +21 -3
- package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.js +219 -51
- package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts +10 -1
- package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js +7 -2
- package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.d.ts +5 -5
- package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.js +5 -4
- 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/useResourceSelection.d.ts +6 -0
- 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 +47 -0
- 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 +117 -4
- 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 +3 -1
- package/dist/esm/core/runtime/AppRouter.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.d.ts +10 -1
- package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.js +17 -2
- package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
- package/dist/esm/core/runtime/StartupFailureScreen.d.ts.map +1 -1
- package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts +5 -0
- package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.js +4 -2
- package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/frontend-companion-resource-inputs.d.ts.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +19 -3
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.js +23 -7
- 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/start-application.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
- package/dist/esm/core/runtime/startup-failure-copy.frontend.d.ts.map +1 -1
- package/dist/esm/core/runtime/useApplication.d.ts.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.d.ts +7 -2
- package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.js +56 -10
- 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.utils.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/scope/useAppScope.d.ts.map +1 -1
- package/dist/esm/core/security/AnonymousSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/ApplicationRoleTablesContext.d.ts +23 -0
- package/dist/esm/core/security/ApplicationRoleTablesContext.d.ts.map +1 -0
- package/dist/esm/core/security/ApplicationRoleTablesContext.js +27 -0
- package/dist/esm/core/security/ApplicationRoleTablesContext.js.map +1 -0
- package/dist/esm/core/security/AuthSessionContext.d.ts +26 -8
- package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.js +81 -17
- package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
- package/dist/esm/core/security/RouteOrganizationDecisionContext.d.ts +13 -0
- package/dist/esm/core/security/RouteOrganizationDecisionContext.d.ts.map +1 -0
- package/dist/esm/core/security/RouteOrganizationDecisionContext.js +12 -0
- package/dist/esm/core/security/RouteOrganizationDecisionContext.js.map +1 -0
- package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.js +5 -5
- package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.d.ts +13 -0
- package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.js +272 -103
- package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts +1 -0
- package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.js +3 -2
- 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/consent-gate.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/cross-frontend-handoff.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/security/effective-permissions.frontend.utils.d.ts +43 -0
- package/dist/esm/core/security/effective-permissions.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/security/effective-permissions.frontend.utils.js +73 -0
- package/dist/esm/core/security/effective-permissions.frontend.utils.js.map +1 -0
- package/dist/esm/core/security/federated-reauthentication.frontend.d.ts.map +1 -1
- package/dist/esm/core/security/organization-onboarding.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/registration-outcome.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts +175 -5
- package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/route-organization-access.frontend.utils.js +147 -6
- package/dist/esm/core/security/route-organization-access.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.d.ts +17 -5
- package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.js +0 -5
- package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
- package/dist/esm/core/security/useApplicationRoleTables.d.ts +3 -0
- package/dist/esm/core/security/useApplicationRoleTables.d.ts.map +1 -0
- package/dist/esm/core/security/useApplicationRoleTables.js +11 -0
- package/dist/esm/core/security/useApplicationRoleTables.js.map +1 -0
- package/dist/esm/core/security/useAuthSession.d.ts.map +1 -1
- package/dist/esm/core/security/useConsentGateBehavior.d.ts.map +1 -1
- package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.d.ts.map +1 -1
- package/dist/esm/core/security/useGrantedConsentPurposes.d.ts.map +1 -1
- package/dist/esm/core/security/useResolvedAuthConfig.d.ts.map +1 -1
- package/dist/esm/core/security/useRouteOrganizationAccess.d.ts +9 -0
- package/dist/esm/core/security/useRouteOrganizationAccess.d.ts.map +1 -1
- package/dist/esm/core/security/useRouteOrganizationAccess.js +31 -10
- package/dist/esm/core/security/useRouteOrganizationAccess.js.map +1 -1
- package/dist/esm/core/security/useRouteOrganizationFollow.d.ts +24 -0
- package/dist/esm/core/security/useRouteOrganizationFollow.d.ts.map +1 -0
- package/dist/esm/core/security/useRouteOrganizationFollow.js +76 -0
- package/dist/esm/core/security/useRouteOrganizationFollow.js.map +1 -0
- package/dist/esm/core/security/useStepUpAuth.d.ts.map +1 -1
- package/dist/esm/core/security/useUserOrgs.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfacePolicyContext.d.ts.map +1 -1
- package/dist/esm/core/ui/UIContext.d.ts +25 -2
- package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
- package/dist/esm/core/ui/UIContext.js +49 -37
- 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/design-token-config.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token.utils.d.ts +0 -11
- package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token.utils.js +51 -83
- 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/surface-a11y.utils.d.ts.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 +151 -59
- package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
- package/dist/esm/core/ui/themes/focus-indicator.d.ts +221 -0
- package/dist/esm/core/ui/themes/focus-indicator.d.ts.map +1 -0
- package/dist/esm/core/ui/themes/focus-indicator.js +229 -0
- package/dist/esm/core/ui/themes/focus-indicator.js.map +1 -0
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -6
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.js +1 -2
- package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
- package/dist/esm/core/ui/useUI.d.ts.map +1 -1
- package/dist/esm/index.d.ts +33 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +44 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tailwind/index.d.ts.map +1 -1
- package/dist/esm/tailwind/index.js +3 -0
- package/dist/esm/tailwind/index.js.map +1 -1
- package/dist/esm/testing/app-shell-placement-coverage.d.ts.map +1 -1
- package/dist/esm/testing/app-shell-placement-coverage.js +6 -2
- package/dist/esm/testing/app-shell-placement-coverage.js.map +1 -1
- package/dist/esm/testing/mock-builders.d.ts +13 -1
- package/dist/esm/testing/mock-builders.d.ts.map +1 -1
- package/dist/esm/testing/mock-builders.js +35 -1
- package/dist/esm/testing/mock-builders.js.map +1 -1
- package/dist/esm/testing/rmm-helpers.d.ts +5 -3
- package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
- package/dist/esm/testing/rmm-helpers.js +3 -0
- 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 +3 -0
- package/dist/esm/testing/test-providers.js.map +1 -1
- package/dist/esm/testing.d.ts.map +1 -1
- package/package.json +7 -6
- package/dist/esm/components/flows-actors/flow-node.d.ts +0 -28
- package/dist/esm/components/flows-actors/flow-node.d.ts.map +0 -1
- package/dist/esm/components/flows-actors/flow-node.js +0 -115
- package/dist/esm/components/flows-actors/flow-node.js.map +0 -1
- package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts +0 -30
- package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts.map +0 -1
- package/dist/esm/components/resources/CollectionSelectionHeaderRail.js +0 -17
- package/dist/esm/components/resources/CollectionSelectionHeaderRail.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserOrgsContext.js","sourceRoot":"","sources":["../../../../../src/core/security/UserOrgsContext.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { createContext, useState, ReactNode, useMemo, useEffect, useCallback, useRef } from 'react';\nimport {\n UserContext,\n OrganizationContext,\n CoreResourceType,\n ResourcesConfig_OperationPathUtils,\n CoreResourceOperation,\n ResourceOperationVariantType,\n OPERATION_VARIANT_KEY,\n ExecutionContext_InitiatorIds,\n UserPrivacy,\n UserPreferences,\n SessionType,\n normalizeConsentPurposes,\n type ConsentPurpose,\n} from '@wildo-ai/saas-models';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { FrontendEvents, SessionEndReason } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport {\n EffectivePermissions,\n} from './security.frontend.schemas';\nimport { useAuthSession } from './useAuthSession';\nimport { AuthSessionUtils } from './auth-session.utils';\nimport { isTransientBackendFailure } from '~wildo-frontend-lib/core/requests/auth-refresh-resilience.frontend';\nimport { decodeJwtPayload } from './jwt.frontend.utils';\nimport { useAppScope } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { useAppScopeInternal } from '~wildo-frontend-lib/core/scope/AppScopeContext';\nimport { ScopeUtilsService } from '~wildo-frontend-lib/core/scope/scope.utils.frontend.service';\nimport { findDefaultApiReadOperation } from './route-organization-access.frontend.utils';\n\nconst logger: LoggerFrontendService = LoggerFrontendService.getLogger();\nconst logDebug: (message: string, context?: Record<string, unknown>) => void = logger.debugByType('UserOrgsContext');\nlogger.setDebugTypeLogging('UserOrgsContext', false);\n\n/**\n * Session-restore retry backoff bounds (transient backend failures only).\n *\n * On RELOAD, a backend that is recompiling/restarting (dev) or briefly\n * unavailable (prod) makes the session-restore fetch fail transiently. Rather\n * than force a logout — which clears the shared `__wildo_refresh` cookie and\n * drops the user to the login screen — restore preserves the session and\n * retries with exponential backoff until the backend returns. Genuine auth/authz\n * and non-network errors do NOT retry (see `restoreSession`). Backoff caps so a\n * sustained outage settles at one attempt per {@link RESTORE_RETRY_MAX_DELAY_MS}.\n */\nconst RESTORE_RETRY_BASE_DELAY_MS = 1_000;\nconst RESTORE_RETRY_MAX_DELAY_MS = 30_000;\n\n/**\n * User Organizations Context\n * Manages user data, organizations, permissions, and preferences\n * Consumes AuthSessionContext for authentication state\n */\n\nexport interface UserOrgsContextType {\n // Re-exported from AuthSession for backward compatibility\n auth: ReturnType<typeof useAuthSession>['auth'];\n identifyByEmail: ReturnType<typeof useAuthSession>['identifyByEmail'];\n authenticateWithPassword: ReturnType<typeof useAuthSession>['authenticateWithPassword'];\n authenticate: ReturnType<typeof useAuthSession>['authenticate'];\n getSessionState: ReturnType<typeof useAuthSession>['getSessionState'];\n isAuthenticated: ReturnType<typeof useAuthSession>['isAuthenticated'];\n logout: () => void;\n restoreSession: () => Promise<boolean>;\n\n // OAuth2 + cross-frontend-handoff methods (delegated from AuthSession)\n initiateOAuth2Login: ReturnType<typeof useAuthSession>['initiateOAuth2Login'];\n handleAuthCodeExchange: ReturnType<typeof useAuthSession>['handleAuthCodeExchange'];\n\n // User data\n user: UserContext | null;\n\n // Organization data\n organizations: OrganizationContext[];\n currentOrganizationId: string | null;\n permissions: EffectivePermissions | null;\n primaryScopeInitiatorIds: ExecutionContext_InitiatorIds | null;\n\n // Privacy (only preference managed here, others are in their respective contexts)\n privacy: UserPrivacy | null;\n\n // Organization management\n setCurrentOrganization: (organizationId: string) => void;\n getCurrentOrganization: () => OrganizationContext | null;\n refreshOrganizations: () => Promise<void>;\n\n // Privacy getter\n getPrivacy: () => UserPrivacy | null;\n\n /**\n * Record the signed-in person's consent decision: exactly the purposes they granted (#534).\n *\n * The argument is the WHOLE granted set, never a delta — a purpose left out is a purpose not granted,\n * so an unticked box is a withdrawal rather than \"no change\". The write always carries a decision\n * claim, which is what lets \"grant nothing\" be recorded as a decision instead of reading as a person\n * who was never asked; the recorded instant is the server's (`buildConsentDecisionPatch`).\n *\n * Resolves with the stored privacy block once it is in state, so a caller gating on consent (the\n * consent gate) sees the new decision on the next render. Rejects when the application mounts no\n * self-preferences UPDATE door or the write fails — a consent surface must say it could not save,\n * never behave as though it had.\n */\n recordConsentDecision: (grantedPurposes: readonly ConsentPurpose[]) => Promise<UserPrivacy>;\n}\n\n/**\n * UserOrgs Context\n * Exported for use in separate hook file (Fast Refresh compatibility)\n * @internal - Use useUserOrgs() hook instead of accessing this directly\n */\nexport const UserOrgsContext: React.Context<UserOrgsContextType | undefined> = createContext<UserOrgsContextType | undefined>(undefined);\n\nexport const UserOrgsProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const { doOperation, registry } = useResourceRegistry();\n const { emit } = useEventBus();\n\n // Consume auth session context\n const authSession = useAuthSession();\n const {\n auth,\n tokenStorage,\n identifyByEmail,\n authenticateWithPassword,\n authenticate,\n getSessionState,\n isAuthenticated,\n logout: authLogout,\n endSession,\n getSessionEstablishment,\n getSessionEndReason,\n initiateOAuth2Login,\n handleAuthCodeExchange,\n markSessionRestored,\n setSessionRestoring,\n connectWebSocket,\n } = authSession;\n const appScope = useAppScope();\n const { commitOrganizationScopeValue } = useAppScopeInternal();\n const currentOrganizationId = appScope.currentOrganizationId;\n\n const hasInitializedRef = useRef(false);\n const previousTokenRef = useRef<string | null>(null);\n // Restore-retry lifecycle: `restoreAbortRef` flips true on unmount so an\n // in-flight backoff loop bails instead of touching state on a dead component;\n // `restoreRetryTimerRef` holds the pending backoff timer for cleanup.\n const restoreAbortRef = useRef(false);\n const restoreRetryTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const [user, setUser] = useState<UserContext | null>(null);\n\n const [organizations, setOrganizations] = useState<OrganizationContext[]>([]);\n\n const [permissions, setPermissions] = useState<{\n appLevel: string[];\n organizations: Record<string, string[]>;\n } | null>(null);\n\n const [privacy, setPrivacy] = useState<UserPrivacy | null>(null);\n\n type PreferencesPayload = Pick<UserPreferences, 'languagePreferences' | 'regional' | 'ui' | 'notifications' | 'privacy'>;\n\n /**\n * The TENANT's half of the payload, derived from its preferences record rather than passed\n * alongside it (#410).\n *\n * The organization contributes two things to `I18nContext` — its language policy and its regional\n * defaults — and they are forwarded together because they come from one record. An earlier shape\n * took the language block as its own argument, and when the regional half was added every call\n * site would have had to remember to forward a second one: three sites, one obligation each, and\n * a fourth site tomorrow that forwards neither. Passing the record makes forgetting impossible.\n */\n const organizationPreferencesPayload = (\n organizationPreferences: OrganizationContext['preferences'] | null | undefined,\n ): Record<string, unknown> => {\n if (organizationPreferences === undefined) {\n return {};\n }\n if (organizationPreferences === null) {\n return { organizationLanguagePreferences: null, organizationRegionalPreferences: null };\n }\n return {\n organizationLanguagePreferences: organizationPreferences.languagePreferences ?? null,\n organizationRegionalPreferences: {\n timezone: organizationPreferences.timezone,\n locale: organizationPreferences.locale,\n dateFormat: organizationPreferences.dateFormat,\n timeFormat: organizationPreferences.timeFormat,\n },\n };\n };\n\n const emitPreferencesChanged = useCallback((\n preferences: PreferencesPayload | null | undefined,\n organizationPreferences?: OrganizationContext['preferences'] | null,\n ): void => {\n if (preferences === null) {\n emit(FrontendEvents.USER_PREFERENCES_CHANGED, {\n languagePreferences: null,\n organizationLanguagePreferences: null,\n regionalPreferences: null,\n organizationRegionalPreferences: null,\n notificationsPreferences: null,\n uiPreferences: null,\n privacy: null,\n });\n return;\n }\n\n emit(FrontendEvents.USER_PREFERENCES_CHANGED, {\n ...(preferences?.languagePreferences !== undefined ? { languagePreferences: preferences.languagePreferences } : {}),\n ...organizationPreferencesPayload(organizationPreferences),\n ...(preferences?.regional !== undefined ? { regionalPreferences: preferences.regional } : {}),\n ...(preferences?.notifications !== undefined ? { notificationsPreferences: preferences.notifications } : {}),\n ...(preferences?.ui !== undefined ? { uiPreferences: preferences.ui } : {}),\n ...(preferences?.privacy !== undefined ? { privacy: preferences.privacy } : {}),\n });\n }, [emit]);\n\n /*\n * `USER_LOGIN` / `USER_LOGOUT` — announced HERE, once per transition of the known person (#1977).\n *\n * Nothing emitted them before, so every listener — error-report attribution, analytics identify and\n * reset, the sign-in and sign-out analytics events — was dead code that read as if sign-in were\n * observed. This is the one place every sign-in method and every way a session ends converge: each\n * authentication stores a token, the auto-load effect below restores the user from it, and every\n * sign-out, refused refresh, failed restore and cross-tab sign-out clears the token, which clears the\n * user. Emitting at each auth method instead would be a dozen call sites, and the next method added\n * would be the one that forgot. Declared BEFORE the preferences effect, because effects run in\n * declaration order and a person's arrival must precede their preferences.\n *\n * The id last announced is the guard, so a re-render, a preferences write that replaces the user\n * object, or StrictMode re-running an effect announces nothing, and a direct switch from one person to\n * another announces the first one's departure before the second one's arrival. HOW the session began\n * and WHY it ended are recorded by `AuthSessionProvider`, the only code that knows, and read at the\n * moment of announcing.\n *\n * A DEPARTURE is announced by the two places that clear the user, BEFORE they publish `privacy: null`:\n * a listener that must act while the person's consent still holds (the sign-out analytics event, sent\n * before the destinations are reset) needs the announcement first, and the consent-based providers\n * stop on the `privacy: null` that follows. The effect announces ARRIVALS, and a departure only as a\n * backstop for a path that cleared the user without announcing. An unmount announces nothing: the\n * provider going away is not the person signing out.\n */\n const announcedUserIdRef = useRef<string | null>(null);\n const announceDeparture = useCallback((reason: SessionEndReason): void => {\n const departedUserId = announcedUserIdRef.current;\n if (departedUserId === null) return;\n announcedUserIdRef.current = null;\n emit(FrontendEvents.USER_LOGOUT, { userId: departedUserId, reason });\n }, [emit]);\n const knownUserId = user?._id ?? null;\n useEffect(() => {\n const previousUserId = announcedUserIdRef.current;\n if (previousUserId === knownUserId) return;\n if (previousUserId !== null && knownUserId !== null) {\n /*\n * One person REPLACED by another with no sign-out between them. Believed unreachable today: a sign-in\n * while someone is loaded sets `isRestoringSession` with `hasInitializedRef` already true, so the\n * auto-load effect below skips it, and `restoreSession` returns early while a user is loaded. Handled\n * anyway, because the consequence of getting it wrong is the next person's analytics running under\n * the previous person's consent: the departure is followed by the same `privacy: null` a sign-out\n * publishes, BEFORE the arrival, so the next person is judged on their own preferences, which the\n * preferences effect below publishes after this one.\n */\n announceDeparture(SessionEndReason.REPLACED);\n setPrivacy(null);\n emitPreferencesChanged(null);\n } else if (previousUserId !== null) {\n announceDeparture(getSessionEndReason());\n }\n if (knownUserId !== null) {\n announcedUserIdRef.current = knownUserId;\n emit(FrontendEvents.USER_LOGIN, { userId: knownUserId, establishment: getSessionEstablishment() });\n }\n }, [knownUserId, emit, announceDeparture, emitPreferencesChanged, getSessionEndReason, getSessionEstablishment]);\n\n const primaryScopeInitiatorIds = useMemo<ExecutionContext_InitiatorIds | null>(() => {\n return ScopeUtilsService.buildInitiatorIds({\n userId: appScope.currentUserId,\n organizationId: appScope.currentOrganizationId,\n applicationId: appScope.currentApplicationId,\n anonymousUserId: appScope.currentAnonymousUserId,\n });\n }, [\n appScope.currentApplicationId,\n appScope.currentAnonymousUserId,\n appScope.currentOrganizationId,\n appScope.currentUserId,\n ]);\n\n /**\n * Extract and store user preferences from context\n * Stores preferences in state for other contexts to read and apply\n */\n const storePreferences = useCallback((\n preferences: PreferencesPayload,\n organizationPreferences?: OrganizationContext['preferences'] | null,\n ): void => {\n // Store privacy preferences in state\n if (preferences.privacy) {\n setPrivacy(preferences.privacy);\n }\n\n const currentOrganizationPreferences = organizationPreferences !== undefined\n ? organizationPreferences\n : currentOrganizationId\n ? organizations.find((organization) => organization._id === currentOrganizationId)?.preferences\n : undefined;\n\n // Emit preference change event to notify parent contexts\n emitPreferencesChanged(\n preferences,\n currentOrganizationPreferences,\n );\n }, [currentOrganizationId, emitPreferencesChanged, organizations]);\n\n /**\n * Compute effective permissions from user's app roles and organization roles\n * This is a basic implementation - can be enhanced based on role hierarchy\n */\n const computeEffectivePermissions = (\n userContext: UserContext,\n organizationsList: OrganizationContext[]\n ): EffectivePermissions | null => {\n // App-level permissions from user's app roles\n const appLevel = (userContext.appRoles || []) as string[];\n\n // Per-organization permissions from organization membership roles\n // Use new field name from relationship-based context\n const organizationsPermissions: Record<string, string[]> = {};\n const memberships = userContext.organizationMembers || [];\n\n for (const membership of memberships) {\n organizationsPermissions[membership.organizationId] = (membership.roles || []) as string[];\n }\n\n return {\n appLevel,\n organizations: organizationsPermissions,\n };\n };\n\n /**\n * Load organizations independently (can be called separately from authentication)\n */\n const loadOrganizations = useCallback(async (userContext: UserContext): Promise<{\n organizationsList: OrganizationContext[];\n selectedOrgId: string | null;\n }> => {\n const allMemberships = userContext.organizationMembers || [];\n\n // W7.3b: For one-off sessions, restrict to the scoped organization only\n const scopedOrgId = auth.sessionType === SessionType.ONE_OFF\n ? tokenStorage.getOrganizationId()\n : null;\n\n const memberships = scopedOrgId\n ? allMemberships.filter((m: any) => m.organizationId === scopedOrgId)\n : allMemberships;\n\n logDebug('Loading organizations', {\n userId: userContext._id,\n membershipCount: memberships.length,\n isOneOff: auth.sessionType === SessionType.ONE_OFF,\n });\n\n const organizationsList: OrganizationContext[] = [];\n\n if (memberships.length > 0) {\n const organizationsConfig = registry.resourceConfigurations[CoreResourceType.ORGANIZATIONS];\n if (!organizationsConfig) {\n logger.warn('ORGANIZATIONS resource not available');\n return { organizationsList, selectedOrgId: null };\n }\n\n // Shared with the route organization-access probe, which must address the same READ.\n const orgsReadOp = findDefaultApiReadOperation(organizationsConfig);\n\n if (!orgsReadOp) {\n logger.warn('ORGANIZATIONS READ operation not found');\n return { organizationsList, selectedOrgId: null };\n }\n\n const organizationsOperationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(orgsReadOp);\n\n /**\n * The tenant's preference record is fetched SEPARATELY, and that is a decision rather than an\n * omission (#563).\n *\n * `OrganizationContextSchema` declares `preferences`, and `doOperation<OrganizationContext>`\n * is a CAST — nothing validates the response against it — so the field read as available\n * while no producer existed: the ORGANIZATIONS **default** READ returns a plain\n * `Organization`, and the organisation's regional block therefore never reached\n * `I18nContext`. Every date and number in every generated application formatted at the\n * framework floor as a result.\n *\n * The rejected alternative was to switch this call to the ORGANIZATIONS **context** variant,\n * which does populate the child. Measured against the running stack on 2026-09-10, that\n * response carries every context-enabled child of an organisation — `auditLogs`, `todos`,\n * `tasks`, `knowledgeDocuments`, `organizationMembers`, … — so session restore would pull an\n * unbounded page of tenant data per membership to obtain four regional fields. (#583 has since\n * taken the audit and delivery logs off the context surface and capped every 1:many child at\n * `contextPolicy.limit`, 20 by default. The page is bounded now, but it is still a page of tenant\n * data per membership, so the reasoning stands.) The\n * preference record has its own default READ (`GET /organizations/{id}/organization-preference`,\n * reachable by an ordinary `ORG_MEMBER`), which is one small request with a stable shape.\n *\n * Best-effort by construction: a tenant whose preferences cannot be read still yields a\n * usable organisation, and `organizationPreferencesPayload(undefined)` then contributes\n * nothing to the i18n event rather than clearing the member's own settings.\n */\n const organizationPreferencesConfig = registry.resourceConfigurations[CoreResourceType.ORGANIZATION_PREFERENCES];\n const organizationPreferencesReadOp = findDefaultApiReadOperation(organizationPreferencesConfig);\n\n if (!organizationPreferencesReadOp) {\n logger.warn('ORGANIZATION_PREFERENCES READ operation not found — tenant regional defaults will not be applied');\n }\n\n const organizationPreferencesOperationPath = organizationPreferencesReadOp\n ? ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(organizationPreferencesReadOp)\n : null;\n\n const fetchOrganizationPreferences = async (\n organizationId: string,\n ): Promise<OrganizationContext['preferences'] | undefined> => {\n if (!organizationPreferencesOperationPath) return undefined;\n try {\n return await doOperation<NonNullable<OrganizationContext['preferences']>>(\n organizationPreferencesOperationPath,\n { contextualParameters: { organizationId } },\n ) ?? undefined;\n } catch (error) {\n logger.warn('Failed to fetch organization preferences', { organizationId, error });\n return undefined;\n }\n };\n\n const orgPromises = memberships.map(async (membership: any) => {\n try {\n const [org, preferences] = await Promise.all([\n doOperation<OrganizationContext>(\n organizationsOperationPath,\n { contextualParameters: { organizationId: membership.organizationId } }),\n fetchOrganizationPreferences(membership.organizationId),\n ]);\n\n if (!org) return null;\n // OMIT the key when the read failed rather than attaching `null`. The payload builder\n // reads the two differently: `undefined`/absent contributes nothing to the i18n event,\n // while `null` means \"the tenant has cleared its preferences\" and actively resets the\n // organisation half — which would silently downgrade a member to the framework floor\n // because one request failed.\n return preferences ? { ...org, preferences } : org;\n } catch (error) {\n logger.warn('Failed to fetch organization', { organizationId: membership.organizationId, error });\n return null;\n }\n });\n\n const orgResults = await Promise.all(orgPromises);\n organizationsList.push(...orgResults.filter((org): org is OrganizationContext => org !== null));\n }\n\n // Restore current organization selection\n const storedOrgId = tokenStorage.getOrganizationId();\n const selectedOrgId = storedOrgId && organizationsList.find(o => o._id === storedOrgId)\n ? storedOrgId\n : organizationsList[0]?._id || null;\n\n // Compute effective permissions from roles\n const computedPermissions = computeEffectivePermissions(userContext, organizationsList);\n\n setOrganizations(organizationsList);\n commitOrganizationScopeValue(selectedOrgId);\n setPermissions(computedPermissions);\n\n logDebug('Organizations loaded', { organizationCount: organizationsList.length, currentOrganizationId: selectedOrgId });\n return { organizationsList, selectedOrgId };\n }, [commitOrganizationScopeValue, doOperation, registry, tokenStorage, auth.sessionType]);\n\n /**\n * Restore regular user session\n */\n const restoreUserSession = useCallback(async (accessToken: string): Promise<boolean> => {\n logDebug('Restoring user session');\n\n // Check if USER_SELF is available\n const availableResources = Object.keys(registry.resourceConfigurations);\n const hasUserSelf = availableResources.includes(CoreResourceType.USER_SELF);\n\n if (!hasUserSelf) {\n logger.warn('USER_SELF resource not available for session restoration');\n return false;\n }\n\n // Get USER_SELF resource config\n const userSelfConfig = registry.resourceConfigurations[CoreResourceType.USER_SELF];\n\n const readOperation = findDefaultApiReadOperation(userSelfConfig);\n\n if (!readOperation) {\n logger.warn('USER_SELF READ operation not found');\n return false;\n }\n\n // Find context variant (auto-generated with relationship population)\n const readContextOp = userSelfConfig.operations.find((op: any) =>\n op.operationIdentifier === CoreResourceOperation.READ &&\n op.isBulkOperation !== true &&\n (\n op.variantType === ResourceOperationVariantType.API_CALL ||\n op.variantType === ResourceOperationVariantType.API_CALL_WITH_CALLBACK\n ) &&\n op.variantKey === OPERATION_VARIANT_KEY.CONTEXT\n );\n\n if (!readContextOp) {\n logger.warn('USER_SELF context variant not found');\n return false;\n }\n\n const initiatorInfo = readOperation.initiatorInfos?.[0];\n const requiresUserId = initiatorInfo?.parameters?.some((p: any) => p.fieldIdentifier === 'userId');\n\n const contextualParameters: Record<string, string> = {};\n\n if (requiresUserId && accessToken) {\n try {\n const payload = decodeJwtPayload<{ userId?: string }>(accessToken);\n if (payload.userId) {\n contextualParameters.userId = payload.userId;\n }\n } catch (e) {\n logDebug('Failed to decode JWT for userId extraction', { error: e });\n }\n }\n\n // Build operation path and fetch user context\n const contextPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(readContextOp);\n const userContext = await doOperation<UserContext>(contextPath, { contextualParameters });\n\n if (!userContext) {\n logger.warn('Failed to fetch user context during session restoration');\n return false;\n }\n\n // Use new field name from relationship-based context\n const membershipsCount = (userContext.organizationMembers || []).length;\n logDebug('User context restored', { userId: userContext._id, organizationCount: membershipsCount });\n\n // Update user state\n setUser(userContext);\n\n // Load organizations separately\n // If this fails, session restoration still succeeds (user context is restored)\n const { organizationsList, selectedOrgId } = await loadOrganizations(userContext);\n\n // Store preferences after organization loading so i18n receives user and\n // active-organization language policy in the same event.\n const preferences = userContext.userSelfPreferences;\n if (preferences) {\n const currentOrganization = selectedOrgId\n ? organizationsList.find((organization) => organization._id === selectedOrgId)\n : null;\n storePreferences(preferences, currentOrganization?.preferences);\n }\n\n logger.info('Session restored successfully', {\n userId: userContext._id,\n organizationCount: membershipsCount\n });\n\n return true;\n }, [doOperation, registry, loadOrganizations, storePreferences]);\n\n // Stop any pending restore-retry backoff when the provider unmounts, so the\n // loop in `restoreSession` bails instead of calling setState on a dead tree.\n useEffect(() => {\n restoreAbortRef.current = false;\n return () => {\n restoreAbortRef.current = true;\n if (restoreRetryTimerRef.current) {\n clearTimeout(restoreRetryTimerRef.current);\n restoreRetryTimerRef.current = null;\n }\n };\n }, []);\n\n /**\n * Restore session from stored JWT token\n * Fetches user context using USER_SELF resource (userId comes from JWT)\n * Then fetches full organization details for each organization membership\n *\n * Resilience: a TRANSIENT backend failure (unreachable / 5xx / timeout, or a\n * 401 whose in-flight renewal failed transiently) does NOT log out — restore\n * preserves the session and retries with capped exponential backoff until the\n * backend returns. Genuine authentication (401), authorization (403), and\n * non-network errors terminate immediately (no retry on a dead-or-buggy path).\n */\n const restoreSession = useCallback(async (): Promise<boolean> => {\n logDebug('Restoring session from stored token');\n\n // Check if session is already restored to avoid duplicate restoration attempts\n if (auth.sessionRestored && auth.accessToken && user) {\n logDebug('Session already restored, skipping restoration');\n return true;\n }\n\n // Read token from auth state\n const accessToken = auth.accessToken;\n\n if (!accessToken) {\n logDebug('No access token available');\n return false;\n }\n\n setSessionRestoring(true);\n\n let attempt = 0;\n // Single backoff loop: the invoking effect won't re-enter while\n // `isRestoringSession` is true, so this is the sole restore in flight.\n while (true) {\n try {\n const restored = await restoreUserSession(accessToken);\n\n if (restored) {\n markSessionRestored();\n\n // W7.3b: One-off sessions already connected WebSocket in handleOneOffTokenExchange\n // (with consumableToken). Reconnecting here would lose the consumable token.\n if (auth.sessionType !== SessionType.ONE_OFF) {\n // Connect with the FRESHEST token, read live from storage — NOT the\n // `accessToken` captured at the top of `restoreSession`. During the\n // awaited `restoreUserSession` above, the HTTP interceptor may have\n // hit a `401 OUTDATED_AUTH_JWT` and rotated the token via\n // `tokenRenewalHandler` (which writes the new token to storage AND\n // seeds the WS `authStateRef` synchronously). The captured\n // `accessToken` is then stale/expired; passing it into `connect()`\n // reseeds the WS credential source-of-truth back to the expired token\n // (clobbering the fresh one the refresh just stored), and the Socket.IO\n // handshake gets rejected with \"Authentication failed\". `getAccessToken()`\n // returns the live, post-refresh value (falling back to the captured\n // token only if storage is somehow empty).\n const freshestAccessToken = tokenStorage.getAccessToken() ?? accessToken;\n connectWebSocket(freshestAccessToken, tokenStorage.getOrganizationId());\n }\n } else {\n logger.warn('Session restoration could not build a valid authenticated context; logging out to avoid a half-restored state');\n endSession(SessionEndReason.SESSION_ENDED);\n }\n\n return restored;\n\n } catch (error: any) {\n // Authorization (403 / scope) is checked FIRST and is non-destructive: a\n // permission denial must NEVER destroy a valid session. Authentication\n // (401 / session-invalid) is the only branch that force-logs-out.\n // `isAuthenticationError` already excludes authorization errors (see\n // `AuthSessionUtils`), so these are mutually exclusive — the explicit\n // ordering here is defense-in-depth so the non-destructive path wins even\n // if that guard is ever loosened.\n const isAuthorizationError = AuthSessionUtils.isAuthorizationError(error);\n\n if (isAuthorizationError) {\n const errorMessage = error?.message || 'Session restoration blocked by authorization';\n logger.warn('Session restoration encountered authorization/scope error', {\n error: errorMessage,\n errorType: error?.wildoError?.type || error?.response?.data?.error?.type,\n status: error?.response?.status,\n });\n setSessionRestoring(false);\n markSessionRestored();\n return false;\n }\n\n // TRANSIENT backend failure (checked BEFORE the authentication branch so\n // a 401 whose renewal failed transiently is retried, not logged out):\n // preserve the session, back off, and retry. Bail if the component\n // unmounted or the session was cleared (logout elsewhere) while waiting.\n if (isTransientBackendFailure(error)) {\n attempt += 1;\n const delay = Math.min(\n RESTORE_RETRY_BASE_DELAY_MS * 2 ** (attempt - 1),\n RESTORE_RETRY_MAX_DELAY_MS,\n );\n logger.warn('Session restoration hit a transient backend failure; preserving session and retrying', {\n attempt,\n retryInMs: delay,\n status: error?.response?.status,\n code: error?.code,\n });\n await new Promise<void>((resolve) => {\n restoreRetryTimerRef.current = setTimeout(resolve, delay);\n });\n if (restoreAbortRef.current || !tokenStorage.getAccessToken()) {\n setSessionRestoring(false);\n return false;\n }\n continue;\n }\n\n if (AuthSessionUtils.isAuthenticationError(error)) {\n logDebug('Session restoration failed due to authentication error', {\n errorType: error?.wildoError?.type || error?.response?.data?.error?.type,\n status: error?.response?.status,\n });\n endSession(SessionEndReason.SESSION_ENDED);\n return false;\n }\n\n // Fail closed on unexpected NON-transient errors. A partially restored\n // authenticated shell is less safe than dropping back to a clean login.\n const errorMessage = error?.message || 'Session restoration failed';\n logger.warn('Session restoration encountered a non-transient error; logging out', {\n error: errorMessage,\n errorType: error?.wildoError?.type,\n });\n\n endSession(SessionEndReason.SESSION_ENDED);\n return false;\n }\n }\n }, [\n restoreUserSession,\n auth.sessionRestored,\n auth.sessionType,\n auth.accessToken,\n user,\n endSession,\n markSessionRestored,\n setSessionRestoring,\n connectWebSocket,\n tokenStorage\n ]);\n\n /**\n * Refresh organizations data (e.g., after organization update)\n */\n const refreshOrganizations = useCallback(async (): Promise<void> => {\n // Use new field name from relationship-based context\n const memberships = user?.organizationMembers || [];\n\n if (memberships.length === 0) {\n logDebug('No organizations membership to refresh');\n return;\n }\n\n logDebug('Refreshing organizations', { membershipCount: memberships.length });\n\n // Use loadOrganizations to refresh\n await loadOrganizations(user!);\n }, [user, loadOrganizations]);\n\n useEffect(() => {\n if (!user?.userSelfPreferences) {\n return;\n }\n\n const currentOrganization = currentOrganizationId\n ? organizations.find((organization) => organization._id === currentOrganizationId)\n : null;\n\n emitPreferencesChanged(\n user.userSelfPreferences,\n currentOrganization?.preferences,\n );\n }, [currentOrganizationId, emitPreferencesChanged, organizations, user]);\n\n /**\n * Set the current active organization\n */\n const setCurrentOrganization = useCallback((organizationId: string): void => {\n // Validate that organization exists in user's organizations\n const org = organizations.find(o => o._id === organizationId);\n if (!org) {\n logger.warn('Attempted to set invalid organization', { organizationId, availableOrganizations: organizations.map(o => o._id) });\n return;\n }\n\n const previousOrganizationId = currentOrganizationId;\n\n // Skip if the organization hasn't changed\n if (previousOrganizationId === organizationId) {\n return;\n }\n\n logDebug('Setting current organization', { organizationId, organizationName: org.name, previousOrganizationId });\n commitOrganizationScopeValue(organizationId);\n }, [organizations, currentOrganizationId, commitOrganizationScopeValue]);\n\n /**\n * Get the current active organization\n */\n const getCurrentOrganization = useCallback((): OrganizationContext | null => {\n if (!currentOrganizationId) {\n return null;\n }\n return organizations.find(o => o._id === currentOrganizationId) || null;\n }, [currentOrganizationId, organizations]);\n\n /**\n * Get privacy preferences\n */\n const getPrivacy = useCallback((): UserPrivacy | null => {\n return privacy;\n }, [privacy]);\n\n // Depend on the builder alone: the whole AppScope value changes with every custom scope value, and through\n // this callback it would re-render every `useUserOrgs` consumer.\n const buildScopeContextualParameters = appScope.buildContextualParameters;\n const recordConsentDecision = useCallback(async (grantedPurposes: readonly ConsentPurpose[]): Promise<UserPrivacy> => {\n const operation = registry.resourceConfigurations[CoreResourceType.USER_SELF_PREFERENCES]?.operations.find(\n (candidate) => candidate.operationIdentifier === CoreResourceOperation.UPDATE\n && candidate.isOperationDefault === true\n && candidate.isBulkOperation !== true\n && (\n candidate.variantType === ResourceOperationVariantType.API_CALL\n || candidate.variantType === ResourceOperationVariantType.API_CALL_WITH_CALLBACK\n ),\n );\n if (!operation) {\n throw new Error('Cannot record a consent decision: this application mounts no user self-preferences UPDATE operation');\n }\n\n const updated = await doOperation<UserPreferences>(\n ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation),\n {\n // This provider sits ABOVE `ScopedResourceRegistryProvider`, so the `doOperation` it holds injects\n // no scope: the user id the self-preferences route is addressed by has to be supplied here. With an\n // empty set the client could not build the URL and every decision failed before a request left\n // (`frontend_resource_no_endpoint_available`, #977 — found by driving the prompt in a browser).\n contextualParameters: buildScopeContextualParameters(),\n requestData: {\n // The client instant is only a CLAIM that this write is a decision; the server replaces it.\n privacy: { consentedPurposes: normalizeConsentPurposes(grantedPurposes), consentDecidedAt: new Date() },\n },\n },\n );\n const storedPrivacy = updated?.privacy;\n if (!storedPrivacy) {\n throw new Error('Consent decision was written but the response carried no privacy block');\n }\n\n setPrivacy(storedPrivacy);\n // Updating the user's preferences record re-emits USER_PREFERENCES_CHANGED through the effect\n // above, which is how the analytics provider learns the new set without a second channel.\n setUser((previous) => previous\n ? { ...previous, userSelfPreferences: { ...(previous.userSelfPreferences ?? {}), privacy: storedPrivacy } as UserContext['userSelfPreferences'] }\n : previous);\n // While a required purpose was missing the backend refused this person's organization reads, so\n // session restore may have loaded none (#534 re-review N1). Re-load them now that the decision is\n // stored; a failure leaves the decision recorded and is retried on the next restore.\n if (organizations.length === 0) {\n await refreshOrganizations().catch((error: unknown) => {\n logger.warn('Organizations could not be re-loaded after a consent decision', { error });\n });\n }\n return storedPrivacy;\n }, [buildScopeContextualParameters, doOperation, registry, organizations.length, refreshOrganizations]);\n\n /**\n * Logout wrapper that also clears user/org data\n */\n const logout = useCallback((): void => {\n logDebug('Logging out user', { userId: user?._id, organizationId: currentOrganizationId });\n\n // Announced first, while the person's consent still holds — see the block above (#1977).\n announceDeparture(SessionEndReason.SIGNED_OUT);\n\n // Clear user/org data first\n setUser(null);\n setOrganizations([]);\n commitOrganizationScopeValue(null);\n setPermissions(null);\n setPrivacy(null);\n emitPreferencesChanged(null);\n\n // Reset initialization flag\n hasInitializedRef.current = false;\n previousTokenRef.current = null;\n\n // Call auth logout (clears tokens, disconnects WebSocket)\n authLogout();\n }, [user?._id, currentOrganizationId, authLogout, announceDeparture, commitOrganizationScopeValue, emitPreferencesChanged]);\n\n // Auto-load user/org data when token becomes available\n useEffect(() => {\n const accessToken = auth.accessToken;\n\n // Skip if no token or token hasn't changed\n if (!accessToken || accessToken === previousTokenRef.current) {\n return;\n }\n\n // Skip if session is already restored with this token\n if (auth.sessionRestored && user) {\n previousTokenRef.current = accessToken;\n return;\n }\n\n // Skip if already initializing\n if (hasInitializedRef.current && auth.isRestoringSession) {\n return;\n }\n\n logDebug('Token changed, initiating session restoration', {\n hasToken: !!accessToken,\n previousToken: !!previousTokenRef.current\n });\n\n previousTokenRef.current = accessToken;\n hasInitializedRef.current = true;\n\n // Restore session (will fetch user/org data)\n restoreSession().catch((error) => {\n logger.error('Session restoration failed', { error });\n });\n }, [auth.accessToken, auth.sessionRestored, auth.isRestoringSession, user, restoreSession]);\n\n // Clear data when token is removed (logged out)\n useEffect(() => {\n if (!auth.accessToken && previousTokenRef.current) {\n logDebug('Token removed, clearing user/org data');\n // Announced before `privacy: null`, with the reason the auth session recorded (#1977).\n announceDeparture(getSessionEndReason());\n setUser(null);\n setOrganizations([]);\n commitOrganizationScopeValue(null);\n setPermissions(null);\n setPrivacy(null);\n emitPreferencesChanged(null);\n previousTokenRef.current = null;\n hasInitializedRef.current = false;\n }\n }, [auth.accessToken, announceDeparture, commitOrganizationScopeValue, emitPreferencesChanged, getSessionEndReason]);\n\n const value = useMemo<UserOrgsContextType>(() => ({\n // Re-exported from AuthSession for backward compatibility\n auth,\n identifyByEmail,\n authenticateWithPassword,\n authenticate,\n getSessionState,\n isAuthenticated,\n logout,\n restoreSession,\n\n // OAuth2 + cross-frontend-handoff methods (delegated from AuthSession)\n initiateOAuth2Login,\n handleAuthCodeExchange,\n\n // User data\n user,\n\n // Organization data\n organizations,\n currentOrganizationId,\n permissions,\n primaryScopeInitiatorIds,\n\n // Privacy (only preference managed here)\n privacy,\n\n // Organization management\n setCurrentOrganization,\n getCurrentOrganization,\n refreshOrganizations,\n\n // Privacy getter\n getPrivacy,\n recordConsentDecision,\n }), [\n auth,\n identifyByEmail,\n authenticateWithPassword,\n authenticate,\n getSessionState,\n isAuthenticated,\n logout,\n restoreSession,\n initiateOAuth2Login,\n handleAuthCodeExchange,\n user,\n organizations,\n currentOrganizationId,\n permissions,\n primaryScopeInitiatorIds,\n privacy,\n setCurrentOrganization,\n getCurrentOrganization,\n refreshOrganizations,\n getPrivacy,\n recordConsentDecision,\n ]);\n\n return <UserOrgsContext.Provider value={value}>{children}</UserOrgsContext.Provider>;\n};\n\n// useUserOrgs hook is now in separate file: ./useUserOrgs.ts\n// This separation is required for React Fast Refresh compatibility\n"]}
|
|
1
|
+
{"version":3,"file":"UserOrgsContext.js","sourceRoot":"","sources":["../../../../../src/core/security/UserOrgsContext.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { createContext, useState, ReactNode, useMemo, useEffect, useCallback, useRef, useContext } from 'react';\nimport {\n UserContext,\n OrganizationContext,\n CoreResourceType,\n ResourcesConfig_OperationPathUtils,\n CoreResourceOperation,\n ResourceOperationVariantType,\n OPERATION_VARIANT_KEY,\n ExecutionContext_InitiatorIds,\n UserPrivacy,\n UserPreferences,\n SessionType,\n normalizeConsentPurposes,\n UserSelf_Operations,\n type ConsentPurpose,\n type UserSelfAccessProfile,\n} from '@wildo-ai/saas-models';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { FrontendEvents, SessionEndReason } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport {\n EffectivePermissions,\n} from './security.frontend.schemas';\nimport { useAuthSession } from './useAuthSession';\nimport { AuthSessionUtils } from './auth-session.utils';\nimport { accessProfileConfersOrganization, membershipRolesFromAccessProfile } from './effective-permissions.frontend.utils';\nimport { isTransientBackendFailure, sessionEndReasonForRefusal } from '~wildo-frontend-lib/core/requests/auth-refresh-resilience.frontend';\nimport { decodeJwtPayload } from './jwt.frontend.utils';\nimport { useAppScope } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { useAppScopeInternal } from '~wildo-frontend-lib/core/scope/AppScopeContext';\nimport { ScopeUtilsService } from '~wildo-frontend-lib/core/scope/scope.utils.frontend.service';\nimport { findDefaultApiReadOperation, hasActiveMembershipInOrganization } from './route-organization-access.frontend.utils';\nimport { ScopeChangeInitiator } from '~wildo-frontend-lib/core/scope/scope.frontend.schemas';\nimport { deriveRegionalReaderStanding } from '~wildo-frontend-lib/core/i18n/regional-preference-resolution.frontend.utils';\nimport { RegionalReaderStandingPublisherContext } from '~wildo-frontend-lib/core/i18n/I18nContext';\n\nconst logger: LoggerFrontendService = LoggerFrontendService.getLogger();\nconst logDebug: (message: string, context?: Record<string, unknown>) => void = logger.debugByType('UserOrgsContext');\nlogger.setDebugTypeLogging('UserOrgsContext', false);\n\n/**\n * Session-restore retry backoff bounds (transient backend failures only).\n *\n * On RELOAD, a backend that is recompiling/restarting (dev) or briefly\n * unavailable (prod) makes the session-restore fetch fail transiently. Rather\n * than force a logout — which clears the shared `__wildo_refresh` cookie and\n * drops the user to the login screen — restore preserves the session and\n * retries with exponential backoff until the backend returns. Genuine auth/authz\n * and non-network errors do NOT retry (see `restoreSession`). Backoff caps so a\n * sustained outage settles at one attempt per {@link RESTORE_RETRY_MAX_DELAY_MS}.\n */\nconst RESTORE_RETRY_BASE_DELAY_MS = 1_000;\nconst RESTORE_RETRY_MAX_DELAY_MS = 30_000;\n\n/**\n * User Organizations Context\n * Manages user data, organizations, permissions, and preferences\n * Consumes AuthSessionContext for authentication state\n */\n\nexport interface UserOrgsContextType {\n // Re-exported from AuthSession for backward compatibility\n auth: ReturnType<typeof useAuthSession>['auth'];\n identifyByEmail: ReturnType<typeof useAuthSession>['identifyByEmail'];\n authenticateWithPassword: ReturnType<typeof useAuthSession>['authenticateWithPassword'];\n authenticate: ReturnType<typeof useAuthSession>['authenticate'];\n getSessionState: ReturnType<typeof useAuthSession>['getSessionState'];\n isAuthenticated: ReturnType<typeof useAuthSession>['isAuthenticated'];\n logout: () => void;\n restoreSession: () => Promise<boolean>;\n\n // OAuth2 + cross-frontend-handoff methods (delegated from AuthSession)\n initiateOAuth2Login: ReturnType<typeof useAuthSession>['initiateOAuth2Login'];\n handleAuthCodeExchange: ReturnType<typeof useAuthSession>['handleAuthCodeExchange'];\n\n // User data\n user: UserContext | null;\n\n // Organization data\n organizations: OrganizationContext[];\n currentOrganizationId: string | null;\n permissions: EffectivePermissions | null;\n primaryScopeInitiatorIds: ExecutionContext_InitiatorIds | null;\n\n // Privacy (only preference managed here, others are in their respective contexts)\n privacy: UserPrivacy | null;\n\n // Organization management\n /**\n * The person's own choice of organization (the organization switcher). An organization this session loaded, or one\n * the backend's access profile confers entries in, which the switcher found by search past the user context's first\n * 20 memberships (#2452); that one is loaded on demand. Anything else is refused (logged, nothing changes).\n */\n setCurrentOrganization: (organizationId: string) => void;\n /**\n * Make the organization the current route names the session's current one (#2247). See\n * `RouteOrganizationFollow` for why the route is the authority. Refuses (returns `false`, changes nothing) unless\n * the session can be IN it: an ACTIVE membership the client vouches for (the predicate the route's access verdict\n * uses), or an organization this session loaded (what the switcher offers). Refuses in a one-off session too,\n * whose token the server bound to one organization. Called by `AppLayout_AuthenticatedRoute`.\n */\n followRouteOrganization: (organizationId: string) => boolean;\n getCurrentOrganization: () => OrganizationContext | null;\n refreshOrganizations: () => Promise<void>;\n\n // Privacy getter\n getPrivacy: () => UserPrivacy | null;\n\n /**\n * Record the signed-in person's consent decision: exactly the purposes they granted (#534).\n *\n * The argument is the WHOLE granted set, never a delta — a purpose left out is a purpose not granted,\n * so an unticked box is a withdrawal rather than \"no change\". The write always carries a decision\n * claim, which is what lets \"grant nothing\" be recorded as a decision instead of reading as a person\n * who was never asked; the recorded instant is the server's (`buildConsentDecisionPatch`).\n *\n * Resolves with the stored privacy block once it is in state, so a caller gating on consent (the\n * consent gate) sees the new decision on the next render. Rejects when the application mounts no\n * self-preferences UPDATE door or the write fails — a consent surface must say it could not save,\n * never behave as though it had.\n */\n recordConsentDecision: (grantedPurposes: readonly ConsentPurpose[]) => Promise<UserPrivacy>;\n}\n\n/**\n * UserOrgs Context\n * Exported for use in separate hook file (Fast Refresh compatibility)\n * @internal - Use useUserOrgs() hook instead of accessing this directly\n */\nexport const UserOrgsContext: React.Context<UserOrgsContextType | undefined> = createContext<UserOrgsContextType | undefined>(undefined);\n\nexport const UserOrgsProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const { doOperation, registry } = useResourceRegistry();\n const { emit } = useEventBus();\n\n // Consume auth session context\n const authSession = useAuthSession();\n const {\n auth,\n tokenStorage,\n identifyByEmail,\n authenticateWithPassword,\n authenticate,\n getSessionState,\n isAuthenticated,\n logout: authLogout,\n endSession,\n getSessionEstablishment,\n getSessionEndReason,\n initiateOAuth2Login,\n handleAuthCodeExchange,\n markSessionRestored,\n setSessionRestoring,\n connectWebSocket,\n } = authSession;\n const appScope = useAppScope();\n const { commitOrganizationScopeValue } = useAppScopeInternal();\n const currentOrganizationId = appScope.currentOrganizationId;\n // Read by `loadOrganizations` at the moment it settles, not when it was created: it awaits network reads.\n const currentOrganizationIdRef = useRef(currentOrganizationId);\n currentOrganizationIdRef.current = currentOrganizationId;\n\n const hasInitializedRef = useRef(false);\n const previousTokenRef = useRef<string | null>(null);\n // Restore-retry lifecycle: `restoreAbortRef` flips true on unmount so an\n // in-flight backoff loop bails instead of touching state on a dead component;\n // `restoreRetryTimerRef` holds the pending backoff timer for cleanup.\n const restoreAbortRef = useRef(false);\n const restoreRetryTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const [user, setUser] = useState<UserContext | null>(null);\n // The person loaded now, read by work that settles after an await (an organization loaded on demand, #2275).\n const loadedUserIdRef = useRef<string | null>(null);\n loadedUserIdRef.current = user?._id ?? null;\n\n const [organizations, setOrganizations] = useState<OrganizationContext[]>([]);\n\n const [permissions, setPermissions] = useState<EffectivePermissions | null>(null);\n\n const [privacy, setPrivacy] = useState<UserPrivacy | null>(null);\n\n type PreferencesPayload = Pick<UserPreferences, 'languagePreferences' | 'regional' | 'ui' | 'notifications' | 'privacy'>;\n\n /**\n * The TENANT's half of the payload, derived from its preferences record rather than passed\n * alongside it (#410).\n *\n * The organization contributes two things to `I18nContext` — its language policy and its regional\n * defaults — and they are forwarded together because they come from one record. An earlier shape\n * took the language block as its own argument, and when the regional half was added every call\n * site would have had to remember to forward a second one: three sites, one obligation each, and\n * a fourth site tomorrow that forwards neither. Passing the record makes forgetting impossible.\n */\n const organizationPreferencesPayload = (\n organizationPreferences: OrganizationContext['preferences'] | null | undefined,\n ): Record<string, unknown> => {\n if (organizationPreferences === undefined) {\n return {};\n }\n if (organizationPreferences === null) {\n return { organizationLanguagePreferences: null, organizationRegionalPreferences: null };\n }\n return {\n organizationLanguagePreferences: organizationPreferences.languagePreferences ?? null,\n organizationRegionalPreferences: {\n timezone: organizationPreferences.timezone,\n locale: organizationPreferences.locale,\n dateFormat: organizationPreferences.dateFormat,\n timeFormat: organizationPreferences.timeFormat,\n },\n };\n };\n\n const emitPreferencesChanged = useCallback((\n preferences: PreferencesPayload | null | undefined,\n organizationPreferences?: OrganizationContext['preferences'] | null,\n ): void => {\n if (preferences === null) {\n emit(FrontendEvents.USER_PREFERENCES_CHANGED, {\n languagePreferences: null,\n organizationLanguagePreferences: null,\n regionalPreferences: null,\n organizationRegionalPreferences: null,\n notificationsPreferences: null,\n uiPreferences: null,\n privacy: null,\n });\n return;\n }\n\n emit(FrontendEvents.USER_PREFERENCES_CHANGED, {\n ...(preferences?.languagePreferences !== undefined ? { languagePreferences: preferences.languagePreferences } : {}),\n ...organizationPreferencesPayload(organizationPreferences),\n ...(preferences?.regional !== undefined ? { regionalPreferences: preferences.regional } : {}),\n ...(preferences?.notifications !== undefined ? { notificationsPreferences: preferences.notifications } : {}),\n ...(preferences?.ui !== undefined ? { uiPreferences: preferences.ui } : {}),\n ...(preferences?.privacy !== undefined ? { privacy: preferences.privacy } : {}),\n });\n }, [emit]);\n\n /*\n * `USER_LOGIN` / `USER_LOGOUT` — announced HERE, once per transition of the known person (#1977).\n *\n * Nothing emitted them before, so every listener — error-report attribution, analytics identify and\n * reset, the sign-in and sign-out analytics events — was dead code that read as if sign-in were\n * observed. This is the one place every sign-in method and every way a session ends converge: each\n * authentication stores a token, the auto-load effect below restores the user from it, and every\n * sign-out, refused refresh, failed restore and cross-tab sign-out clears the token, which clears the\n * user. Emitting at each auth method instead would be a dozen call sites, and the next method added\n * would be the one that forgot. Declared BEFORE the preferences effect, because effects run in\n * declaration order and a person's arrival must precede their preferences.\n *\n * The id last announced is the guard, so a re-render, a preferences write that replaces the user\n * object, or StrictMode re-running an effect announces nothing, and a direct switch from one person to\n * another announces the first one's departure before the second one's arrival. HOW the session began\n * and WHY it ended are recorded by `AuthSessionProvider`, the only code that knows, and read at the\n * moment of announcing.\n *\n * A DEPARTURE is announced by the two places that clear the user, BEFORE they publish `privacy: null`:\n * a listener that must act while the person's consent still holds (the sign-out analytics event, sent\n * before the destinations are reset) needs the announcement first, and the consent-based providers\n * stop on the `privacy: null` that follows. The effect announces ARRIVALS, and a departure only as a\n * backstop for a path that cleared the user without announcing. An unmount announces nothing: the\n * provider going away is not the person signing out.\n */\n const announcedUserIdRef = useRef<string | null>(null);\n const announceDeparture = useCallback((reason: SessionEndReason): void => {\n const departedUserId = announcedUserIdRef.current;\n if (departedUserId === null) return;\n announcedUserIdRef.current = null;\n emit(FrontendEvents.USER_LOGOUT, { userId: departedUserId, reason });\n }, [emit]);\n const knownUserId = user?._id ?? null;\n useEffect(() => {\n const previousUserId = announcedUserIdRef.current;\n if (previousUserId === knownUserId) return;\n if (previousUserId !== null && knownUserId !== null) {\n /*\n * One person REPLACED by another with no sign-out between them. Believed unreachable today: a sign-in\n * while someone is loaded sets `isRestoringSession` with `hasInitializedRef` already true, so the\n * auto-load effect below skips it, and `restoreSession` returns early while a user is loaded. Handled\n * anyway, because the consequence of getting it wrong is the next person's analytics running under\n * the previous person's consent: the departure is followed by the same `privacy: null` a sign-out\n * publishes, BEFORE the arrival, so the next person is judged on their own preferences, which the\n * preferences effect below publishes after this one.\n */\n announceDeparture(SessionEndReason.REPLACED);\n setPrivacy(null);\n emitPreferencesChanged(null);\n } else if (previousUserId !== null) {\n announceDeparture(getSessionEndReason());\n }\n if (knownUserId !== null) {\n announcedUserIdRef.current = knownUserId;\n emit(FrontendEvents.USER_LOGIN, { userId: knownUserId, establishment: getSessionEstablishment() });\n }\n }, [knownUserId, emit, announceDeparture, emitPreferencesChanged, getSessionEndReason, getSessionEstablishment]);\n\n const primaryScopeInitiatorIds = useMemo<ExecutionContext_InitiatorIds | null>(() => {\n return ScopeUtilsService.buildInitiatorIds({\n userId: appScope.currentUserId,\n organizationId: appScope.currentOrganizationId,\n applicationId: appScope.currentApplicationId,\n anonymousUserId: appScope.currentAnonymousUserId,\n });\n }, [\n appScope.currentApplicationId,\n appScope.currentAnonymousUserId,\n appScope.currentOrganizationId,\n appScope.currentUserId,\n ]);\n\n /**\n * Extract and store user preferences from context\n * Stores preferences in state for other contexts to read and apply\n */\n const storePreferences = useCallback((\n preferences: PreferencesPayload,\n organizationPreferences?: OrganizationContext['preferences'] | null,\n ): void => {\n // Store privacy preferences in state\n if (preferences.privacy) {\n setPrivacy(preferences.privacy);\n }\n\n const currentOrganizationPreferences = organizationPreferences !== undefined\n ? organizationPreferences\n : currentOrganizationId\n ? organizations.find((organization) => organization._id === currentOrganizationId)?.preferences\n : undefined;\n\n // Emit preference change event to notify parent contexts\n emitPreferencesChanged(\n preferences,\n currentOrganizationPreferences,\n );\n }, [currentOrganizationId, emitPreferencesChanged, organizations]);\n\n /**\n * The caller's access profile (`user-self | access_profile`, #2381) — the role entries the backend authorizes this\n * person with, unit and relationship grants included, and which resources narrow by unit. The shell's\n * visibility decisions read it (`viewerMayPerformOperation`). `null` when the operation is absent or the read fails.\n *\n * The route names no user: the backend answers from the request's own execution context, so it can only ever describe\n * the person asking (`GET /user-self/access-profile/count`).\n */\n const loadAccessProfile = async (): Promise<UserSelfAccessProfile | null> => {\n const userSelfConfig = registry.resourceConfigurations[CoreResourceType.USER_SELF];\n const accessProfileOperation = userSelfConfig?.operations.find((op: any) =>\n op.operationIdentifier === UserSelf_Operations.ACCESS_PROFILE &&\n op.variantType === ResourceOperationVariantType.API_CALL &&\n op.isBulkOperation !== true\n );\n if (!accessProfileOperation) return null;\n try {\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(accessProfileOperation);\n return (await doOperation<UserSelfAccessProfile>(operationPath, { contextualParameters: {} })) ?? null;\n } catch (error) {\n logger.warn('Access profile could not be loaded; entries reached only through an organization-unit grant stay hidden', { error });\n return null;\n }\n };\n\n /**\n * Compute effective permissions from user's app roles and organization roles\n * This is a basic implementation - can be enhanced based on role hierarchy\n */\n const computeEffectivePermissions = (\n userContext: UserContext,\n organizationsList: OrganizationContext[]\n ): EffectivePermissions | null => {\n // App-level permissions from user's app roles\n const appLevel = (userContext.appRoles || []) as string[];\n\n // Per-organization permissions from organization membership roles\n // Use new field name from relationship-based context\n const organizationsPermissions: Record<string, string[]> = {};\n const memberships = userContext.organizationMembers || [];\n\n for (const membership of memberships) {\n organizationsPermissions[membership.organizationId] = (membership.roles || []) as string[];\n }\n\n return {\n appLevel,\n organizations: organizationsPermissions,\n accessProfile: null,\n };\n };\n\n /**\n * One of the person's own organizations, as the session holds it: the organization READ and, beside it, the tenant's\n * preference record. `null` when the organization cannot be read (a refusal, a transient failure, no READ mounted).\n *\n * Shared by `loadOrganizations` (the memberships the user context carries) and by the organizations loaded ON\n * DEMAND (#2275): a membership past the user context's cap that the session follows or starts in. Both must hold\n * the organization the same way, or the switcher and the i18n preferences would differ by how it arrived.\n */\n const fetchOwnOrganization = useCallback(async (organizationId: string): Promise<OrganizationContext | null> => {\n const organizationsConfig = registry.resourceConfigurations[CoreResourceType.ORGANIZATIONS];\n if (!organizationsConfig) {\n logger.warn('ORGANIZATIONS resource not available');\n return null;\n }\n // Shared with the route organization-access probe, which must address the same READ.\n const orgsReadOp = findDefaultApiReadOperation(organizationsConfig);\n if (!orgsReadOp) {\n logger.warn('ORGANIZATIONS READ operation not found');\n return null;\n }\n const organizationsOperationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(orgsReadOp);\n\n /**\n * The tenant's preference record is fetched SEPARATELY, and that is a decision rather than an\n * omission (#563).\n *\n * `OrganizationContextSchema` declares `preferences`, and `doOperation<OrganizationContext>`\n * is a CAST — nothing validates the response against it — so the field read as available\n * while no producer existed: the ORGANIZATIONS **default** READ returns a plain\n * `Organization`, and the organisation's regional block therefore never reached\n * `I18nContext`. Every date and number in every generated application formatted at the\n * framework floor as a result.\n *\n * The rejected alternative was to switch this call to the ORGANIZATIONS **context** variant,\n * which does populate the child. Measured against the running stack on 2026-09-10, that\n * response carries every context-enabled child of an organisation — `auditLogs`, `todos`,\n * `tasks`, `knowledgeDocuments`, `organizationMembers`, … — so session restore would pull an\n * unbounded page of tenant data per membership to obtain four regional fields. (#583 has since\n * taken the audit and delivery logs off the context surface and capped every 1:many child at\n * `contextPolicy.limit`, 20 by default. The page is bounded now, but it is still a page of tenant\n * data per membership, so the reasoning stands.) The\n * preference record has its own default READ (`GET /organizations/{id}/organization-preference`,\n * reachable by an ordinary `ORG_MEMBER`), which is one small request with a stable shape.\n *\n * Best-effort by construction: a tenant whose preferences cannot be read still yields a\n * usable organisation, and `organizationPreferencesPayload(undefined)` then contributes\n * nothing to the i18n event rather than clearing the member's own settings.\n */\n const organizationPreferencesReadOp = findDefaultApiReadOperation(registry.resourceConfigurations[CoreResourceType.ORGANIZATION_PREFERENCES]);\n const fetchOrganizationPreferences = async (): Promise<OrganizationContext['preferences'] | undefined> => {\n // Absent READ: reported once per list load by `loadOrganizations`, not once per organization.\n if (!organizationPreferencesReadOp) return undefined;\n try {\n return await doOperation<NonNullable<OrganizationContext['preferences']>>(\n ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(organizationPreferencesReadOp),\n { contextualParameters: { organizationId } },\n ) ?? undefined;\n } catch (error) {\n logger.warn('Failed to fetch organization preferences', { organizationId, error });\n return undefined;\n }\n };\n\n try {\n const [org, preferences] = await Promise.all([\n doOperation<OrganizationContext>(organizationsOperationPath, { contextualParameters: { organizationId } }),\n fetchOrganizationPreferences(),\n ]);\n if (!org) return null;\n // OMIT the key when the read failed rather than attaching `null`. The payload builder\n // reads the two differently: `undefined`/absent contributes nothing to the i18n event,\n // while `null` means \"the tenant has cleared its preferences\" and actively resets the\n // organisation half — which would silently downgrade a member to the framework floor\n // because one request failed.\n return preferences ? { ...org, preferences } : org;\n } catch (error) {\n logger.warn('Failed to fetch organization', { organizationId, error });\n return null;\n }\n }, [doOperation, registry]);\n\n /**\n * Load one of the person's own organizations the session does not hold yet, and add it to `organizations` (#2275,\n * #2452): one followed by route, or one the switcher found by search past the user context's first 20 memberships.\n * One path for both, so an organization arrives the same way whichever door admitted it. A sign-out or another\n * person's sign-in while the read was in flight must not receive this person's organization.\n */\n const loadOrganizationOnDemand = useCallback((organizationId: string): void => {\n const requestingUserId = loadedUserIdRef.current;\n void fetchOwnOrganization(organizationId).then((organization) => {\n if (!organization || loadedUserIdRef.current !== requestingUserId) return;\n setOrganizations((previous) => previous.some((existing) => existing._id === organization._id) ? previous : [...previous, organization]);\n });\n }, [fetchOwnOrganization]);\n\n /**\n * Load organizations independently (can be called separately from authentication)\n */\n const loadOrganizations = useCallback(async (userContext: UserContext): Promise<{\n organizationsList: OrganizationContext[];\n selectedOrgId: string | null;\n }> => {\n // The backend's own account of this person's access (#2381), fetched beside the organizations rather than after\n // them. Best-effort: a failure leaves the shell deciding on membership roles alone (unit-granted entries hidden).\n const accessProfilePromise = loadAccessProfile();\n const allMemberships = userContext.organizationMembers || [];\n\n // W7.3b: For one-off sessions, restrict to the scoped organization only\n const scopedOrgId = auth.sessionType === SessionType.ONE_OFF\n ? tokenStorage.getOrganizationId()\n : null;\n\n const memberships = scopedOrgId\n ? allMemberships.filter((m: any) => m.organizationId === scopedOrgId)\n : allMemberships;\n\n logDebug('Loading organizations', {\n userId: userContext._id,\n membershipCount: memberships.length,\n isOneOff: auth.sessionType === SessionType.ONE_OFF,\n });\n\n if (!findDefaultApiReadOperation(registry.resourceConfigurations[CoreResourceType.ORGANIZATION_PREFERENCES])) {\n logger.warn('ORGANIZATION_PREFERENCES READ operation not found — tenant regional defaults will not be applied');\n }\n const organizationsList: OrganizationContext[] = [];\n const membershipOrganizationResults = await Promise.all(\n memberships.map((membership: any) => fetchOwnOrganization(String(membership.organizationId))),\n );\n organizationsList.push(...membershipOrganizationResults.filter((org): org is OrganizationContext => org !== null));\n\n // Keep the organization this tab is IN when it is still one of the person's (#2247): a reload of the list\n // (`refreshOrganizations`, e.g. after accepting an invitation) must not move the tab. The stored value is\n // shared by every tab and follows each tab's route, so reading it here would pull this tab into whatever\n // organization another tab last opened, and the switch would send it home. The stored value is the default a\n // session STARTS from (during restore AppScope exposes no organization yet, so it is the one used), then the\n // first organization.\n const tabOrgId = currentOrganizationIdRef.current;\n const storedOrgId = tokenStorage.getOrganizationId();\n const isLoaded = (organizationId: string | null): organizationId is string =>\n !!organizationId && organizationsList.some(o => o._id === organizationId);\n const accessProfile = await accessProfilePromise;\n\n // The organization the tab is in, or the session starts from, may be one the user context does not carry: its\n // `organizationMembers` holds only the newest 20 memberships (#2275), and since #2247 the tab's and the stored\n // organization follow the route, so they are often one past that cap. When the backend's access profile confers\n // entries there, it is one of the person's own and is loaded on demand like the others; without that, a reload\n // of the list would move the tab out of the organization its page names, and a new session would never start\n // where the person last was. In a one-off session only the organization its token is bound to is ever loaded.\n const preferredOrgId = tabOrgId ?? storedOrgId;\n if (\n preferredOrgId\n && !isLoaded(preferredOrgId)\n && (!scopedOrgId || preferredOrgId === scopedOrgId)\n && accessProfileConfersOrganization(accessProfile, preferredOrgId)\n ) {\n const preferredOrganization = await fetchOwnOrganization(preferredOrgId);\n if (preferredOrganization) organizationsList.push(preferredOrganization);\n }\n\n const selectedOrgId = isLoaded(tabOrgId)\n ? tabOrgId\n : isLoaded(storedOrgId)\n ? storedOrgId\n : organizationsList[0]?._id || null;\n\n // Compute effective permissions. With the backend's access profile, the roles are the ones the backend confers\n // (`membershipRolesFromAccessProfile`); without it, the membership rows decide, as before.\n const membershipPermissions = computeEffectivePermissions(userContext, organizationsList);\n const computedPermissions = membershipPermissions\n ? { ...membershipPermissions, ...(accessProfile ? membershipRolesFromAccessProfile(accessProfile) : {}), accessProfile }\n : null;\n\n setOrganizations(organizationsList);\n commitOrganizationScopeValue(selectedOrgId);\n setPermissions(computedPermissions);\n\n logDebug('Organizations loaded', { organizationCount: organizationsList.length, currentOrganizationId: selectedOrgId });\n return { organizationsList, selectedOrgId };\n }, [commitOrganizationScopeValue, fetchOwnOrganization, registry, tokenStorage, auth.sessionType]);\n\n /**\n * Restore regular user session\n */\n const restoreUserSession = useCallback(async (accessToken: string): Promise<boolean> => {\n logDebug('Restoring user session');\n\n // Check if USER_SELF is available\n const availableResources = Object.keys(registry.resourceConfigurations);\n const hasUserSelf = availableResources.includes(CoreResourceType.USER_SELF);\n\n if (!hasUserSelf) {\n logger.warn('USER_SELF resource not available for session restoration');\n return false;\n }\n\n // Get USER_SELF resource config\n const userSelfConfig = registry.resourceConfigurations[CoreResourceType.USER_SELF];\n\n const readOperation = findDefaultApiReadOperation(userSelfConfig);\n\n if (!readOperation) {\n logger.warn('USER_SELF READ operation not found');\n return false;\n }\n\n // Find context variant (auto-generated with relationship population)\n const readContextOp = userSelfConfig.operations.find((op: any) =>\n op.operationIdentifier === CoreResourceOperation.READ &&\n op.isBulkOperation !== true &&\n op.variantType === ResourceOperationVariantType.API_CALL &&\n op.variantKey === OPERATION_VARIANT_KEY.CONTEXT\n );\n\n if (!readContextOp) {\n logger.warn('USER_SELF context variant not found');\n return false;\n }\n\n const initiatorInfo = readOperation.initiatorInfos?.[0];\n const requiresUserId = initiatorInfo?.parameters?.some((p: any) => p.fieldIdentifier === 'userId');\n\n const contextualParameters: Record<string, string> = {};\n\n if (requiresUserId && accessToken) {\n try {\n const payload = decodeJwtPayload<{ userId?: string }>(accessToken);\n if (payload.userId) {\n contextualParameters.userId = payload.userId;\n }\n } catch (e) {\n logDebug('Failed to decode JWT for userId extraction', { error: e });\n }\n }\n\n // Build operation path and fetch user context\n const contextPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(readContextOp);\n const userContext = await doOperation<UserContext>(contextPath, { contextualParameters });\n\n if (!userContext) {\n logger.warn('Failed to fetch user context during session restoration');\n return false;\n }\n\n // Use new field name from relationship-based context\n const membershipsCount = (userContext.organizationMembers || []).length;\n logDebug('User context restored', { userId: userContext._id, organizationCount: membershipsCount });\n\n // Update user state\n setUser(userContext);\n\n // Load organizations separately\n // If this fails, session restoration still succeeds (user context is restored)\n const { organizationsList, selectedOrgId } = await loadOrganizations(userContext);\n\n // Store preferences after organization loading so i18n receives user and\n // active-organization language policy in the same event.\n const preferences = userContext.userSelfPreferences;\n if (preferences) {\n const currentOrganization = selectedOrgId\n ? organizationsList.find((organization) => organization._id === selectedOrgId)\n : null;\n storePreferences(preferences, currentOrganization?.preferences);\n }\n\n logger.info('Session restored successfully', {\n userId: userContext._id,\n organizationCount: membershipsCount\n });\n\n return true;\n }, [doOperation, registry, loadOrganizations, storePreferences]);\n\n // Stop any pending restore-retry backoff when the provider unmounts, so the\n // loop in `restoreSession` bails instead of calling setState on a dead tree.\n useEffect(() => {\n restoreAbortRef.current = false;\n return () => {\n restoreAbortRef.current = true;\n if (restoreRetryTimerRef.current) {\n clearTimeout(restoreRetryTimerRef.current);\n restoreRetryTimerRef.current = null;\n }\n };\n }, []);\n\n /**\n * Restore session from stored JWT token\n * Fetches user context using USER_SELF resource (userId comes from JWT)\n * Then fetches full organization details for each organization membership\n *\n * Resilience: a TRANSIENT backend failure (unreachable / 5xx / timeout, or a\n * 401 whose in-flight renewal failed transiently) does NOT log out — restore\n * preserves the session and retries with capped exponential backoff until the\n * backend returns. Genuine authentication (401), authorization (403), and\n * non-network errors terminate immediately (no retry on a dead-or-buggy path).\n */\n const runSessionRestore = useCallback(async (): Promise<boolean> => {\n logDebug('Restoring session from stored token');\n\n // Check if session is already restored to avoid duplicate restoration attempts\n if (auth.sessionRestored && auth.accessToken && user) {\n logDebug('Session already restored, skipping restoration');\n return true;\n }\n\n // Read token from auth state\n const accessToken = auth.accessToken;\n\n if (!accessToken) {\n logDebug('No access token available');\n return false;\n }\n\n setSessionRestoring(true);\n\n let attempt = 0;\n // Single backoff loop: the invoking effect won't re-enter while\n // `isRestoringSession` is true, so this is the sole restore in flight.\n while (true) {\n try {\n const restored = await restoreUserSession(accessToken);\n\n if (restored) {\n markSessionRestored();\n\n // W7.3b: One-off sessions already connected WebSocket in handleOneOffTokenExchange\n // (with consumableToken). Reconnecting here would lose the consumable token.\n if (auth.sessionType !== SessionType.ONE_OFF) {\n // Connect with the FRESHEST token, read live from storage — NOT the\n // `accessToken` captured at the top of `restoreSession`. During the\n // awaited `restoreUserSession` above, the HTTP interceptor may have\n // hit a `401 OUTDATED_AUTH_JWT` and rotated the token via\n // `tokenRenewalHandler` (which writes the new token to storage AND\n // seeds the WS `authStateRef` synchronously). The captured\n // `accessToken` is then stale/expired; passing it into `connect()`\n // reseeds the WS credential source-of-truth back to the expired token\n // (clobbering the fresh one the refresh just stored), and the Socket.IO\n // handshake gets rejected with \"Authentication failed\". `getAccessToken()`\n // returns the live, post-refresh value (falling back to the captured\n // token only if storage is somehow empty).\n const freshestAccessToken = tokenStorage.getAccessToken() ?? accessToken;\n connectWebSocket(freshestAccessToken, tokenStorage.getOrganizationId());\n }\n } else {\n logger.warn('Session restoration could not build a valid authenticated context; logging out to avoid a half-restored state');\n endSession(SessionEndReason.SESSION_ENDED);\n }\n\n return restored;\n\n } catch (error: any) {\n // Authorization (403 / scope) is checked FIRST and is non-destructive: a\n // permission denial must NEVER destroy a valid session. Authentication\n // (401 / session-invalid) is the only branch that force-logs-out.\n // `isAuthenticationError` already excludes authorization errors (see\n // `AuthSessionUtils`), so these are mutually exclusive — the explicit\n // ordering here is defense-in-depth so the non-destructive path wins even\n // if that guard is ever loosened.\n const isAuthorizationError = AuthSessionUtils.isAuthorizationError(error);\n\n if (isAuthorizationError) {\n const errorMessage = error?.message || 'Session restoration blocked by authorization';\n logger.warn('Session restoration encountered authorization/scope error', {\n error: errorMessage,\n errorType: error?.wildoError?.type || error?.response?.data?.error?.type,\n status: error?.response?.status,\n });\n setSessionRestoring(false);\n markSessionRestored();\n return false;\n }\n\n // TRANSIENT backend failure (checked BEFORE the authentication branch so\n // a 401 whose renewal failed transiently is retried, not logged out):\n // preserve the session, back off, and retry. Bail if the component\n // unmounted or the session was cleared (logout elsewhere) while waiting.\n if (isTransientBackendFailure(error)) {\n attempt += 1;\n const delay = Math.min(\n RESTORE_RETRY_BASE_DELAY_MS * 2 ** (attempt - 1),\n RESTORE_RETRY_MAX_DELAY_MS,\n );\n logger.warn('Session restoration hit a transient backend failure; preserving session and retrying', {\n attempt,\n retryInMs: delay,\n status: error?.response?.status,\n code: error?.code,\n });\n await new Promise<void>((resolve) => {\n restoreRetryTimerRef.current = setTimeout(resolve, delay);\n });\n if (restoreAbortRef.current || !tokenStorage.getAccessToken()) {\n setSessionRestoring(false);\n return false;\n }\n continue;\n }\n\n if (AuthSessionUtils.isAuthenticationError(error)) {\n logDebug('Session restoration failed due to authentication error', {\n errorType: error?.wildoError?.type || error?.response?.data?.error?.type,\n status: error?.response?.status,\n });\n // Usually the refresh already ended it, naming why; when restore is first, it reads the refusal itself.\n endSession(sessionEndReasonForRefusal(error));\n return false;\n }\n\n // Fail closed on unexpected NON-transient errors. A partially restored\n // authenticated shell is less safe than dropping back to a clean login.\n const errorMessage = error?.message || 'Session restoration failed';\n logger.warn('Session restoration encountered a non-transient error; logging out', {\n error: errorMessage,\n errorType: error?.wildoError?.type,\n });\n\n endSession(SessionEndReason.SESSION_ENDED);\n return false;\n }\n }\n }, [\n restoreUserSession,\n auth.sessionRestored,\n auth.sessionType,\n auth.accessToken,\n user,\n endSession,\n markSessionRestored,\n setSessionRestoring,\n connectWebSocket,\n tokenStorage\n ]);\n\n /**\n * The access token the last restore CONCLUDED for, whatever its outcome (#2242).\n *\n * \"A token and no user\" is two different states, and the reader standing must tell them apart: before a\n * restore has run for this token (every returning visitor's first render, and a one-off session, which\n * starts with `sessionRestored: true` and no user) it is UNSETTLED; after a restore concluded without a\n * user (the authorization-error branch keeps the token) it is settled with no person. Neither\n * `isRestoringSession` nor `sessionRestored` says which — so the restore records it. Keyed by the token\n * LIVE at the end, since a restore may rotate it mid-flight.\n */\n const [restoreConcludedForToken, setRestoreConcludedForToken] = useState<string | null>(null);\n const restoreSession = useCallback(async (): Promise<boolean> => {\n try {\n return await runSessionRestore();\n } finally {\n const settledToken = tokenStorage.getAccessToken();\n if (settledToken) setRestoreConcludedForToken(settledToken);\n }\n }, [runSessionRestore, tokenStorage]);\n\n /**\n * Refresh organizations data (e.g., after organization update)\n */\n const refreshOrganizations = useCallback(async (): Promise<void> => {\n // Use new field name from relationship-based context\n const memberships = user?.organizationMembers || [];\n\n if (memberships.length === 0) {\n logDebug('No organizations membership to refresh');\n return;\n }\n\n logDebug('Refreshing organizations', { membershipCount: memberships.length });\n\n // Use loadOrganizations to refresh\n await loadOrganizations(user!);\n }, [user, loadOrganizations]);\n\n useEffect(() => {\n if (!user?.userSelfPreferences) {\n return;\n }\n\n const currentOrganization = currentOrganizationId\n ? organizations.find((organization) => organization._id === currentOrganizationId)\n : null;\n\n emitPreferencesChanged(\n user.userSelfPreferences,\n currentOrganization?.preferences,\n );\n }, [currentOrganizationId, emitPreferencesChanged, organizations, user]);\n\n /*\n * Whether anybody is reading, published to `I18nContext` (#2242). It mounts above this provider, so a null\n * member and a null organization are all it can see — the same for an anonymous visitor as for a member\n * being restored, and only the first should have the browser stand in for their preferences.\n *\n * Through `RegionalReaderStandingPublisherContext`, never the bus: `I18nProvider` is our ancestor, so its\n * bus subscription is made AFTER our mount effect runs, and an emission there is lost (see the context's\n * JSDoc). ONE effect, deriving from the session rather than riding each preference emission above: every\n * way a session starts or ends changes one of these inputs, so none can forget to say it. Declared AFTER\n * the preferences effect so a member's SIGNED_IN follows their preferences in the same commit; the restore\n * path stores them before `isRestoringSession` clears, so it is ordered by the derivation itself.\n */\n const publishRegionalReaderStanding = useContext(RegionalReaderStandingPublisherContext);\n const regionalReaderStanding = deriveRegionalReaderStanding({\n isRestoringSession: auth.isRestoringSession,\n hasUser: user !== null,\n hasAccessToken: Boolean(auth.accessToken),\n restoreConcludedForAccessToken: Boolean(auth.accessToken) && restoreConcludedForToken === auth.accessToken,\n });\n useEffect(() => {\n publishRegionalReaderStanding?.(regionalReaderStanding);\n }, [publishRegionalReaderStanding, regionalReaderStanding]);\n\n /**\n * Set the current active organization\n */\n const setCurrentOrganization = useCallback((organizationId: string): void => {\n const org = organizations.find(o => o._id === organizationId);\n // An organization the switcher FOUND by search rather than one it loaded (#2452): past the user context's first\n // 20 memberships. Admitted on the same fact `followRouteOrganization` admits it on — the backend's access profile\n // confers entries there — and loaded on demand like a followed one, so the switcher and the tenant's preferences\n // hold it the same way. Never in a one-off session, whose token the server bound to one organization.\n const conferred = !org\n && auth.sessionType !== SessionType.ONE_OFF\n && accessProfileConfersOrganization(permissions?.accessProfile, organizationId);\n if (!org && !conferred) {\n logger.warn('Attempted to set invalid organization', { organizationId, availableOrganizations: organizations.map(o => o._id) });\n return;\n }\n if (conferred) loadOrganizationOnDemand(organizationId);\n\n const previousOrganizationId = currentOrganizationId;\n\n // Skip if the organization hasn't changed\n if (previousOrganizationId === organizationId) {\n return;\n }\n\n logDebug('Setting current organization', { organizationId, organizationName: org?.name, previousOrganizationId, loadedOnDemand: conferred });\n commitOrganizationScopeValue(organizationId, ScopeChangeInitiator.USER_SELECTION);\n }, [auth.sessionType, organizations, permissions, currentOrganizationId, commitOrganizationScopeValue, loadOrganizationOnDemand]);\n\n /**\n * Follow the organization the route names (#2247).\n *\n * Three facts admit it, matching the route verdicts the follow acts on. An ACTIVE membership the client vouches for\n * is what `ACTIVE_MEMBERSHIP` rests on, so the two cannot disagree. An organization in `organizations` is one this\n * session loaded from its own memberships and offers in the switcher; it is what admits a representative member\n * (#1597), whose membership the client deliberately never vouches for and the server `ADMITTED`. An organization the\n * backend's access profile confers entries in is a membership past the user context's cap of 20 (#2275), which the\n * server also `ADMITTED`: it is loaded on demand, so the switcher and the tenant's preferences hold the organization\n * the person is in. Anything else — a platform operator's crossing, a foreign organization — is refused.\n *\n * The commit does not wait for that load. The roles the page is judged by come from the access profile, which is\n * already held, and holding the route's content until a second read lands would only delay a page that can render.\n */\n const followRouteOrganization = useCallback((organizationId: string): boolean => {\n if (auth.sessionType === SessionType.ONE_OFF) {\n return false;\n }\n const loaded = organizations.some((organization) => organization._id === organizationId);\n const conferred = accessProfileConfersOrganization(permissions?.accessProfile, organizationId);\n const sessionCanBeIn = hasActiveMembershipInOrganization(user?.organizationMembers, organizationId) || loaded || conferred;\n if (!sessionCanBeIn) {\n logger.warn('Refused to follow a route organization this session cannot be in', { organizationId });\n return false;\n }\n if (!loaded) loadOrganizationOnDemand(organizationId);\n if (currentOrganizationId !== organizationId) {\n logDebug('Following the route organization', { organizationId, previousOrganizationId: currentOrganizationId });\n commitOrganizationScopeValue(organizationId, ScopeChangeInitiator.ROUTER);\n }\n return true;\n }, [auth.sessionType, user, organizations, permissions, currentOrganizationId, commitOrganizationScopeValue, loadOrganizationOnDemand]);\n\n /**\n * Get the current active organization\n */\n const getCurrentOrganization = useCallback((): OrganizationContext | null => {\n if (!currentOrganizationId) {\n return null;\n }\n return organizations.find(o => o._id === currentOrganizationId) || null;\n }, [currentOrganizationId, organizations]);\n\n /**\n * Get privacy preferences\n */\n const getPrivacy = useCallback((): UserPrivacy | null => {\n return privacy;\n }, [privacy]);\n\n // Depend on the builder alone: the whole AppScope value changes with every custom scope value, and through\n // this callback it would re-render every `useUserOrgs` consumer.\n const buildScopeContextualParameters = appScope.buildContextualParameters;\n const recordConsentDecision = useCallback(async (grantedPurposes: readonly ConsentPurpose[]): Promise<UserPrivacy> => {\n const operation = registry.resourceConfigurations[CoreResourceType.USER_SELF_PREFERENCES]?.operations.find(\n (candidate) => candidate.operationIdentifier === CoreResourceOperation.UPDATE\n && candidate.isOperationDefault === true\n && candidate.isBulkOperation !== true\n && (\n candidate.variantType === ResourceOperationVariantType.API_CALL\n ),\n );\n if (!operation) {\n throw new Error('Cannot record a consent decision: this application mounts no user self-preferences UPDATE operation');\n }\n\n const updated = await doOperation<UserPreferences>(\n ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation),\n {\n // This provider sits ABOVE `ScopedResourceRegistryProvider`, so the `doOperation` it holds injects\n // no scope: the user id the self-preferences route is addressed by has to be supplied here. With an\n // empty set the client could not build the URL and every decision failed before a request left\n // (`frontend_resource_no_endpoint_available`, #977 — found by driving the prompt in a browser).\n contextualParameters: buildScopeContextualParameters(),\n requestData: {\n // The client instant is only a CLAIM that this write is a decision; the server replaces it.\n privacy: { consentedPurposes: normalizeConsentPurposes(grantedPurposes), consentDecidedAt: new Date() },\n },\n },\n );\n const storedPrivacy = updated?.privacy;\n if (!storedPrivacy) {\n throw new Error('Consent decision was written but the response carried no privacy block');\n }\n\n setPrivacy(storedPrivacy);\n // Updating the user's preferences record re-emits USER_PREFERENCES_CHANGED through the effect\n // above, which is how the analytics provider learns the new set without a second channel.\n setUser((previous) => previous\n ? { ...previous, userSelfPreferences: { ...(previous.userSelfPreferences ?? {}), privacy: storedPrivacy } as UserContext['userSelfPreferences'] }\n : previous);\n // While a required purpose was missing the backend refused this person's organization reads, so\n // session restore may have loaded none (#534 re-review N1). Re-load them now that the decision is\n // stored; a failure leaves the decision recorded and is retried on the next restore.\n if (organizations.length === 0) {\n await refreshOrganizations().catch((error: unknown) => {\n logger.warn('Organizations could not be re-loaded after a consent decision', { error });\n });\n }\n return storedPrivacy;\n }, [buildScopeContextualParameters, doOperation, registry, organizations.length, refreshOrganizations]);\n\n /**\n * Logout wrapper that also clears user/org data\n */\n const logout = useCallback((): void => {\n logDebug('Logging out user', { userId: user?._id, organizationId: currentOrganizationId });\n\n // Announced first, while the person's consent still holds — see the block above (#1977).\n announceDeparture(SessionEndReason.SIGNED_OUT);\n\n // Clear user/org data first\n setUser(null);\n setOrganizations([]);\n commitOrganizationScopeValue(null);\n setPermissions(null);\n setPrivacy(null);\n emitPreferencesChanged(null);\n\n // Reset initialization flag\n hasInitializedRef.current = false;\n previousTokenRef.current = null;\n\n // Call auth logout (clears tokens, disconnects WebSocket)\n authLogout();\n }, [user?._id, currentOrganizationId, authLogout, announceDeparture, commitOrganizationScopeValue, emitPreferencesChanged]);\n\n // Auto-load user/org data when token becomes available\n useEffect(() => {\n const accessToken = auth.accessToken;\n\n // Skip if no token or token hasn't changed\n if (!accessToken || accessToken === previousTokenRef.current) {\n return;\n }\n\n // Skip if session is already restored with this token\n if (auth.sessionRestored && user) {\n previousTokenRef.current = accessToken;\n return;\n }\n\n // Skip if already initializing\n if (hasInitializedRef.current && auth.isRestoringSession) {\n return;\n }\n\n logDebug('Token changed, initiating session restoration', {\n hasToken: !!accessToken,\n previousToken: !!previousTokenRef.current\n });\n\n previousTokenRef.current = accessToken;\n hasInitializedRef.current = true;\n\n // Restore session (will fetch user/org data)\n restoreSession().catch((error) => {\n logger.error('Session restoration failed', { error });\n });\n }, [auth.accessToken, auth.sessionRestored, auth.isRestoringSession, user, restoreSession]);\n\n // Clear data when token is removed (logged out)\n useEffect(() => {\n if (!auth.accessToken && previousTokenRef.current) {\n logDebug('Token removed, clearing user/org data');\n // Announced before `privacy: null`, with the reason the auth session recorded (#1977).\n announceDeparture(getSessionEndReason());\n setUser(null);\n setOrganizations([]);\n commitOrganizationScopeValue(null);\n setPermissions(null);\n setPrivacy(null);\n emitPreferencesChanged(null);\n previousTokenRef.current = null;\n hasInitializedRef.current = false;\n }\n }, [auth.accessToken, announceDeparture, commitOrganizationScopeValue, emitPreferencesChanged, getSessionEndReason]);\n\n const value = useMemo<UserOrgsContextType>(() => ({\n // Re-exported from AuthSession for backward compatibility\n auth,\n identifyByEmail,\n authenticateWithPassword,\n authenticate,\n getSessionState,\n isAuthenticated,\n logout,\n restoreSession,\n\n // OAuth2 + cross-frontend-handoff methods (delegated from AuthSession)\n initiateOAuth2Login,\n handleAuthCodeExchange,\n\n // User data\n user,\n\n // Organization data\n organizations,\n currentOrganizationId,\n permissions,\n primaryScopeInitiatorIds,\n\n // Privacy (only preference managed here)\n privacy,\n\n // Organization management\n setCurrentOrganization,\n followRouteOrganization,\n getCurrentOrganization,\n refreshOrganizations,\n\n // Privacy getter\n getPrivacy,\n recordConsentDecision,\n }), [\n auth,\n identifyByEmail,\n authenticateWithPassword,\n authenticate,\n getSessionState,\n isAuthenticated,\n logout,\n restoreSession,\n initiateOAuth2Login,\n handleAuthCodeExchange,\n user,\n organizations,\n currentOrganizationId,\n permissions,\n primaryScopeInitiatorIds,\n privacy,\n setCurrentOrganization,\n followRouteOrganization,\n getCurrentOrganization,\n refreshOrganizations,\n getPrivacy,\n recordConsentDecision,\n ]);\n\n return <UserOrgsContext.Provider value={value}>{children}</UserOrgsContext.Provider>;\n};\n\n// useUserOrgs hook is now in separate file: ./useUserOrgs.ts\n// This separation is required for React Fast Refresh compatibility\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-redirect.frontend.utils.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"auth-redirect.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../../src/core/security/auth-redirect.frontend.utils.ts"],"names":[],"mappings":"AAIA,qHAAqH;AACrH,eAAO,MAAM,yBAAyB,aAA+C,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,IAAI,MAAM,CAE5F;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,MAAM,CAET;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACxC,MAAM,CAYR;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKhF;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,MAA8B,GAC3C,MAAM,CAER"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { isSameOriginRedirectPath } from '@wildo-ai/saas-models/public-runtime';
|
|
1
|
+
import { APPLICATION_ENTRY_POINT_REDIRECT_QUERY_PARAM, isSameOriginRedirectPath } from '@wildo-ai/saas-models/public-runtime';
|
|
2
2
|
import { CommonRoutePaths } from '../../core/runtime/routes.frontend.definitions.js';
|
|
3
|
-
|
|
3
|
+
/** The parameter's one name, shared with the links the backend builds into the application (an invitation email). */
|
|
4
|
+
export const AUTH_REDIRECT_QUERY_PARAM = APPLICATION_ENTRY_POINT_REDIRECT_QUERY_PARAM;
|
|
4
5
|
/**
|
|
5
6
|
* Is this a redirect target the app may navigate to after authentication?
|
|
6
7
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-redirect.frontend.utils.js","sourceRoot":"","sources":["../../../../../src/core/security/auth-redirect.frontend.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-redirect.frontend.utils.js","sourceRoot":"","sources":["../../../../../src/core/security/auth-redirect.frontend.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4CAA4C,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAE9H,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAEhG,qHAAqH;AACrH,MAAM,CAAC,MAAM,yBAAyB,GAAG,4CAA4C,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAiC;IACxE,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAIvC;IACC,OAAO,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,QAAgB,EAChB,cAAyC;IAEzC,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,YAAY,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;IAChD,YAAY,CAAC,GAAG,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC;IAE5D,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;IAC1C,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAAc;IAC1D,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAEnE,OAAO,wBAAwB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,MAAc,EACd,eAAuB,gBAAgB,CAAC,IAAI;IAE5C,OAAO,6BAA6B,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;AAC/D,CAAC","sourcesContent":["import { APPLICATION_ENTRY_POINT_REDIRECT_QUERY_PARAM, isSameOriginRedirectPath } from '@wildo-ai/saas-models/public-runtime';\n\nimport { CommonRoutePaths } from '~wildo-frontend-lib/core/runtime/routes.frontend.definitions';\n\n/** The parameter's one name, shared with the links the backend builds into the application (an invitation email). */\nexport const AUTH_REDIRECT_QUERY_PARAM = APPLICATION_ENTRY_POINT_REDIRECT_QUERY_PARAM;\n\n/**\n * Is this a redirect target the app may navigate to after authentication?\n *\n * ## Why this delegates instead of testing prefixes\n *\n * The previous implementation was `target.startsWith('/') && !target.startsWith('//')`, and it is\n * worth writing down why that is not a weaker version of the check but a broken one: it tests the\n * bytes a human reads, while the browser navigates to what its URL PARSER produces, and the two\n * disagree on a whole family of inputs. SEVEN shapes passed it and resolved to `https://evil.com/` —\n * `/\\evil.com`, `/\\\\evil.com`, `/\\/evil.com`, and the tab / LF / CR variants that the parser strips\n * before parsing. The measurement and the two parser rules behind it are documented once, at\n * {@link isSameOriginRedirectPath}.\n *\n * The exploit is post-authentication, which is what makes it worth more than an ordinary open\n * redirect: the user has just proved who they are to a site they trust, and the app hands them to the\n * attacker's origin carrying that established trust.\n *\n * ## Why the predicate is imported rather than written here\n *\n * Three other surfaces answer the same question — the one-off-session receiver, the docs-site auth\n * exchange page, and the issuer/receiver schemas in `saas-models` — and on 2026-08-15 all four\n * carried the same hole, because each was a separately hand-written deny-list that \"mirrored\" the\n * others. One importable predicate is what stops the fifth copy from being written.\n */\nexport function isSafeAuthRedirectTarget(target: string | null | undefined): target is string {\n return isSameOriginRedirectPath(target);\n}\n\nexport function buildAuthRedirectTarget(params: {\n pathname: string;\n search?: string;\n hash?: string;\n}): string {\n return `${params.pathname}${params.search ?? ''}${params.hash ?? ''}`;\n}\n\nexport function appendAuthRedirectToPath(\n basePath: string,\n redirectTarget: string | null | undefined,\n): string {\n if (!isSafeAuthRedirectTarget(redirectTarget)) {\n return basePath;\n }\n\n const [pathAndQuery, hash = ''] = basePath.split('#');\n const [pathname, query = ''] = pathAndQuery.split('?');\n const searchParams = new URLSearchParams(query);\n searchParams.set(AUTH_REDIRECT_QUERY_PARAM, redirectTarget);\n\n const nextQuery = searchParams.toString();\n return `${pathname}${nextQuery ? `?${nextQuery}` : ''}${hash ? `#${hash}` : ''}`;\n}\n\nexport function extractAuthRedirectFromSearch(search: string): string | undefined {\n const searchParams = new URLSearchParams(search);\n const redirectTarget = searchParams.get(AUTH_REDIRECT_QUERY_PARAM);\n\n return isSafeAuthRedirectTarget(redirectTarget) ? redirectTarget : undefined;\n}\n\nexport function resolvePostAuthRedirect(\n search: string,\n fallbackPath: string = CommonRoutePaths.home,\n): string {\n return extractAuthRedirectFromSearch(search) ?? fallbackPath;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-session.utils.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"auth-session.utils.d.ts","sourceRoot":"","sources":["../../../../../src/core/security/auth-session.utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,eAAe,EAAE,UAAU,EAAE,CAAC;IAC9B,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAkBD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO;IAEP;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAuCjD;;;OAGG;IACH,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAiBhD;;;;;;;;OAQG;IACH,MAAM,CAAC,2BAA2B,CAChC,WAAW,EAAE,OAAO,EACpB,mBAAmB,EAAE,UAAU,EAAE,EACjC,2BAA2B,EAAE,UAAU,EAAE,EACzC,oBAAoB,EAAE,UAAU,EAAE,GACjC,yBAAyB;CA0D7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent-gate.frontend.utils.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"consent-gate.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../../src/core/security/consent-gate.frontend.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,cAAc,EAGd,KAAK,yBAAyB,EAC/B,MAAM,uBAAuB,CAAC;AAE/B;;;;;GAKG;AACH,oBAAY,iBAAiB;IAC3B,0GAA0G;IAC1G,cAAc,kBAAkB;IAChC;;;;OAIG;IACH,QAAQ,aAAa;IACrB;;;;OAIG;IACH,MAAM,WAAW;IACjB,mGAAmG;IACnG,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,yBAAyB,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACjE,2EAA2E;IAC3E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,4FAA4F;IAC5F,wBAAwB,EAAE,OAAO,CAAC;IAClC;;;;OAIG;IACH,iCAAiC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtD,iFAAiF;IACjF,OAAO,EAAE;QAAE,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,gBAAgB,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,GAAG,SAAS,CAAC;CACzG;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,8DAA8D;IAC9D,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,qGAAqG;IACrG,uBAAuB,EAAE,cAAc,EAAE,CAAC;IAC1C;;;;OAIG;IACH,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,+CAA+C;IAC/C,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,uFAAuF;IACvF,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,CAyChF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAClC,cAAc,EAAE,CAIlB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,iBAAiB,CAAC,EACrE,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAClC,cAAc,EAAE,CAGlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-frontend-handoff.frontend.service.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"cross-frontend-handoff.frontend.service.d.ts","sourceRoot":"","sources":["../../../../../src/core/security/cross-frontend-handoff.frontend.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EACL,6BAA6B,EAC7B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EAClC,MAAM,sCAAsC,CAAC;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sEAAsE,CAAC;AAE3G;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,mCAAmC,GAC3C,6BAA6B,GAC7B,iBAAiB,GACjB,SAAS,GACT,oBAAoB,CAAC;AAEzB;;;;;;;;GAQG;AACH,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,QAAQ,CAAC,IAAI,EAAE,mCAAmC,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEvB,IAAI,EAAE,mCAAmC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;CAMlG;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,2BAA2B,EAClC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,4BAA4B,CAAC,CAoBvC;AAiED,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAElF;;;;;;;;;GASG;AACH,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,0BAA0B,CAAC;IACnC,IAAI,EAAE,4BAA4B,GAAG,IAAI,CAAC;IAC1C,KAAK,EAAE,+BAA+B,GAAG,IAAI,CAAC;IAC9C,cAAc,EAAE,CACd,KAAK,EAAE,2BAA2B,EAClC,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC3C,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,IAAI,6BAA6B,CAyDvE"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The membership roles the shell decides with, taken from the backend's access profile when it has one (#2381).
|
|
3
|
+
*/
|
|
4
|
+
import { type UserSelfAccessProfile } from '@wildo-ai/saas-models';
|
|
5
|
+
import type { EffectivePermissions } from './security.frontend.schemas';
|
|
6
|
+
/**
|
|
7
|
+
* `appLevel` and `organizations` as the BACKEND confers them: the application entry's roles, and per organization the
|
|
8
|
+
* roles of its ORGANIZATION-WIDE entries (`selectOrganizationWideRoles` over the entries acting in that organization —
|
|
9
|
+
* the backend's own two selections).
|
|
10
|
+
*
|
|
11
|
+
* Why not the membership rows the user context carries: a row is not what the backend authorizes with. A relationship
|
|
12
|
+
* membership's `roles` mirror its relationship "for display", so a unit-scoped representative's row reads as an
|
|
13
|
+
* organization-wide relationship role the backend never confers (its entries are unit-scoped); a delegated capability
|
|
14
|
+
* role on an ordinary row is dropped by the backend; a membership in a tenant that no longer confers authority confers
|
|
15
|
+
* nothing. Deciding on the rows, the shell offered entries the backend then refused.
|
|
16
|
+
*
|
|
17
|
+
* Unit-scoped entries are left out on purpose: they reach only resources that narrow by unit, which
|
|
18
|
+
* `viewerMayPerformOperation` decides from the profile itself.
|
|
19
|
+
*/
|
|
20
|
+
export declare function membershipRolesFromAccessProfile(profile: UserSelfAccessProfile): Pick<EffectivePermissions, 'appLevel' | 'organizations'>;
|
|
21
|
+
/**
|
|
22
|
+
* Whether the backend's access profile confers anything in `organizationId`: an organization-wide or unit-scoped entry
|
|
23
|
+
* from an ACTIVE membership in a tenant that still confers authority, or a relationship entry that passed the live
|
|
24
|
+
* filter (#1597). That is the backend's own answer to "may this person act in this organization", built from every
|
|
25
|
+
* membership (`ExecutionContextCreatorBackendService.buildAccessProfileRoleEntries` lists them unpaginated).
|
|
26
|
+
*
|
|
27
|
+
* It is what admits an organization the user context does not carry (#2275). The context's `organizationMembers` is a
|
|
28
|
+
* projection capped at `DEFAULT_RELATIONSHIP_CONTEXT_POLICY.limit` (20, newest first), so for a person in more
|
|
29
|
+
* organizations the rows simply stop; the profile does not. An APPLICATION entry is never a conferral here, so a
|
|
30
|
+
* platform operator's crossing into a tenant is not mistaken for a membership.
|
|
31
|
+
*/
|
|
32
|
+
export declare function accessProfileConfersOrganization(profile: UserSelfAccessProfile | null | undefined, organizationId: string | null | undefined): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* The organizations the organization switcher can FIND for this person (#2452): every organization the access profile
|
|
35
|
+
* carries an organization-WIDE entry in, in profile order, without duplicates.
|
|
36
|
+
*
|
|
37
|
+
* Organization-wide, not every entry {@link accessProfileConfersOrganization} counts, because this is the population
|
|
38
|
+
* `GET /organizations/search/mine` returns: the backend confines that read to the caller's organization-wide entries.
|
|
39
|
+
* The number the switcher states ("N more") and the rows its search finds are then the same set, by construction. A
|
|
40
|
+
* unit-only standing (a unit-scoped representative) is still followed by route, but is not offered here.
|
|
41
|
+
*/
|
|
42
|
+
export declare function accessProfileSwitchableOrganizationIds(profile: UserSelfAccessProfile | null | undefined): string[];
|
|
43
|
+
//# sourceMappingURL=effective-permissions.frontend.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effective-permissions.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../../src/core/security/effective-permissions.frontend.utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAKL,KAAK,qBAAqB,EAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,qBAAqB,GAC7B,IAAI,CAAC,oBAAoB,EAAE,UAAU,GAAG,eAAe,CAAC,CAc1D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,EACjD,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACxC,OAAO,CAKT;AAED;;;;;;;;GAQG;AACH,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CASlH"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The membership roles the shell decides with, taken from the backend's access profile when it has one (#2381).
|
|
3
|
+
*/
|
|
4
|
+
import { ResourcePrimaryScope, isOrganizationWideRoleInfo, selectOrganizationWideRoles, selectRoleInfosActingInOrganization, } from '@wildo-ai/saas-models';
|
|
5
|
+
/**
|
|
6
|
+
* `appLevel` and `organizations` as the BACKEND confers them: the application entry's roles, and per organization the
|
|
7
|
+
* roles of its ORGANIZATION-WIDE entries (`selectOrganizationWideRoles` over the entries acting in that organization —
|
|
8
|
+
* the backend's own two selections).
|
|
9
|
+
*
|
|
10
|
+
* Why not the membership rows the user context carries: a row is not what the backend authorizes with. A relationship
|
|
11
|
+
* membership's `roles` mirror its relationship "for display", so a unit-scoped representative's row reads as an
|
|
12
|
+
* organization-wide relationship role the backend never confers (its entries are unit-scoped); a delegated capability
|
|
13
|
+
* role on an ordinary row is dropped by the backend; a membership in a tenant that no longer confers authority confers
|
|
14
|
+
* nothing. Deciding on the rows, the shell offered entries the backend then refused.
|
|
15
|
+
*
|
|
16
|
+
* Unit-scoped entries are left out on purpose: they reach only resources that narrow by unit, which
|
|
17
|
+
* `viewerMayPerformOperation` decides from the profile itself.
|
|
18
|
+
*/
|
|
19
|
+
export function membershipRolesFromAccessProfile(profile) {
|
|
20
|
+
const appLevel = [...new Set(profile.roleEntries
|
|
21
|
+
.filter((entry) => entry.relatedPrimaryScope === ResourcePrimaryScope.APPLICATION)
|
|
22
|
+
.flatMap((entry) => entry.roles))];
|
|
23
|
+
const organizationIds = new Set(profile.roleEntries
|
|
24
|
+
.filter((entry) => entry.relatedPrimaryScope === ResourcePrimaryScope.ORGANIZATIONS && entry.relatedResourceId)
|
|
25
|
+
.map((entry) => String(entry.relatedResourceId)));
|
|
26
|
+
const organizations = {};
|
|
27
|
+
for (const organizationId of organizationIds) {
|
|
28
|
+
const actingInOrganization = selectRoleInfosActingInOrganization(profile.roleEntries, organizationId)
|
|
29
|
+
.filter((entry) => entry.relatedPrimaryScope === ResourcePrimaryScope.ORGANIZATIONS);
|
|
30
|
+
organizations[organizationId] = [...new Set(selectOrganizationWideRoles(actingInOrganization))];
|
|
31
|
+
}
|
|
32
|
+
return { appLevel, organizations };
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Whether the backend's access profile confers anything in `organizationId`: an organization-wide or unit-scoped entry
|
|
36
|
+
* from an ACTIVE membership in a tenant that still confers authority, or a relationship entry that passed the live
|
|
37
|
+
* filter (#1597). That is the backend's own answer to "may this person act in this organization", built from every
|
|
38
|
+
* membership (`ExecutionContextCreatorBackendService.buildAccessProfileRoleEntries` lists them unpaginated).
|
|
39
|
+
*
|
|
40
|
+
* It is what admits an organization the user context does not carry (#2275). The context's `organizationMembers` is a
|
|
41
|
+
* projection capped at `DEFAULT_RELATIONSHIP_CONTEXT_POLICY.limit` (20, newest first), so for a person in more
|
|
42
|
+
* organizations the rows simply stop; the profile does not. An APPLICATION entry is never a conferral here, so a
|
|
43
|
+
* platform operator's crossing into a tenant is not mistaken for a membership.
|
|
44
|
+
*/
|
|
45
|
+
export function accessProfileConfersOrganization(profile, organizationId) {
|
|
46
|
+
if (!profile || !organizationId)
|
|
47
|
+
return false;
|
|
48
|
+
return profile.roleEntries.some((entry) => entry.relatedPrimaryScope === ResourcePrimaryScope.ORGANIZATIONS
|
|
49
|
+
&& String(entry.relatedResourceId ?? '') === organizationId);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The organizations the organization switcher can FIND for this person (#2452): every organization the access profile
|
|
53
|
+
* carries an organization-WIDE entry in, in profile order, without duplicates.
|
|
54
|
+
*
|
|
55
|
+
* Organization-wide, not every entry {@link accessProfileConfersOrganization} counts, because this is the population
|
|
56
|
+
* `GET /organizations/search/mine` returns: the backend confines that read to the caller's organization-wide entries.
|
|
57
|
+
* The number the switcher states ("N more") and the rows its search finds are then the same set, by construction. A
|
|
58
|
+
* unit-only standing (a unit-scoped representative) is still followed by route, but is not offered here.
|
|
59
|
+
*/
|
|
60
|
+
export function accessProfileSwitchableOrganizationIds(profile) {
|
|
61
|
+
if (!profile)
|
|
62
|
+
return [];
|
|
63
|
+
const ids = new Set();
|
|
64
|
+
for (const entry of profile.roleEntries) {
|
|
65
|
+
if (entry.relatedPrimaryScope !== ResourcePrimaryScope.ORGANIZATIONS || !isOrganizationWideRoleInfo(entry))
|
|
66
|
+
continue;
|
|
67
|
+
const organizationId = String(entry.relatedResourceId ?? '');
|
|
68
|
+
if (organizationId)
|
|
69
|
+
ids.add(organizationId);
|
|
70
|
+
}
|
|
71
|
+
return [...ids];
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=effective-permissions.frontend.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effective-permissions.frontend.utils.js","sourceRoot":"","sources":["../../../../../src/core/security/effective-permissions.frontend.utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,mCAAmC,GAEpC,MAAM,uBAAuB,CAAC;AAG/B;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gCAAgC,CAC9C,OAA8B;IAE9B,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW;aAC7C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,mBAAmB,KAAK,oBAAoB,CAAC,WAAW,CAAC;aACjF,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW;SAChD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,mBAAmB,KAAK,oBAAoB,CAAC,aAAa,IAAI,KAAK,CAAC,iBAAiB,CAAC;SAC9G,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,aAAa,GAA6B,EAAE,CAAC;IACnD,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;QAC7C,MAAM,oBAAoB,GAAG,mCAAmC,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC;aAClG,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,mBAAmB,KAAK,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACvF,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,2BAA2B,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gCAAgC,CAC9C,OAAiD,EACjD,cAAyC;IAEzC,IAAI,CAAC,OAAO,IAAI,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACxC,KAAK,CAAC,mBAAmB,KAAK,oBAAoB,CAAC,aAAa;WAC7D,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,KAAK,cAAc,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sCAAsC,CAAC,OAAiD;IACtG,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,mBAAmB,KAAK,oBAAoB,CAAC,aAAa,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC;YAAE,SAAS;QACrH,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,cAAc;YAAE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AAClB,CAAC","sourcesContent":["/**\n * The membership roles the shell decides with, taken from the backend's access profile when it has one (#2381).\n */\nimport {\n ResourcePrimaryScope,\n isOrganizationWideRoleInfo,\n selectOrganizationWideRoles,\n selectRoleInfosActingInOrganization,\n type UserSelfAccessProfile,\n} from '@wildo-ai/saas-models';\nimport type { EffectivePermissions } from './security.frontend.schemas';\n\n/**\n * `appLevel` and `organizations` as the BACKEND confers them: the application entry's roles, and per organization the\n * roles of its ORGANIZATION-WIDE entries (`selectOrganizationWideRoles` over the entries acting in that organization —\n * the backend's own two selections).\n *\n * Why not the membership rows the user context carries: a row is not what the backend authorizes with. A relationship\n * membership's `roles` mirror its relationship \"for display\", so a unit-scoped representative's row reads as an\n * organization-wide relationship role the backend never confers (its entries are unit-scoped); a delegated capability\n * role on an ordinary row is dropped by the backend; a membership in a tenant that no longer confers authority confers\n * nothing. Deciding on the rows, the shell offered entries the backend then refused.\n *\n * Unit-scoped entries are left out on purpose: they reach only resources that narrow by unit, which\n * `viewerMayPerformOperation` decides from the profile itself.\n */\nexport function membershipRolesFromAccessProfile(\n profile: UserSelfAccessProfile,\n): Pick<EffectivePermissions, 'appLevel' | 'organizations'> {\n const appLevel = [...new Set(profile.roleEntries\n .filter((entry) => entry.relatedPrimaryScope === ResourcePrimaryScope.APPLICATION)\n .flatMap((entry) => entry.roles))];\n const organizationIds = new Set(profile.roleEntries\n .filter((entry) => entry.relatedPrimaryScope === ResourcePrimaryScope.ORGANIZATIONS && entry.relatedResourceId)\n .map((entry) => String(entry.relatedResourceId)));\n const organizations: Record<string, string[]> = {};\n for (const organizationId of organizationIds) {\n const actingInOrganization = selectRoleInfosActingInOrganization(profile.roleEntries, organizationId)\n .filter((entry) => entry.relatedPrimaryScope === ResourcePrimaryScope.ORGANIZATIONS);\n organizations[organizationId] = [...new Set(selectOrganizationWideRoles(actingInOrganization))];\n }\n return { appLevel, organizations };\n}\n\n/**\n * Whether the backend's access profile confers anything in `organizationId`: an organization-wide or unit-scoped entry\n * from an ACTIVE membership in a tenant that still confers authority, or a relationship entry that passed the live\n * filter (#1597). That is the backend's own answer to \"may this person act in this organization\", built from every\n * membership (`ExecutionContextCreatorBackendService.buildAccessProfileRoleEntries` lists them unpaginated).\n *\n * It is what admits an organization the user context does not carry (#2275). The context's `organizationMembers` is a\n * projection capped at `DEFAULT_RELATIONSHIP_CONTEXT_POLICY.limit` (20, newest first), so for a person in more\n * organizations the rows simply stop; the profile does not. An APPLICATION entry is never a conferral here, so a\n * platform operator's crossing into a tenant is not mistaken for a membership.\n */\nexport function accessProfileConfersOrganization(\n profile: UserSelfAccessProfile | null | undefined,\n organizationId: string | null | undefined,\n): boolean {\n if (!profile || !organizationId) return false;\n return profile.roleEntries.some((entry) =>\n entry.relatedPrimaryScope === ResourcePrimaryScope.ORGANIZATIONS\n && String(entry.relatedResourceId ?? '') === organizationId);\n}\n\n/**\n * The organizations the organization switcher can FIND for this person (#2452): every organization the access profile\n * carries an organization-WIDE entry in, in profile order, without duplicates.\n *\n * Organization-wide, not every entry {@link accessProfileConfersOrganization} counts, because this is the population\n * `GET /organizations/search/mine` returns: the backend confines that read to the caller's organization-wide entries.\n * The number the switcher states (\"N more\") and the rows its search finds are then the same set, by construction. A\n * unit-only standing (a unit-scoped representative) is still followed by route, but is not offered here.\n */\nexport function accessProfileSwitchableOrganizationIds(profile: UserSelfAccessProfile | null | undefined): string[] {\n if (!profile) return [];\n const ids = new Set<string>();\n for (const entry of profile.roleEntries) {\n if (entry.relatedPrimaryScope !== ResourcePrimaryScope.ORGANIZATIONS || !isOrganizationWideRoleInfo(entry)) continue;\n const organizationId = String(entry.relatedResourceId ?? '');\n if (organizationId) ids.add(organizationId);\n }\n return [...ids];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federated-reauthentication.frontend.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"federated-reauthentication.frontend.d.ts","sourceRoot":"","sources":["../../../../../src/core/security/federated-reauthentication.frontend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGrE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,4HAA4H;AAC5H,eAAO,MAAM,iCAAiC,2BAA2B,CAAC;AAC1E,eAAO,MAAM,sCAAsC,oCAAoC,CAAC;AAExF,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,OAAO,sCAAsC,CAAC;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,iGAAiG;AACjG,oBAAY,sCAAsC;IAChD,8CAA8C;IAC9C,aAAa,kBAAkB;IAC/B,qFAAqF;IACrF,SAAS,cAAc;IACvB,+HAA+H;IAC/H,SAAS,cAAc;IACvB,wEAAwE;IACxE,MAAM,WAAW;CAClB;AAED,qBAAa,gCAAiC,SAAQ,KAAK;aAC7B,MAAM,EAAE,sCAAsC;gBAA9C,MAAM,EAAE,sCAAsC;CAI3E;AAOD;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,GAAG,IAAI,CAE1D;AAED,8EAA8E;AAC9E,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,IAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC,GAAG,IAAI,CAI3G;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,SAAS,GAAE,MAA2C,GAAG,OAAO,CAAC,MAAM,CAAC,CA6B3I;AAED;;;;;GAKG;AACH,wBAAsB,oCAAoC,CACxD,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,uBAAuB,EAChC,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAclC"}
|