@wildo-ai/saas-frontend-lib 1.1.9 → 1.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/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/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/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/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/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/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/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_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_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/PublicLayout_LegalNotice.d.ts +18 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.d.ts.map +1 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.js +8 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.js.map +1 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.labels.d.ts +3 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.labels.d.ts.map +1 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.labels.js +38 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.labels.js.map +1 -0
- 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_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.js +2 -2
- package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.js +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_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_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.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.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/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/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/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/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/PasswordStrengthIndicator.js +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.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/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/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/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/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/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-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/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.js +2 -2
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js.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/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/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/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/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/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.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.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-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/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/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/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/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/generated-relationship-field.hooks.d.ts +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/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/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-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/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/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/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/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.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.js +2 -2
- package/dist/esm/components/form/fields/form-field-bigdecimal.js.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-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-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-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-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.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.js +2 -2
- package/dist/esm/components/form/fields/form-field-number.js.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-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-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-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.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-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-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-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/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/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-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/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/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/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-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/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_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/SidebarResourceBrowser.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js +11 -28
- 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/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/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/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/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/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/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/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 -13
- 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/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_CollectionActions.d.ts +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_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_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_FilterChips.d.ts +8 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js +83 -11
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js.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_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 +68 -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_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.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_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_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_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_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_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/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/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/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/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/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/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/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/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/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/SummaryLayout.d.ts +3 -3
- 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/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.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/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/content-section.d.ts +2 -2
- package/dist/esm/components/sections/content-section.js.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/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/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.js +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js.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_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_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/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/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/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/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.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.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/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/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/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/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/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/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/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/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/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.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/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/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/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-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/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/config/app-configuration-frontend.schemas.d.ts +36 -0
- 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 +12 -8
- 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/config-merge-utilities.d.ts +31 -3
- package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.js +61 -7
- 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 +588 -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/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/launcher-items.frontend.schemas.d.ts +77 -27
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.js +18 -13
- package/dist/esm/core/config/launcher-items.frontend.schemas.js.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/settings-hub-gating.frontend.utils.d.ts +19 -7
- 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 +45 -10
- 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 +94 -10
- 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-launcher-content.d.ts +16 -2
- package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.js +64 -4
- 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/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/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/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.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/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/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/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/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/useExecution.js +1 -1
- package/dist/esm/core/execution/useExecution.js.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/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/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-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-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/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/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/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/renderers/GuidanceChecklist.labels.js +2 -2
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.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/merge-hotkey-emit-shortcuts.d.ts +2 -2
- 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/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/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.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/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/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 +102 -2
- package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js +194 -9
- package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.d.ts +35 -5
- package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.js +147 -18
- 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-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.js +3 -3
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js.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/sidebar-resource-browser-operation.d.ts +8 -0
- package/dist/esm/core/navigation/sidebar-resource-browser-operation.d.ts.map +1 -0
- package/dist/esm/core/navigation/sidebar-resource-browser-operation.js +27 -0
- package/dist/esm/core/navigation/sidebar-resource-browser-operation.js.map +1 -0
- 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 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.js +17 -2
- 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/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/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-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/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/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/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/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/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 +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.js +34 -16
- 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 +54 -11
- 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 +131 -63
- package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js.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/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/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/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/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 +175 -65
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.js +245 -75
- 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/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/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/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/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/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 +23 -4
- 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/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 +5 -2
- package/dist/esm/core/runtime/AppRouter.js.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/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/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/start-application.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js +3 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js.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/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.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/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/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/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/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/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/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 -0
- 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/index.d.ts +34 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +45 -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/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":"launcher-resolution.js","sourceRoot":"","sources":["../../../../../src/core/navigation/launcher-resolution.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Launcher Resolution Layer\n *\n * Per-launcher content resolution. Each launcher declares its own content via\n * config schemas (e.g., `contentSections`, `commands`, `bindings`, `tools`),\n * and this module resolves those declarations into runtime items.\n *\n * Core concept: `resolveItemRef()` dispatches on `LauncherItemRef.kind`\n * and produces a `ResolvedNavigationTarget` — the common resolved output for any\n * launcher item, regardless of which launcher it belongs to.\n *\n * Per-launcher functions (e.g., `resolveSidebarSections()`) layer launcher-specific\n * properties on top of the core resolution.\n *\n * These resolution functions replaced the old scan-based `getAllNavigationItems()`\n * approach (deleted in Step 4f). The coexistence period is over.\n *\n * @see launcher-operation-binding-analysis.md §4.3, §7.1\n * @see app-shell-implementation-plan.md Step 2\n */\n\nimport type React from 'react';\nimport {\n CoreResourceOperation,\n type RequiredFeaturesConfig,\n} from '@wildo-ai/saas-models';\n\nimport type {\n AnyFrontendResourceConfiguration,\n FrontendResourceConfiguration_Operation,\n FrontendResourcesRegistry,\n FrontendResourceOperationContext,\n} from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { frontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport { IconCategory, IconSize, StandardIconReference } from '~wildo-frontend-lib/core/icons/icon-registry.frontend.schemas';\nimport type { IconRenderOptions } from '~wildo-frontend-lib/core/icons/icon-registry.frontend.schemas';\nimport { NavigationContentType } from './navigation.schemas';\nimport { NavigationUtils } from './navigation.utils';\nimport {\n LauncherItemTargetKind,\n EnginePageRef,\n ENGINE_PAGE_METADATA,\n SidebarSectionContentKind,\n type SidebarSectionBehavior,\n type SidebarSectionInlineCreate,\n type LauncherItemRef,\n type ResourceOperationItemRef,\n type ViewItemRef,\n type ResourceViewItemRef,\n type EnginePageItemRef,\n type CustomComponentItemRef,\n type SettingsSectionItemRef,\n type SidebarSection,\n type SidebarSection_NavigationList,\n type SidebarSection_ResourceBrowser,\n type SidebarSection_GuidanceWidget,\n type SidebarSection_CustomComponent,\n type SidebarItem,\n type CommandMenuCommand,\n type HotkeyBinding,\n type QuickActionItem,\n type ControlPanelItem,\n type ToolbarItem,\n type MenubarHostedComponent,\n type MenubarLauncherItem,\n type UtilityPanelItem,\n type ResourceBrowserClickContext,\n} from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { CommonRoutePaths } from '~wildo-frontend-lib/core/runtime/routes.frontend.definitions';\nimport {\n type SidebarItemDisplayPolicy,\n type CommandMenuDisplayPolicy,\n type QuickActionDisplayPolicy,\n type HotkeyScope,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport {\n buildCompositeRouteUrlPath,\n buildResourceInsertedCompositeIdentity,\n isStandaloneRoutableCompositeView,\n isStandaloneRoutableInsertedCompositeView,\n type CompositeViewDefinition,\n} from '~wildo-frontend-lib/core/config/composite-view.schemas';\nimport {\n buildChartRouteUrlPath,\n buildResourceInsertedChartIdentity,\n isStandaloneRoutableInsertedChartView,\n} from '~wildo-frontend-lib/core/config/chart-view.frontend.schemas';\nimport type { FullCustomViewDefinition } from '~wildo-frontend-lib/core/config/full-custom-view.schemas';\nimport type { FlowsActorsViewDefinition } from '~wildo-frontend-lib/core/config/flows-actors-view.schemas';\nimport {\n buildExecutionRouteUrlPath,\n buildResourceInsertedExecutionIdentity,\n} from '~wildo-frontend-lib/core/config/execution-view.schemas';\nimport { FrontendView_ScopeMode } from '~wildo-frontend-lib/core/config/views-frontend.schemas';\nimport { findResourceOwnedViewReferenceMatches } from '~wildo-frontend-lib/core/config/resource-owned-view-resolution.frontend.utils';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\n\nconst logger: LoggerFrontendService = LoggerFrontendService.getLogger();\nconst logDebug: (message: string, context?: Record<string, unknown>) => void = logger.debugByType('launcher-resolution');\nlogger.setDebugTypeLogging('launcher-resolution', false);\n\n// ════════════════════════════════════════════════════════════════\n// Resolution Context — all dependencies the resolution layer needs\n// ════════════════════════════════════════════════════════════════\n\ntype IconRequest =\n | { category: IconCategory.RESOURCES; resourceType: string }\n | { category: IconCategory.OPERATION_RESOURCES; resourceType: string; operationReference: string }\n | { category: IconCategory.COMPOSITE_VIEW; viewReference: string }\n | { category: IconCategory.CUSTOM; customReference: string };\n\n/**\n * All external dependencies the resolution functions need.\n * Hooks create this from their own context and pass it in.\n */\nexport interface LauncherResolutionContext {\n registry: FrontendResourcesRegistry;\n contextResourceIdentifiers?: Record<string, string>;\n views: {\n compositeViews?: CompositeViewDefinition[];\n fullCustomViews?: FullCustomViewDefinition[];\n flowsActorsViews?: FlowsActorsViewDefinition[];\n };\n tResourceHeader: (resourceType: string, key: string) => string;\n tResourceOperation: (resourceType: string, operation: string, key: string) => string;\n /**\n * View title resolver. Composite views resolve through their translationRef\n * contract, and other supported view families resolve through their dedicated\n * view-title label contract instead of exposing raw refs.\n */\n tViewTitle: (viewRef: string, contentType: NavigationContentType) => string;\n /**\n * Generic i18n key resolver. Used for engine page labels and other\n * non-resource/non-view translations. Returns the resolved string.\n */\n t: (key: string) => string;\n renderIcon: (refOrRequest: StandardIconReference | string | IconRequest, options?: IconRenderOptions) => React.ReactElement;\n}\n\n\n// ════════════════════════════════════════════════════════════════\n// Resolved Types — output of the resolution layer\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Core resolved navigation target — the output of `resolveItemRef()`.\n *\n * Contains everything a launcher needs to render and navigate: label, URL,\n * icon, and the source metadata (resource context or view ref) that the\n * navigation controller needs.\n */\nexport interface ResolvedNavigationTarget {\n targetKind: LauncherItemTargetKind;\n id: string;\n ref: string;\n label: string;\n urlPath: string;\n icon?: React.ReactNode;\n\n resourceType?: string;\n operationIdentifier?: string;\n operation?: FrontendResourceConfiguration_Operation;\n resourceContext?: FrontendResourceOperationContext;\n\n viewRef?: string;\n contentType?: NavigationContentType;\n pageRef?: EnginePageRef;\n flowsActorsSystemRef?: string;\n fullCustomComponentRef?: string;\n requiredFeatures?: RequiredFeaturesConfig;\n contextResourceIdentifiers?: Record<string, string>;\n urlParamValues?: Record<string, string>;\n\n componentRef?: string;\n\n /** For SETTINGS_SECTION targets: the section to pre-open in the Settings Hub. */\n sectionRef?: string;\n}\n\n/** A sidebar item with its `LauncherItemRef` resolved to a navigation target. */\nexport interface ResolvedSidebarItem extends ResolvedNavigationTarget {\n displayPolicy?: SidebarItemDisplayPolicy;\n /** Typed badge-definition reference carried through to the rendered item. */\n notificationBadgeRef?: string;\n children?: ResolvedSidebarItem[];\n}\n\n/** Resolved NAVIGATION_LIST section — items resolved to navigation targets. */\nexport interface ResolvedSidebarSection_NavigationList {\n contentKind: SidebarSectionContentKind.NAVIGATION_LIST;\n ref: string;\n label?: string;\n icon?: string;\n showLabel?: boolean;\n collapsible?: boolean;\n defaultCollapsed?: boolean;\n /** See `SidebarSection_NavigationList.isPrimary` — primary group merged with Home. */\n isPrimary?: boolean;\n visibleInModes?: string[];\n items: ResolvedSidebarItem[];\n behavior?: SidebarSectionBehavior;\n inlineCreate?: SidebarSectionInlineCreate;\n inlineCreateResourceType?: string;\n nested?: boolean;\n maxNestingDepth?: number;\n}\n\n/** Resolved RESOURCE_BROWSER section — passed through (no item resolution needed). */\nexport interface ResolvedSidebarSection_ResourceBrowser {\n contentKind: SidebarSectionContentKind.RESOURCE_BROWSER;\n ref: string;\n label?: string;\n icon?: string;\n showLabel?: boolean;\n collapsible?: boolean;\n defaultCollapsed?: boolean;\n visibleInModes?: string[];\n resourceType: string;\n operation?: string;\n operationVariant?: string;\n navigateOperation?: string;\n navigateOperationVariant?: string;\n instanceFilter?: (instance: Record<string, unknown>) => boolean;\n onInstanceClick?: (context: ResourceBrowserClickContext) => void;\n}\n\n/** Resolved GUIDANCE_WIDGET section — passed through. */\nexport interface ResolvedSidebarSection_GuidanceWidget {\n contentKind: SidebarSectionContentKind.GUIDANCE_WIDGET;\n ref: string;\n label?: string;\n icon?: string;\n showLabel?: boolean;\n collapsible?: boolean;\n defaultCollapsed?: boolean;\n visibleInModes?: string[];\n guidanceRef: string;\n}\n\n/** Resolved CUSTOM_COMPONENT section — passed through. */\nexport interface ResolvedSidebarSection_CustomComponent {\n contentKind: SidebarSectionContentKind.CUSTOM_COMPONENT;\n ref: string;\n label?: string;\n icon?: string;\n showLabel?: boolean;\n collapsible?: boolean;\n defaultCollapsed?: boolean;\n visibleInModes?: string[];\n componentRef: string;\n}\n\n/** Discriminated union of all resolved sidebar sections. */\nexport type ResolvedSidebarSection =\n | ResolvedSidebarSection_NavigationList\n | ResolvedSidebarSection_ResourceBrowser\n | ResolvedSidebarSection_GuidanceWidget\n | ResolvedSidebarSection_CustomComponent;\n\n/** Resolved command menu entry. */\nexport interface ResolvedCommandMenuItem extends ResolvedNavigationTarget {\n category?: string;\n shortcut?: string;\n searchKeywords?: string[];\n displayPolicy?: CommandMenuDisplayPolicy;\n}\n\n/** Resolved hotkey binding. */\nexport interface ResolvedHotkeyBinding extends ResolvedNavigationTarget {\n shortcut: string;\n scope?: HotkeyScope;\n description?: string;\n}\n\n/** Resolved quick action item. */\nexport interface ResolvedQuickActionItem extends ResolvedNavigationTarget {\n displayPolicy?: QuickActionDisplayPolicy;\n}\n\n/** Resolved control panel item. */\nexport interface ResolvedControlPanelItem extends ResolvedNavigationTarget {\n section?: string;\n}\n\n/** Resolved toolbar item. */\nexport interface ResolvedToolbarItem extends ResolvedNavigationTarget {\n group?: string;\n iconOnly?: boolean;\n}\n\n/** Resolved menubar content (hosted components + items). */\nexport interface ResolvedMenubarContent {\n hostedComponents: MenubarHostedComponent[];\n items: ResolvedMenubarItem[];\n}\n\n/** Resolved menubar item. */\nexport interface ResolvedMenubarItem extends ResolvedNavigationTarget {\n group?: string;\n /** Carried from the declaration, as the sidebar's resolution carries its own. */\n notificationBadgeRef?: string;\n}\n\n\n// ════════════════════════════════════════════════════════════════\n// Core Resolution: resolveItemRef\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Resolve a single `LauncherItemRef` to a navigation target.\n *\n * Dispatches on `item.kind`. Returns `null` for unresolvable refs\n * (DEV warning emitted). This replaces the scan-all logic for individual items.\n *\n * @see launcher-operation-binding-analysis.md §3.2\n */\nexport function resolveItemRef(\n item: LauncherItemRef,\n ctx: LauncherResolutionContext,\n): ResolvedNavigationTarget | null {\n switch (item.kind) {\n case LauncherItemTargetKind.RESOURCE_OPERATION:\n return resolveResourceOperation(item, ctx);\n case LauncherItemTargetKind.VIEW:\n return resolveView(item, ctx);\n case LauncherItemTargetKind.RESOURCE_VIEW:\n return resolveResourceView(item, ctx);\n case LauncherItemTargetKind.ENGINE_PAGE:\n return resolveEnginePage(item, ctx);\n case LauncherItemTargetKind.CUSTOM_COMPONENT:\n return resolveCustomComponent(item, ctx);\n case LauncherItemTargetKind.SETTINGS_SECTION:\n return resolveSettingsSection(item, ctx);\n default: {\n logDebug('Unknown LauncherItemRef kind', { item });\n return null;\n }\n }\n}\n\nfunction resolveResourceOperation(\n item: ResourceOperationItemRef,\n ctx: LauncherResolutionContext,\n): ResolvedNavigationTarget | null {\n const config = ctx.registry.resourceConfigurations[item.resourceType] as AnyFrontendResourceConfiguration | undefined;\n if (!config) {\n logDebug('Resource type not found in registry', { resourceType: item.resourceType });\n return null;\n }\n\n const operations = Array.isArray(config.operations) ? config.operations : [];\n const matchingOperations = operations.filter((op) => String(op.operationIdentifier) === item.operation);\n const defaultOperations = matchingOperations.filter((op) => op.isOperationDefault === true);\n const operation = item.operationVariant\n ? matchingOperations.find((op) => op.variantKey === item.operationVariant)\n : defaultOperations.length === 1\n ? defaultOperations[0]\n : matchingOperations.length === 1\n ? matchingOperations[0]\n : undefined;\n if (!operation) {\n logDebug('Operation not found for resource', {\n resourceType: item.resourceType,\n operation: item.operation,\n operationVariant: item.operationVariant,\n });\n return null;\n }\n\n // Resolve the operation's URL against the current AppScope. A launcher item is\n // surfaced whenever the resource's REQUIRED route parameters are satisfiable\n // from the ambient scope (primary scope + custom/optional context), filling both\n // required and optional context identifiers. `resolveResourceUrl` →\n // `selectMatchingRoutePath` picks the route path the scope can satisfy (e.g. the\n // org-scoped `/organizations/:organizationId/todos` over the nested\n // `/…/todo-lists/:todoListId/todos` when no list is in context) and returns\n // `resolvedUrl: undefined` only when NO path is satisfiable — i.e. the resource\n // genuinely requires a non-ambient parent, in which case it is correctly omitted.\n //\n // Previously this dropped EVERY resource whose routes all carry parameters (a\n // zero-parameter `standalone` route check), which excluded all org-scoped\n // resources from the sidebar/launchers even though the org is ambient in\n // AppScope. That expedient gate bypassed the scope mechanism; this routes the\n // decision back through AppScope, the single source of truth for required +\n // optional scope.\n const scopeIdentifiers = ctx.contextResourceIdentifiers ?? {};\n\n const resolved = NavigationUtils.resolveResourceUrl(\n config,\n operation,\n scopeIdentifiers,\n ctx.registry.allResourceFieldIdentifiers,\n );\n const urlPath = resolved?.resolvedUrl;\n if (!urlPath) {\n logDebug('No scope-satisfiable route for launcher resource operation (requires non-ambient context)', {\n resourceType: item.resourceType,\n operation: item.operation,\n scopeKeys: Object.keys(scopeIdentifiers),\n });\n return null;\n }\n const operationIdentifier = String(operation.operationIdentifier);\n\n const icon = ctx.renderIcon(\n { category: IconCategory.RESOURCES, resourceType: item.resourceType },\n { size: IconSize.SM },\n );\n\n const resourceContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType: item.resourceType,\n operation,\n contextResourceIdentifiers: scopeIdentifiers,\n });\n\n return {\n targetKind: LauncherItemTargetKind.RESOURCE_OPERATION,\n id: `resolved-${item.resourceType}-${operationIdentifier}-${operation.variantKey ?? 'default'}`,\n ref: `resource:${item.resourceType}:${operationIdentifier}:${operation.variantKey ?? 'default'}`,\n label: ctx.tResourceOperation(item.resourceType, operationIdentifier, 'title'),\n urlPath,\n icon,\n resourceType: item.resourceType,\n operationIdentifier,\n operation,\n resourceContext,\n contextResourceIdentifiers: scopeIdentifiers,\n };\n}\n\ntype LauncherViewScopeSelector = 'application' | 'resource';\n\nfunction isCompatibleWithLauncherScope(\n scope: FrontendView_ScopeMode,\n expectedScope: LauncherViewScopeSelector,\n): boolean {\n if (expectedScope === 'application') {\n return scope === FrontendView_ScopeMode.APPLICATION;\n }\n\n return scope === FrontendView_ScopeMode.RESOURCE;\n}\n\nfunction resolveView(\n item: ViewItemRef,\n ctx: LauncherResolutionContext,\n): ResolvedNavigationTarget | null {\n const resolvedView = resolveConcreteApplicationViewTarget(item.viewRef, ctx);\n if (!resolvedView) {\n logDebug('Application-scoped VIEW ref not found in any compatible view collection', { viewRef: item.viewRef });\n return null;\n }\n\n return {\n targetKind: LauncherItemTargetKind.VIEW,\n id: `resolved-view-${item.viewRef}`,\n ref: `view:${resolvedView.contentType}:${item.viewRef}`,\n label: ctx.tViewTitle(resolvedView.viewRef, resolvedView.contentType),\n ...resolvedView,\n };\n}\n\nfunction resolveResourceView(\n item: ResourceViewItemRef,\n ctx: LauncherResolutionContext,\n): ResolvedNavigationTarget | null {\n const resolvedView = resolveConcreteResourceViewTarget(item, ctx);\n if (!resolvedView) {\n logDebug('Resource-scoped RESOURCE_VIEW ref not found on the target resource', {\n resourceType: item.resourceType,\n viewRef: item.viewRef,\n });\n return null;\n }\n\n return {\n targetKind: LauncherItemTargetKind.RESOURCE_VIEW,\n id: `resolved-resource-view-${item.resourceType}-${item.viewRef}`,\n ref: `view:${resolvedView.contentType}:${item.resourceType}:${item.viewRef}`,\n label: ctx.tViewTitle(resolvedView.viewRef, resolvedView.contentType),\n ...resolvedView,\n };\n}\n\nfunction resolveConcreteApplicationViewTarget(\n viewRef: string,\n ctx: LauncherResolutionContext,\n): Pick<ResolvedNavigationTarget, 'urlPath' | 'icon' | 'viewRef' | 'contentType' | 'fullCustomComponentRef' | 'flowsActorsSystemRef' | 'requiredFeatures' | 'contextResourceIdentifiers'> | null {\n const { compositeViews, fullCustomViews, flowsActorsViews } = ctx.views;\n\n const compositeView = compositeViews?.find(\n v => v.ref === viewRef && isCompatibleWithLauncherScope(v.scope, 'application'),\n );\n if (compositeView) {\n return {\n urlPath: isStandaloneRoutableCompositeView(compositeView)\n ? buildCompositeRouteUrlPath(\n viewRef,\n )\n : '',\n icon: ctx.renderIcon(\n { category: IconCategory.COMPOSITE_VIEW, viewReference: viewRef },\n { size: IconSize.SM },\n ),\n viewRef,\n contentType: NavigationContentType.COMPOSITE_VIEW,\n requiredFeatures: compositeView.requiredFeatures,\n contextResourceIdentifiers: undefined,\n };\n }\n\n const fullCustomView = fullCustomViews?.find(\n v => v.ref === viewRef && isCompatibleWithLauncherScope(v.scope, 'application'),\n );\n if (fullCustomView) {\n return {\n urlPath: `/custom/${viewRef}`,\n icon: ctx.renderIcon(\n { category: IconCategory.CUSTOM, customReference: `view-custom-${viewRef}` },\n { size: IconSize.SM },\n ),\n viewRef,\n contentType: NavigationContentType.FULL_CUSTOM_VIEW,\n fullCustomComponentRef: fullCustomView.componentRef,\n requiredFeatures: fullCustomView.requiredFeatures,\n contextResourceIdentifiers: undefined,\n };\n }\n\n const flowsActorsView = flowsActorsViews?.find(\n v => v.ref === viewRef && isCompatibleWithLauncherScope(v.scope, 'application'),\n );\n if (flowsActorsView) {\n return {\n urlPath: `/flows-actors/${viewRef}`,\n icon: ctx.renderIcon(\n { category: IconCategory.CUSTOM, customReference: `view-flows-${viewRef}` },\n { size: IconSize.SM },\n ),\n viewRef,\n contentType: NavigationContentType.FLOWS_ACTORS_VIEW,\n flowsActorsSystemRef: flowsActorsView.systemRef,\n requiredFeatures: flowsActorsView.requiredFeatures,\n contextResourceIdentifiers: undefined,\n };\n }\n\n return null;\n}\n\nfunction resolveConcreteResourceViewTarget(\n item: ResourceViewItemRef,\n ctx: LauncherResolutionContext,\n): Pick<ResolvedNavigationTarget, 'urlPath' | 'icon' | 'viewRef' | 'contentType' | 'requiredFeatures' | 'contextResourceIdentifiers'> | null {\n const resourceConfiguration = ctx.registry.resourceConfigurations[item.resourceType];\n const frontendConfiguration = resourceConfiguration?.frontendConfiguration;\n const viewMatches = findResourceOwnedViewReferenceMatches({\n resourceType: item.resourceType,\n viewRef: item.viewRef,\n registry: ctx.registry,\n });\n const scopedContextResourceIdentifiers =\n ctx.contextResourceIdentifiers\n && Object.keys(ctx.contextResourceIdentifiers).length > 0\n ? ctx.contextResourceIdentifiers\n : undefined;\n\n if (viewMatches.length !== 1) {\n return null;\n }\n\n const compositeView = frontendConfiguration?.compositeViews?.find((view) => view.ref === item.viewRef);\n if (compositeView) {\n if (compositeView.scope !== FrontendView_ScopeMode.RESOURCE) {\n return null;\n }\n\n const insertedIdentity = buildResourceInsertedCompositeIdentity(item.resourceType, compositeView);\n return {\n urlPath: isStandaloneRoutableInsertedCompositeView(compositeView)\n ? buildCompositeRouteUrlPath(insertedIdentity.insertedViewRef, scopedContextResourceIdentifiers)\n : '',\n icon: ctx.renderIcon(\n { category: IconCategory.COMPOSITE_VIEW, viewReference: item.viewRef },\n { size: IconSize.SM },\n ),\n viewRef: insertedIdentity.insertedViewRef,\n contentType: NavigationContentType.COMPOSITE_VIEW,\n requiredFeatures: compositeView.requiredFeatures,\n contextResourceIdentifiers: scopedContextResourceIdentifiers,\n };\n }\n\n const chartView = frontendConfiguration?.chartViews?.find((view) => view.ref === item.viewRef);\n if (chartView) {\n // `InsertedChartDeclaration.scope` is pinned to `FrontendView_ScopeMode.RESOURCE`\n // by construction (see chart-view.frontend.schemas.ts), so no runtime scope\n // narrowing is needed here.\n\n const insertedIdentity = buildResourceInsertedChartIdentity(item.resourceType, chartView);\n return {\n urlPath: isStandaloneRoutableInsertedChartView(chartView)\n ? buildChartRouteUrlPath(insertedIdentity.insertedViewRef, scopedContextResourceIdentifiers)\n : '',\n icon: ctx.renderIcon(\n { category: IconCategory.CUSTOM, customReference: `view-chart-${item.viewRef}` },\n { size: IconSize.SM },\n ),\n viewRef: insertedIdentity.insertedViewRef,\n contentType: NavigationContentType.CHART_VIEW,\n requiredFeatures: chartView.chartDefinition.requiredFeatures,\n contextResourceIdentifiers: scopedContextResourceIdentifiers,\n };\n }\n\n const executionView = frontendConfiguration?.executionViews?.find((view) => view.ref === item.viewRef);\n if (executionView) {\n if (executionView.scope !== FrontendView_ScopeMode.RESOURCE) {\n return null;\n }\n\n const insertedIdentity = buildResourceInsertedExecutionIdentity(item.resourceType, executionView);\n return {\n urlPath: executionView.isAddressable\n ? buildExecutionRouteUrlPath(insertedIdentity.insertedViewRef, scopedContextResourceIdentifiers)\n : '',\n icon: ctx.renderIcon(\n { category: IconCategory.CUSTOM, customReference: `view-execution-${item.viewRef}` },\n { size: IconSize.SM },\n ),\n viewRef: insertedIdentity.insertedViewRef,\n contentType: NavigationContentType.EXECUTION_VIEW,\n requiredFeatures: executionView.requiredFeatures,\n contextResourceIdentifiers: scopedContextResourceIdentifiers,\n };\n }\n\n return null;\n}\n\nfunction resolveEnginePage(\n item: EnginePageItemRef,\n ctx: LauncherResolutionContext,\n): ResolvedNavigationTarget {\n // Single metadata record holds route + i18n key + icon — see\n // `ENGINE_PAGE_METADATA` in `launcher-items.frontend.schemas.ts`.\n const metadata = ENGINE_PAGE_METADATA[item.pageRef];\n // The display label lives at `engine.pages.<key>.title` (the contract\n // documented on `EnginePageMetadata.i18nKey`, emitted by the companion's\n // `planEnginePageUnits()`). `i18nKey` itself points at the parent object, so\n // it MUST be suffixed with `.title` — translating the bare key resolves to the\n // `{ title }` object, misses, and renders the raw key in the sidebar. The\n // matching `.title` keys are requested in `useLauncherResolutionContext` so\n // the lazy i18n loader fetches them (engine pages are not an eager section).\n const label = ctx.t(`${metadata.i18nKey}.title`);\n const icon = ctx.renderIcon(metadata.icon, { size: IconSize.SM });\n\n return {\n targetKind: LauncherItemTargetKind.ENGINE_PAGE,\n id: `resolved-engine-${item.pageRef}`,\n ref: `engine:${item.pageRef}`,\n label,\n urlPath: metadata.route,\n icon,\n pageRef: item.pageRef,\n contentType: NavigationContentType.ENGINE_PAGE,\n };\n}\n\nfunction resolveSettingsSection(\n item: SettingsSectionItemRef,\n ctx: LauncherResolutionContext,\n): ResolvedNavigationTarget {\n const urlPath = item.sectionRef\n ? CommonRoutePaths.settingsSection.replace(':sectionRef', item.sectionRef)\n : CommonRoutePaths.settings;\n return {\n targetKind: LauncherItemTargetKind.SETTINGS_SECTION,\n id: `resolved-settings-${item.sectionRef ?? 'default'}`,\n ref: `settings:${item.sectionRef ?? 'default'}`,\n // TODO(settings-hub:i18n): resolve the hub label via i18n once wired.\n label: 'Settings',\n urlPath,\n icon: ctx.renderIcon(StandardIconReference.SETTINGS, { size: IconSize.SM }),\n contentType: NavigationContentType.SETTINGS_HUB,\n sectionRef: item.sectionRef,\n };\n}\n\nfunction resolveCustomComponent(\n item: CustomComponentItemRef,\n ctx: LauncherResolutionContext,\n): ResolvedNavigationTarget {\n return {\n targetKind: LauncherItemTargetKind.CUSTOM_COMPONENT,\n id: `resolved-custom-${item.componentRef}`,\n ref: `custom:${item.componentRef}`,\n label: item.componentRef,\n urlPath: '',\n componentRef: item.componentRef,\n contextResourceIdentifiers:\n ctx.contextResourceIdentifiers && Object.keys(ctx.contextResourceIdentifiers).length > 0\n ? ctx.contextResourceIdentifiers\n : undefined,\n };\n}\n\n\n// ════════════════════════════════════════════════════════════════\n// Per-Launcher Resolution Functions\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Resolve a sidebar item (with potential children) to a `ResolvedSidebarItem`.\n * Recursively resolves children.\n */\nfunction resolveSidebarItem(\n item: SidebarItem,\n ctx: LauncherResolutionContext,\n): ResolvedSidebarItem | null {\n const target = resolveItemRef(item, ctx);\n if (!target) return null;\n\n let children: ResolvedSidebarItem[] | undefined;\n if (item.children && item.children.length > 0) {\n children = item.children\n .map(child => resolveSidebarItem(child, ctx))\n .filter((resolved): resolved is ResolvedSidebarItem => resolved !== null);\n }\n\n return {\n ...target,\n displayPolicy: item.displayPolicy,\n notificationBadgeRef: item.notificationBadgeRef,\n children,\n };\n}\n\n/**\n * Resolve sidebar sections from per-launcher config.\n *\n * Dispatches on `contentKind`:\n * - `NAVIGATION_LIST`: resolves each `LauncherItemRef` in `children` via `resolveItemRef`\n * - `RESOURCE_BROWSER`: passes through (component-level rendering, no item resolution)\n * - `GUIDANCE_WIDGET`: passes through\n * - `CUSTOM_COMPONENT`: passes through\n *\n * `visibleInModes` / `scopeCondition` filtering is NOT applied here —\n * that happens in Macro B (Step 6).\n *\n * @see launcher-operation-binding-analysis.md §3.3.1\n */\nexport function resolveSidebarSections(\n sections: SidebarSection[],\n ctx: LauncherResolutionContext,\n): ResolvedSidebarSection[] {\n return sections.map(section => {\n switch (section.contentKind) {\n case SidebarSectionContentKind.NAVIGATION_LIST:\n return resolveNavigationListSection(section, ctx);\n case SidebarSectionContentKind.RESOURCE_BROWSER:\n return resolveResourceBrowserSection(section);\n case SidebarSectionContentKind.GUIDANCE_WIDGET:\n return resolveGuidanceWidgetSection(section);\n case SidebarSectionContentKind.CUSTOM_COMPONENT:\n return resolveCustomComponentSection(section);\n }\n });\n}\n\nfunction resolveNavigationListSection(\n section: SidebarSection_NavigationList,\n ctx: LauncherResolutionContext,\n): ResolvedSidebarSection_NavigationList {\n const items = section.children\n .map(child => resolveSidebarItem(child, ctx))\n .filter((resolved): resolved is ResolvedSidebarItem => resolved !== null);\n\n return {\n contentKind: SidebarSectionContentKind.NAVIGATION_LIST,\n ref: section.ref,\n label: section.label,\n icon: section.icon,\n showLabel: section.showLabel,\n collapsible: section.collapsible,\n defaultCollapsed: section.defaultCollapsed,\n isPrimary: section.isPrimary,\n visibleInModes: section.visibleInModes,\n items,\n behavior: section.behavior,\n inlineCreate: section.inlineCreate,\n inlineCreateResourceType: section.inlineCreateResourceType,\n nested: section.nested,\n maxNestingDepth: section.maxNestingDepth,\n };\n}\n\nfunction resolveResourceBrowserSection(\n section: SidebarSection_ResourceBrowser,\n): ResolvedSidebarSection_ResourceBrowser {\n return {\n contentKind: SidebarSectionContentKind.RESOURCE_BROWSER,\n ref: section.ref,\n label: section.label,\n icon: section.icon,\n showLabel: section.showLabel,\n collapsible: section.collapsible,\n defaultCollapsed: section.defaultCollapsed,\n visibleInModes: section.visibleInModes,\n resourceType: section.resourceType,\n operation: section.operation,\n operationVariant: section.operationVariant,\n navigateOperation: section.navigateOperation,\n navigateOperationVariant: section.navigateOperationVariant,\n instanceFilter: section.instanceFilter,\n onInstanceClick: section.onInstanceClick,\n };\n}\n\nfunction resolveGuidanceWidgetSection(\n section: SidebarSection_GuidanceWidget,\n): ResolvedSidebarSection_GuidanceWidget {\n return {\n contentKind: SidebarSectionContentKind.GUIDANCE_WIDGET,\n ref: section.ref,\n label: section.label,\n icon: section.icon,\n showLabel: section.showLabel,\n collapsible: section.collapsible,\n defaultCollapsed: section.defaultCollapsed,\n visibleInModes: section.visibleInModes,\n guidanceRef: section.guidanceRef,\n };\n}\n\nfunction resolveCustomComponentSection(\n section: SidebarSection_CustomComponent,\n): ResolvedSidebarSection_CustomComponent {\n return {\n contentKind: SidebarSectionContentKind.CUSTOM_COMPONENT,\n ref: section.ref,\n label: section.label,\n icon: section.icon,\n showLabel: section.showLabel,\n collapsible: section.collapsible,\n defaultCollapsed: section.defaultCollapsed,\n visibleInModes: section.visibleInModes,\n componentRef: section.componentRef,\n };\n}\n\n/**\n * Resolve command menu commands from per-launcher config.\n * Groups by category if present.\n */\nexport function resolveCommandMenuCommands(\n commands: CommandMenuCommand[],\n ctx: LauncherResolutionContext,\n): ResolvedCommandMenuItem[] {\n const resolved: ResolvedCommandMenuItem[] = [];\n\n for (const cmd of commands) {\n const target = resolveItemRef(cmd, ctx);\n if (!target) continue;\n\n resolved.push({\n ...target,\n category: cmd.category,\n shortcut: cmd.shortcut,\n searchKeywords: cmd.searchKeywords,\n displayPolicy: cmd.displayPolicy,\n });\n }\n\n return resolved;\n}\n\n/**\n * Resolve hotkey bindings from per-launcher config.\n */\nexport function resolveHotkeyBindings(\n bindings: HotkeyBinding[],\n ctx: LauncherResolutionContext,\n): ResolvedHotkeyBinding[] {\n const resolved: ResolvedHotkeyBinding[] = [];\n\n for (const binding of bindings) {\n const target = resolveItemRef(binding, ctx);\n if (!target) continue;\n\n const description =\n binding.description ??\n (binding.kind === LauncherItemTargetKind.RESOURCE_OPERATION\n ? ctx.tResourceOperation(binding.resourceType, binding.operation, 'title')\n : target.label);\n\n resolved.push({\n ...target,\n shortcut: binding.shortcut,\n scope: binding.scope,\n description,\n });\n }\n\n return resolved;\n}\n\n/**\n * Resolve quick action items from per-launcher config.\n */\nexport function resolveQuickActions(\n actions: QuickActionItem[],\n ctx: LauncherResolutionContext,\n): ResolvedQuickActionItem[] {\n const resolved: ResolvedQuickActionItem[] = [];\n\n for (const action of actions) {\n const target = resolveItemRef(action, ctx);\n if (!target) continue;\n\n resolved.push({\n ...target,\n displayPolicy: action.displayPolicy,\n });\n }\n\n return resolved;\n}\n\n/**\n * Resolve control panel items from per-launcher config.\n */\nexport function resolveControlPanelItems(\n items: ControlPanelItem[],\n ctx: LauncherResolutionContext,\n): ResolvedControlPanelItem[] {\n const resolved: ResolvedControlPanelItem[] = [];\n\n for (const item of items) {\n const target = resolveItemRef(item, ctx);\n if (!target) continue;\n\n resolved.push({\n ...target,\n section: item.section,\n });\n }\n\n return resolved;\n}\n\n/**\n * Resolve toolbar tools from per-launcher config.\n */\nexport function resolveToolbarTools(\n tools: ToolbarItem[],\n ctx: LauncherResolutionContext,\n): ResolvedToolbarItem[] {\n const resolved: ResolvedToolbarItem[] = [];\n\n for (const tool of tools) {\n const target = resolveItemRef(tool, ctx);\n if (!target) continue;\n\n resolved.push({\n ...target,\n group: tool.group,\n iconOnly: tool.iconOnly,\n });\n }\n\n return resolved;\n}\n\n/**\n * Resolve menubar content — validates hosted components exist and resolves items.\n */\nexport function resolveMenubarContent(\n hostedComponents: MenubarHostedComponent[] | undefined,\n items: MenubarLauncherItem[] | undefined,\n ctx: LauncherResolutionContext,\n): ResolvedMenubarContent {\n const resolvedItems: ResolvedMenubarItem[] = [];\n\n if (items) {\n for (const item of items) {\n const target = resolveItemRef(item, ctx);\n if (!target) continue;\n\n resolvedItems.push({\n ...target,\n group: item.group,\n ...(item.notificationBadgeRef ? { notificationBadgeRef: item.notificationBadgeRef } : {}),\n });\n }\n }\n\n return {\n hostedComponents: hostedComponents ?? [],\n items: resolvedItems,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"launcher-resolution.js","sourceRoot":"","sources":["../../../../../src/core/navigation/launcher-resolution.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Launcher Resolution Layer\n *\n * Per-launcher content resolution. Each launcher declares its own content via\n * config schemas (e.g., `contentSections`, `commands`, `bindings`, `tools`),\n * and this module resolves those declarations into runtime items.\n *\n * Core concept: `resolveItemRef()` dispatches on `LauncherItemRef.kind`\n * and produces a `ResolvedNavigationTarget` — the common resolved output for any\n * launcher item, regardless of which launcher it belongs to.\n *\n * Per-launcher functions (e.g., `resolveSidebarSections()`) layer launcher-specific\n * properties on top of the core resolution.\n *\n * These resolution functions replaced the old scan-based `getAllNavigationItems()`\n * approach (deleted in Step 4f). The coexistence period is over.\n *\n * @see launcher-operation-binding-analysis.md §4.3, §7.1\n * @see app-shell-implementation-plan.md Step 2\n */\n\nimport type React from 'react';\nimport {\n computeRoleHierarchy,\n CoreResourceOperation,\n isReadShapedOperation,\n OrganizationUnitNarrowingDecisionKind,\n PlatformAccessGrants_Operations,\n resolveOrganizationUnitNarrowingDecision,\n ResourcePrimaryScope,\n userRolesSatisfyRequiredRoles,\n type ApplicationRoleTables,\n type RequiredFeaturesConfig,\n type UserSelfAccessProfile,\n} from '@wildo-ai/saas-models';\nimport { FrontendComponentType, LabellingTypes } from '@wildo-ai/presets-components-models';\n\nimport type {\n AnyFrontendResourceConfiguration,\n FrontendResourceConfiguration_Operation,\n FrontendResourcesRegistry,\n FrontendResourceOperationContext,\n} from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { frontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport { IconCategory, IconSize, StandardIconReference } from '~wildo-frontend-lib/core/icons/icon-registry.frontend.schemas';\nimport type { IconRenderOptions } from '~wildo-frontend-lib/core/icons/icon-registry.frontend.schemas';\nimport { NavigationContentType } from './navigation.schemas';\nimport { NavigationUtils } from './navigation.utils';\nimport { resolveSidebarResourceBrowserOperation } from './sidebar-resource-browser-operation';\nimport {\n LauncherItemTargetKind,\n EnginePageRef,\n ENGINE_PAGE_METADATA,\n SidebarSectionContentKind,\n type SidebarSectionBehavior,\n type SidebarSectionInlineCreate,\n type LauncherItemRef,\n type ResourceOperationItemRef,\n type ViewItemRef,\n type ResourceViewItemRef,\n type EnginePageItemRef,\n type CustomComponentItemRef,\n type SettingsSectionItemRef,\n type SidebarSection,\n type SidebarSection_NavigationList,\n type SidebarSection_ResourceBrowser,\n type SidebarSection_GuidanceWidget,\n type SidebarSection_CustomComponent,\n type SidebarItem,\n type CommandMenuCommand,\n type HotkeyBinding,\n type QuickActionItem,\n type ControlPanelItem,\n type ToolbarItem,\n type MenubarHostedComponent,\n type MenubarLauncherItem,\n type UtilityPanelItem,\n type ResourceBrowserClickContext,\n} from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { CommonRoutePaths } from '~wildo-frontend-lib/core/runtime/routes.frontend.definitions';\nimport {\n type SidebarItemDisplayPolicy,\n type CommandMenuDisplayPolicy,\n type QuickActionDisplayPolicy,\n type HotkeyScope,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport {\n buildCompositeRouteUrlPath,\n buildResourceInsertedCompositeIdentity,\n isStandaloneRoutableCompositeView,\n isStandaloneRoutableInsertedCompositeView,\n type CompositeViewDefinition,\n} from '~wildo-frontend-lib/core/config/composite-view.schemas';\nimport {\n buildChartRouteUrlPath,\n buildResourceInsertedChartIdentity,\n isStandaloneRoutableInsertedChartView,\n} from '~wildo-frontend-lib/core/config/chart-view.frontend.schemas';\nimport type { FullCustomViewDefinition } from '~wildo-frontend-lib/core/config/full-custom-view.schemas';\nimport type { FlowsActorsViewDefinition } from '~wildo-frontend-lib/core/config/flows-actors-view.schemas';\nimport {\n buildExecutionRouteUrlPath,\n buildResourceInsertedExecutionIdentity,\n} from '~wildo-frontend-lib/core/config/execution-view.schemas';\nimport { FrontendView_ScopeMode } from '~wildo-frontend-lib/core/config/views-frontend.schemas';\nimport { findResourceOwnedViewReferenceMatches } from '~wildo-frontend-lib/core/config/resource-owned-view-resolution.frontend.utils';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\n\nconst logger: LoggerFrontendService = LoggerFrontendService.getLogger();\nconst logDebug: (message: string, context?: Record<string, unknown>) => void = logger.debugByType('launcher-resolution');\nlogger.setDebugTypeLogging('launcher-resolution', false);\n\n// ════════════════════════════════════════════════════════════════\n// Resolution Context — all dependencies the resolution layer needs\n// ════════════════════════════════════════════════════════════════\n\ntype IconRequest =\n | { category: IconCategory.RESOURCES; resourceType: string }\n | { category: IconCategory.OPERATION_RESOURCES; resourceType: string; operationReference: string }\n | { category: IconCategory.COMPOSITE_VIEW; viewReference: string }\n | { category: IconCategory.CUSTOM; customReference: string };\n\n/**\n * All external dependencies the resolution functions need.\n * Hooks create this from their own context and pass it in.\n */\n/**\n * The viewer's roles as a role check needs them: kept apart by scope, because each scope's hierarchy is resolved\n * against its own role table (`userRolesSatisfyRequiredRoles`). Organization roles are the CURRENT organization's\n * only. Built by `useViewerEffectiveRoles`, the one place they are derived.\n *\n * Roles not known yet (permissions not loaded, an anonymous visitor) are EMPTY, not absent: the viewer holds no role,\n * so a role-gated entry appears once the roles arrive rather than being offered and then withdrawn. That is the\n * project's fail-closed rule; an unrestricted entry, or one open to anonymous visitors, is unaffected.\n */\nexport interface LauncherEffectiveRoles {\n applicationRoles: string[];\n organizationRoles: string[];\n /**\n * The application's role tables these roles are expanded against, and what a role neither table knows does\n * (`useApplicationRoleTables`). Carried with the roles so no check can expand them against the wrong tables.\n */\n roleTables: ApplicationRoleTables;\n /** The organization `organizationRoles` are held in — the one a decision about an organization's resource is made in. */\n organizationId: string | null;\n /**\n * The backend's own account of this viewer's access (`user-self | access_profile`, #2381), or `null` when not loaded.\n * It is what lets {@link viewerMayPerformOperation} see a grant the memberships cannot: an organization-unit one.\n */\n accessProfile: UserSelfAccessProfile | null;\n}\n\n/**\n * The ONE role-visibility decision of the app shell: OR semantics through the role hierarchy, the decision the\n * backend's operation-role check makes. Shared by launcher items and Settings Hub sections, which used to answer it\n * differently (the hub compared role names with no hierarchy, so an owner failed a gate naming the administrator role).\n * The roles are expanded against the application's own tables, so a custom role passes exactly the gates the backend\n * would let it through, and a role neither table knows passes none. An empty or absent requirement is open.\n */\nexport function viewerHoldsOneOfRoles(requiredRoles: readonly string[] | undefined, effectiveRoles: LauncherEffectiveRoles): boolean {\n if (!requiredRoles?.length) return true;\n return userRolesSatisfyRequiredRoles({\n requiredRoles,\n userAppRoles: effectiveRoles.applicationRoles,\n userOrgRoles: effectiveRoles.organizationRoles,\n appRolesConfig: effectiveRoles.roleTables.appRolesConfig,\n orgRolesConfig: effectiveRoles.roleTables.orgRolesConfig,\n unresolvableRoles: effectiveRoles.roleTables.unresolvableRoles,\n });\n}\n\n/**\n * Whether the shell may offer this viewer an operation on a resource (#2381) — the decision the backend's gate makes,\n * including its ADDITIVE unit narrowing: an operation is offered when the viewer's roles satisfy it\n * ({@link viewerHoldsOneOfRoles}), or when the backend's own narrowing decision, `resolveOrganizationUnitNarrowingDecision`\n * fed with the backend's own role entries and maps (the access profile), admits them through an organization-unit\n * grant (`UNIT_NARROWED`) or as a unit-scoped representative reading a resource declared organization-wide for representatives.\n *\n * Without the profile only the first half can answer, so a unit-granted operation stays hidden — never offered on a\n * guess. Presentation, never authorization: the backend still decides every request.\n */\nexport function viewerMayPerformOperation(\n operation: {\n resourceType: string;\n roles?: readonly string[];\n operationIdentifier: unknown;\n resourceOperationLike?: unknown;\n admitsCrossTenantPlatformAdministration?: boolean;\n /** The resource's primary scope, when the caller knows it: the crossing rule applies only inside a tenant. */\n resourcePrimaryScope?: unknown;\n },\n viewer: LauncherEffectiveRoles,\n): boolean {\n if (crossingVariantIsNotTheViewers(operation, viewer)) return false;\n // A viewer KNOWN to stand outside the addressed organization reaches it only through a variant that declares the\n // crossing (#2473, #2600): the backend refuses every other variant as an undeclared crossing, whatever role the viewer\n // holds, and records the attempt. `requestAccess` is the backend's own exemption, so it is exempt here too. Inert for\n // a question about the viewer's current organization, which they belong to.\n if (viewerIsKnownOutsideOrganization(viewer)\n && operation.admitsCrossTenantPlatformAdministration !== true\n && String(operation.operationIdentifier) !== PlatformAccessGrants_Operations.REQUEST_ACCESS) return false;\n if (viewerHoldsOneOfRoles(operation.roles, viewer)) return true;\n if (!viewer.accessProfile || !viewer.organizationId) return false;\n const tables = viewer.roleTables;\n const decision = resolveOrganizationUnitNarrowingDecision({\n resourceType: operation.resourceType,\n requiredRoles: operation.roles ?? [],\n initiatorRoles: viewer.accessProfile.roleEntries,\n organizationId: viewer.organizationId,\n narrowingRegistry: viewer.accessProfile.organizationUnitNarrowing,\n relationshipOrganizationWideAccess: viewer.accessProfile.relationshipOrganizationWideAccess,\n operationIsReadOnly: isReadShapedOperation(operation),\n roleHierarchyResolver: (role, scope) =>\n computeRoleHierarchy(role, scope === ResourcePrimaryScope.APPLICATION ? tables.appRolesConfig : tables.orgRolesConfig),\n });\n return decision.kind === OrganizationUnitNarrowingDecisionKind.UNIT_NARROWED\n || decision.kind === OrganizationUnitNarrowingDecisionKind.RELATIONSHIP_ORGANIZATION_WIDE;\n}\n\n/**\n * Whether the viewer has any standing in the organization `viewer.organizationId` names (#2473): an organization-wide\n * role there, or, per the backend's own access profile, a unit-scoped or relationship entry in it.\n *\n * A viewer with none is OUTSIDE that tenant — a platform operator who opened it from the tenant directory — and the\n * backend admits such a caller only through a variant that declares the crossing\n * (`admitsCrossTenantPlatformAdministration`, with a usable access grant). Every other variant is an undeclared\n * crossing: refused, and recorded as an attempted one. `false` when no organization is named.\n */\nexport function viewerBelongsToOrganization(viewer: LauncherEffectiveRoles): boolean {\n if (!viewer.organizationId) return false;\n if (viewer.organizationRoles.length > 0) return true;\n return (viewer.accessProfile?.roleEntries ?? []).some((entry) =>\n String(entry.relatedPrimaryScope) === ResourcePrimaryScope.ORGANIZATIONS && String(entry.relatedResourceId) === viewer.organizationId);\n}\n\n/**\n * Whether the viewer is KNOWN to stand outside the organization `viewer.organizationId` names (#2473): they hold roles\n * we can see (an application role, or the access profile has loaded) and none of them is in that tenant\n * ({@link viewerBelongsToOrganization}). The platform operator who opened a tenant from the directory is the case.\n *\n * A viewer whose roles are not known yet (permissions loading, or the auth context briefly unavailable) is NOT outside:\n * nothing says so, and treating an unknown as foreign would withdraw an in-place write, and the edit state behind it,\n * every time the context flickers. Role-gated operations stay hidden for such a viewer anyway, by the role check.\n */\nexport function viewerIsKnownOutsideOrganization(viewer: LauncherEffectiveRoles): boolean {\n if (!viewer.organizationId || viewerBelongsToOrganization(viewer)) return false;\n return viewer.applicationRoles.length > 0 || viewer.accessProfile !== null;\n}\n\n/**\n * A COLLECTION-shaped variant that crosses into a tenant (`admitsCrossTenantPlatformAdministration`: a LIST, SEARCH,\n * COUNT, CREATE-like or `*_MANY` verb) is the platform operator's door into an organization they do NOT belong to (#2315). For a\n * viewer who holds a role in the addressed organization it is not their door, because taking it acts AS THE PLATFORM:\n * the operator's \"Place hold\" places a PLATFORM-tier hold, which the tenant can then never release. A super-administrator\n * who also owns their organization was offered it on their own legal holds, ranked above the owner's.\n *\n * The backend no longer refuses such a member: since #2482 the collection gate resolves a member's application roles as\n * the per-instance gate does, so the super-administrator role satisfies the crossed variant. Hiding it is therefore a\n * decision about which door is the viewer's, not a mirror of a refusal; the backend stays the authority on what is\n * admitted. Before #2482 this comment said the gate refused, which was then true.\n *\n * Two kinds of crossing variant stay with the ordinary role check, because the backend admits a member through them:\n * - a per-instance verb (READ, UPDATE, DELETE-like, a row action): the row gate passes a member, and the role check\n * keeps the viewer's application entries, so a super-administrator member performs it without a grant. The\n * tenant's own Revoke on an operator access grant is one of these and must stay offered;\n * - a collection verb whose roles the viewer's ORGANIZATION roles satisfy, which the organization role table admits.\n *\n * `requestAccess` is the one exemption the backend makes (an elevation cannot require one), so it is exempt here too.\n */\n// Every verb whose call names no row and so reaches the collection gate: the reads of a collection, a create, and the\n// `*_MANY` verbs (an entitlement's enable and disable are UPDATE_MANY-shaped, #2316).\nconst COLLECTION_SHAPED_OPERATIONS: ReadonlySet<string> = new Set([\n CoreResourceOperation.CREATE,\n CoreResourceOperation.LIST,\n CoreResourceOperation.SEARCH,\n CoreResourceOperation.COUNT,\n CoreResourceOperation.CREATE_MANY,\n CoreResourceOperation.UPDATE_MANY,\n CoreResourceOperation.DELETE_MANY,\n]);\n\nfunction crossingVariantIsNotTheViewers(\n operation: {\n roles?: readonly string[];\n operationIdentifier: unknown;\n resourceOperationLike?: unknown;\n admitsCrossTenantPlatformAdministration?: boolean;\n resourcePrimaryScope?: unknown;\n },\n viewer: LauncherEffectiveRoles,\n): boolean {\n if (operation.admitsCrossTenantPlatformAdministration !== true) return false;\n // Only a resource INSIDE a tenant has an organization gate to refuse a member. An application-scoped crossing (the\n // application audit log) is refused by no organization role table, and a caller that does not say the scope leaves\n // the decision to the ordinary role check.\n if (String(operation.resourcePrimaryScope ?? '') !== ResourcePrimaryScope.ORGANIZATIONS) return false;\n if (String(operation.operationIdentifier) === PlatformAccessGrants_Operations.REQUEST_ACCESS) return false;\n if (!viewer.organizationId || viewer.organizationRoles.length === 0) return false;\n const shape = String(operation.resourceOperationLike ?? operation.operationIdentifier);\n if (!COLLECTION_SHAPED_OPERATIONS.has(shape)) return false;\n // The organization role table is what the collection gate falls back to for a member.\n return !viewerHoldsOneOfRoles(operation.roles, { ...viewer, applicationRoles: [] });\n}\n\nexport interface LauncherResolutionContext {\n registry: FrontendResourcesRegistry;\n contextResourceIdentifiers?: Record<string, string>;\n views: {\n compositeViews?: CompositeViewDefinition[];\n fullCustomViews?: FullCustomViewDefinition[];\n flowsActorsViews?: FlowsActorsViewDefinition[];\n };\n tResourceHeader: (resourceType: string, key: string) => string;\n tResourceOperation: (resourceType: string, operation: string, key: string) => string;\n /**\n * View title resolver. Composite views resolve through their translationRef\n * contract, and other supported view families resolve through their dedicated\n * view-title label contract instead of exposing raw refs.\n */\n tViewTitle: (viewRef: string, contentType: NavigationContentType) => string;\n /**\n * Generic i18n key resolver. Used for engine page labels and other\n * non-resource/non-view translations. Returns the resolved string.\n */\n t: (key: string) => string;\n renderIcon: (refOrRequest: StandardIconReference | string | IconRequest, options?: IconRenderOptions) => React.ReactElement;\n /**\n * The icon the Settings Hub's rail draws for a section (its placement's `icon`), or `undefined` when the placement\n * names none. A row that opens a settings section draws the same icon as the rail entry it opens, so \"Profile\" in\n * the user menu is not a gear beside a gear.\n */\n settingsSectionIcon: (sectionRef: string) => string | undefined;\n /**\n * The viewer's roles (`useViewerEffectiveRoles`), or `null` when this context does not filter by role at all. A\n * RESOURCE_OPERATION row is withheld when the viewer may not perform the operation (#2376, #2381): they hold none\n * of its own `roles`, and no organization-unit grant in their access profile reaches it (`viewerMayPerformOperation`).\n * An entry the backend would refuse is not offered. Roles not known yet count as none, so such a row appears once they arrive.\n */\n viewerRoles: LauncherEffectiveRoles | null;\n}\n\n\n// ════════════════════════════════════════════════════════════════\n// Resolved Types — output of the resolution layer\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Core resolved navigation target — the output of `resolveItemRef()`.\n *\n * Contains everything a launcher needs to render and navigate: label, URL,\n * icon, and the source metadata (resource context or view ref) that the\n * navigation controller needs.\n */\nexport interface ResolvedNavigationTarget {\n targetKind: LauncherItemTargetKind;\n id: string;\n ref: string;\n label: string;\n urlPath: string;\n icon?: React.ReactNode;\n\n resourceType?: string;\n operationIdentifier?: string;\n operation?: FrontendResourceConfiguration_Operation;\n resourceContext?: FrontendResourceOperationContext;\n\n viewRef?: string;\n contentType?: NavigationContentType;\n pageRef?: EnginePageRef;\n flowsActorsSystemRef?: string;\n fullCustomComponentRef?: string;\n requiredFeatures?: RequiredFeaturesConfig;\n contextResourceIdentifiers?: Record<string, string>;\n urlParamValues?: Record<string, string>;\n\n componentRef?: string;\n\n /** For SETTINGS_SECTION targets: the section to pre-open in the Settings Hub. */\n sectionRef?: string;\n}\n\n/** A sidebar item with its `LauncherItemRef` resolved to a navigation target. */\nexport interface ResolvedSidebarItem extends ResolvedNavigationTarget {\n displayPolicy?: SidebarItemDisplayPolicy;\n /** Typed badge-definition reference carried through to the rendered item. */\n notificationBadgeRef?: string;\n children?: ResolvedSidebarItem[];\n}\n\n/** Resolved NAVIGATION_LIST section — items resolved to navigation targets. */\nexport interface ResolvedSidebarSection_NavigationList {\n contentKind: SidebarSectionContentKind.NAVIGATION_LIST;\n ref: string;\n label?: string;\n icon?: string;\n showLabel?: boolean;\n collapsible?: boolean;\n defaultCollapsed?: boolean;\n /** See `SidebarSection_NavigationList.isPrimary` — primary group merged with Home. */\n isPrimary?: boolean;\n visibleInModes?: string[];\n items: ResolvedSidebarItem[];\n behavior?: SidebarSectionBehavior;\n inlineCreate?: SidebarSectionInlineCreate;\n inlineCreateResourceType?: string;\n nested?: boolean;\n maxNestingDepth?: number;\n}\n\n/** Resolved RESOURCE_BROWSER section — passed through (no item resolution needed). */\nexport interface ResolvedSidebarSection_ResourceBrowser {\n contentKind: SidebarSectionContentKind.RESOURCE_BROWSER;\n ref: string;\n label?: string;\n icon?: string;\n showLabel?: boolean;\n collapsible?: boolean;\n defaultCollapsed?: boolean;\n visibleInModes?: string[];\n resourceType: string;\n operation?: string;\n operationVariant?: string;\n navigateOperation?: string;\n navigateOperationVariant?: string;\n instanceFilter?: (instance: Record<string, unknown>) => boolean;\n onInstanceClick?: (context: ResourceBrowserClickContext) => void;\n}\n\n/** Resolved GUIDANCE_WIDGET section — passed through. */\nexport interface ResolvedSidebarSection_GuidanceWidget {\n contentKind: SidebarSectionContentKind.GUIDANCE_WIDGET;\n ref: string;\n label?: string;\n icon?: string;\n showLabel?: boolean;\n collapsible?: boolean;\n defaultCollapsed?: boolean;\n visibleInModes?: string[];\n guidanceRef: string;\n}\n\n/** Resolved CUSTOM_COMPONENT section — passed through. */\nexport interface ResolvedSidebarSection_CustomComponent {\n contentKind: SidebarSectionContentKind.CUSTOM_COMPONENT;\n ref: string;\n label?: string;\n icon?: string;\n showLabel?: boolean;\n collapsible?: boolean;\n defaultCollapsed?: boolean;\n visibleInModes?: string[];\n componentRef: string;\n}\n\n/** Discriminated union of all resolved sidebar sections. */\nexport type ResolvedSidebarSection =\n | ResolvedSidebarSection_NavigationList\n | ResolvedSidebarSection_ResourceBrowser\n | ResolvedSidebarSection_GuidanceWidget\n | ResolvedSidebarSection_CustomComponent;\n\n/** Resolved command menu entry. */\nexport interface ResolvedCommandMenuItem extends ResolvedNavigationTarget {\n category?: string;\n shortcut?: string;\n searchKeywords?: string[];\n displayPolicy?: CommandMenuDisplayPolicy;\n}\n\n/** Resolved hotkey binding. */\nexport interface ResolvedHotkeyBinding extends ResolvedNavigationTarget {\n shortcut: string;\n scope?: HotkeyScope;\n description?: string;\n}\n\n/** Resolved quick action item. */\nexport interface ResolvedQuickActionItem extends ResolvedNavigationTarget {\n displayPolicy?: QuickActionDisplayPolicy;\n}\n\n/** Resolved control panel item. */\nexport interface ResolvedControlPanelItem extends ResolvedNavigationTarget {\n section?: string;\n}\n\n/** Resolved toolbar item. */\nexport interface ResolvedToolbarItem extends ResolvedNavigationTarget {\n group?: string;\n iconOnly?: boolean;\n}\n\n/** Resolved menubar content (hosted components + items). */\nexport interface ResolvedMenubarContent {\n hostedComponents: MenubarHostedComponent[];\n items: ResolvedMenubarItem[];\n}\n\n/** Resolved menubar item. */\nexport interface ResolvedMenubarItem extends ResolvedNavigationTarget {\n group?: string;\n /** Carried from the declaration, as the sidebar's resolution carries its own. */\n notificationBadgeRef?: string;\n}\n\n\n// ════════════════════════════════════════════════════════════════\n// Core Resolution: resolveItemRef\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Resolve a single `LauncherItemRef` to a navigation target.\n *\n * Dispatches on `item.kind`. Returns `null` for unresolvable refs\n * (DEV warning emitted). This replaces the scan-all logic for individual items.\n *\n * @see launcher-operation-binding-analysis.md §3.2\n */\nexport function resolveItemRef(\n item: LauncherItemRef,\n ctx: LauncherResolutionContext,\n): ResolvedNavigationTarget | null {\n switch (item.kind) {\n case LauncherItemTargetKind.RESOURCE_OPERATION:\n return resolveResourceOperation(item, ctx);\n case LauncherItemTargetKind.VIEW:\n return resolveView(item, ctx);\n case LauncherItemTargetKind.RESOURCE_VIEW:\n return resolveResourceView(item, ctx);\n case LauncherItemTargetKind.ENGINE_PAGE:\n return resolveEnginePage(item, ctx);\n case LauncherItemTargetKind.CUSTOM_COMPONENT:\n return resolveCustomComponent(item, ctx);\n case LauncherItemTargetKind.SETTINGS_SECTION:\n return resolveSettingsSection(item, ctx);\n default: {\n logDebug('Unknown LauncherItemRef kind', { item });\n return null;\n }\n }\n}\n\nfunction resolveResourceOperation(\n item: ResourceOperationItemRef,\n ctx: LauncherResolutionContext,\n): ResolvedNavigationTarget | null {\n const config = ctx.registry.resourceConfigurations[item.resourceType] as AnyFrontendResourceConfiguration | undefined;\n if (!config) {\n logDebug('Resource type not found in registry', { resourceType: item.resourceType });\n return null;\n }\n\n const operations = Array.isArray(config.operations) ? config.operations : [];\n const matchingOperations = operations.filter((op) => String(op.operationIdentifier) === item.operation);\n const defaultOperations = matchingOperations.filter((op) => op.isOperationDefault === true);\n const operation = item.operationVariant\n ? matchingOperations.find((op) => op.variantKey === item.operationVariant)\n : defaultOperations.length === 1\n ? defaultOperations[0]\n : matchingOperations.length === 1\n ? matchingOperations[0]\n : undefined;\n if (!operation) {\n logDebug('Operation not found for resource', {\n resourceType: item.resourceType,\n operation: item.operation,\n operationVariant: item.operationVariant,\n });\n return null;\n }\n // The operation's own roles decide who is offered it, by the same rule a launcher item's `requiredRoles` uses —\n // so an author never restates on the row what the operation already says (#2376). The SELECTED variant is judged,\n // because it is the one whose route the entry opens. The action bar instead keeps the highest-rights variant a viewer\n // qualifies for; a restrictive default beside a broader non-default variant would differ, and none of the engine's\n // resources declares that shape (defaults are the less-privileged variants).\n if (ctx.viewerRoles && !viewerMayPerformOperation({ ...operation, resourceType: item.resourceType }, ctx.viewerRoles)) {\n logDebug('Launcher resource operation withheld: the viewer may not perform it (no role, no reaching unit grant)', {\n resourceType: item.resourceType,\n operation: item.operation,\n });\n return null;\n }\n\n // Resolve the operation's URL against the current AppScope. A launcher item is\n // surfaced whenever the resource's REQUIRED route parameters are satisfiable\n // from the ambient scope (primary scope + custom/optional context), filling both\n // required and optional context identifiers. `resolveResourceUrl` →\n // `selectMatchingRoutePath` picks the route path the scope can satisfy (e.g. the\n // org-scoped `/organizations/:organizationId/todos` over the nested\n // `/…/todo-lists/:todoListId/todos` when no list is in context) and returns\n // `resolvedUrl: undefined` only when NO path is satisfiable — i.e. the resource\n // genuinely requires a non-ambient parent, in which case it is correctly omitted.\n //\n // Previously this dropped EVERY resource whose routes all carry parameters (a\n // zero-parameter `standalone` route check), which excluded all org-scoped\n // resources from the sidebar/launchers even though the org is ambient in\n // AppScope. That expedient gate bypassed the scope mechanism; this routes the\n // decision back through AppScope, the single source of truth for required +\n // optional scope.\n const scopeIdentifiers = ctx.contextResourceIdentifiers ?? {};\n\n const resolved = NavigationUtils.resolveResourceUrl(\n config,\n operation,\n scopeIdentifiers,\n ctx.registry.allResourceFieldIdentifiers,\n );\n const urlPath = resolved?.resolvedUrl;\n if (!urlPath) {\n logDebug('No scope-satisfiable route for launcher resource operation (requires non-ambient context)', {\n resourceType: item.resourceType,\n operation: item.operation,\n scopeKeys: Object.keys(scopeIdentifiers),\n });\n return null;\n }\n const operationIdentifier = String(operation.operationIdentifier);\n\n const icon = ctx.renderIcon(\n { category: IconCategory.RESOURCES, resourceType: item.resourceType },\n { size: IconSize.SM },\n );\n\n const resourceContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType: item.resourceType,\n operation,\n contextResourceIdentifiers: scopeIdentifiers,\n });\n\n return {\n targetKind: LauncherItemTargetKind.RESOURCE_OPERATION,\n id: `resolved-${item.resourceType}-${operationIdentifier}-${operation.variantKey ?? 'default'}`,\n ref: `resource:${item.resourceType}:${operationIdentifier}:${operation.variantKey ?? 'default'}`,\n label: ctx.tResourceOperation(item.resourceType, operationIdentifier, 'title'),\n urlPath,\n icon,\n resourceType: item.resourceType,\n operationIdentifier,\n operation,\n resourceContext,\n contextResourceIdentifiers: scopeIdentifiers,\n };\n}\n\ntype LauncherViewScopeSelector = 'application' | 'resource';\n\nfunction isCompatibleWithLauncherScope(\n scope: FrontendView_ScopeMode,\n expectedScope: LauncherViewScopeSelector,\n): boolean {\n if (expectedScope === 'application') {\n return scope === FrontendView_ScopeMode.APPLICATION;\n }\n\n return scope === FrontendView_ScopeMode.RESOURCE;\n}\n\nfunction resolveView(\n item: ViewItemRef,\n ctx: LauncherResolutionContext,\n): ResolvedNavigationTarget | null {\n const resolvedView = resolveConcreteApplicationViewTarget(item.viewRef, ctx);\n if (!resolvedView) {\n logDebug('Application-scoped VIEW ref not found in any compatible view collection', { viewRef: item.viewRef });\n return null;\n }\n\n return {\n targetKind: LauncherItemTargetKind.VIEW,\n id: `resolved-view-${item.viewRef}`,\n ref: `view:${resolvedView.contentType}:${item.viewRef}`,\n label: ctx.tViewTitle(resolvedView.viewRef, resolvedView.contentType),\n ...resolvedView,\n };\n}\n\nfunction resolveResourceView(\n item: ResourceViewItemRef,\n ctx: LauncherResolutionContext,\n): ResolvedNavigationTarget | null {\n const resolvedView = resolveConcreteResourceViewTarget(item, ctx);\n if (!resolvedView) {\n logDebug('Resource-scoped RESOURCE_VIEW ref not found on the target resource', {\n resourceType: item.resourceType,\n viewRef: item.viewRef,\n });\n return null;\n }\n\n return {\n targetKind: LauncherItemTargetKind.RESOURCE_VIEW,\n id: `resolved-resource-view-${item.resourceType}-${item.viewRef}`,\n ref: `view:${resolvedView.contentType}:${item.resourceType}:${item.viewRef}`,\n label: ctx.tViewTitle(resolvedView.viewRef, resolvedView.contentType),\n ...resolvedView,\n };\n}\n\nfunction resolveConcreteApplicationViewTarget(\n viewRef: string,\n ctx: LauncherResolutionContext,\n): Pick<ResolvedNavigationTarget, 'urlPath' | 'icon' | 'viewRef' | 'contentType' | 'fullCustomComponentRef' | 'flowsActorsSystemRef' | 'requiredFeatures' | 'contextResourceIdentifiers'> | null {\n const { compositeViews, fullCustomViews, flowsActorsViews } = ctx.views;\n\n const compositeView = compositeViews?.find(\n v => v.ref === viewRef && isCompatibleWithLauncherScope(v.scope, 'application'),\n );\n if (compositeView) {\n return {\n urlPath: isStandaloneRoutableCompositeView(compositeView)\n ? buildCompositeRouteUrlPath(\n viewRef,\n )\n : '',\n icon: ctx.renderIcon(\n { category: IconCategory.COMPOSITE_VIEW, viewReference: viewRef },\n { size: IconSize.SM },\n ),\n viewRef,\n contentType: NavigationContentType.COMPOSITE_VIEW,\n requiredFeatures: compositeView.requiredFeatures,\n contextResourceIdentifiers: undefined,\n };\n }\n\n const fullCustomView = fullCustomViews?.find(\n v => v.ref === viewRef && isCompatibleWithLauncherScope(v.scope, 'application'),\n );\n if (fullCustomView) {\n return {\n urlPath: `/custom/${viewRef}`,\n icon: ctx.renderIcon(\n { category: IconCategory.CUSTOM, customReference: `view-custom-${viewRef}` },\n { size: IconSize.SM },\n ),\n viewRef,\n contentType: NavigationContentType.FULL_CUSTOM_VIEW,\n fullCustomComponentRef: fullCustomView.componentRef,\n requiredFeatures: fullCustomView.requiredFeatures,\n contextResourceIdentifiers: undefined,\n };\n }\n\n const flowsActorsView = flowsActorsViews?.find(\n v => v.ref === viewRef && isCompatibleWithLauncherScope(v.scope, 'application'),\n );\n if (flowsActorsView) {\n return {\n urlPath: `/flows-actors/${viewRef}`,\n icon: ctx.renderIcon(\n { category: IconCategory.CUSTOM, customReference: `view-flows-${viewRef}` },\n { size: IconSize.SM },\n ),\n viewRef,\n contentType: NavigationContentType.FLOWS_ACTORS_VIEW,\n flowsActorsSystemRef: flowsActorsView.systemRef,\n requiredFeatures: flowsActorsView.requiredFeatures,\n contextResourceIdentifiers: undefined,\n };\n }\n\n return null;\n}\n\nfunction resolveConcreteResourceViewTarget(\n item: ResourceViewItemRef,\n ctx: LauncherResolutionContext,\n): Pick<ResolvedNavigationTarget, 'urlPath' | 'icon' | 'viewRef' | 'contentType' | 'requiredFeatures' | 'contextResourceIdentifiers'> | null {\n const resourceConfiguration = ctx.registry.resourceConfigurations[item.resourceType];\n const frontendConfiguration = resourceConfiguration?.frontendConfiguration;\n const viewMatches = findResourceOwnedViewReferenceMatches({\n resourceType: item.resourceType,\n viewRef: item.viewRef,\n registry: ctx.registry,\n });\n const scopedContextResourceIdentifiers =\n ctx.contextResourceIdentifiers\n && Object.keys(ctx.contextResourceIdentifiers).length > 0\n ? ctx.contextResourceIdentifiers\n : undefined;\n\n if (viewMatches.length !== 1) {\n return null;\n }\n\n const compositeView = frontendConfiguration?.compositeViews?.find((view) => view.ref === item.viewRef);\n if (compositeView) {\n if (compositeView.scope !== FrontendView_ScopeMode.RESOURCE) {\n return null;\n }\n\n const insertedIdentity = buildResourceInsertedCompositeIdentity(item.resourceType, compositeView);\n return {\n urlPath: isStandaloneRoutableInsertedCompositeView(compositeView)\n ? buildCompositeRouteUrlPath(insertedIdentity.insertedViewRef, scopedContextResourceIdentifiers)\n : '',\n icon: ctx.renderIcon(\n { category: IconCategory.COMPOSITE_VIEW, viewReference: item.viewRef },\n { size: IconSize.SM },\n ),\n viewRef: insertedIdentity.insertedViewRef,\n contentType: NavigationContentType.COMPOSITE_VIEW,\n requiredFeatures: compositeView.requiredFeatures,\n contextResourceIdentifiers: scopedContextResourceIdentifiers,\n };\n }\n\n const chartView = frontendConfiguration?.chartViews?.find((view) => view.ref === item.viewRef);\n if (chartView) {\n // `InsertedChartDeclaration.scope` is pinned to `FrontendView_ScopeMode.RESOURCE`\n // by construction (see chart-view.frontend.schemas.ts), so no runtime scope\n // narrowing is needed here.\n\n const insertedIdentity = buildResourceInsertedChartIdentity(item.resourceType, chartView);\n return {\n urlPath: isStandaloneRoutableInsertedChartView(chartView)\n ? buildChartRouteUrlPath(insertedIdentity.insertedViewRef, scopedContextResourceIdentifiers)\n : '',\n icon: ctx.renderIcon(\n { category: IconCategory.CUSTOM, customReference: `view-chart-${item.viewRef}` },\n { size: IconSize.SM },\n ),\n viewRef: insertedIdentity.insertedViewRef,\n contentType: NavigationContentType.CHART_VIEW,\n requiredFeatures: chartView.chartDefinition.requiredFeatures,\n contextResourceIdentifiers: scopedContextResourceIdentifiers,\n };\n }\n\n const executionView = frontendConfiguration?.executionViews?.find((view) => view.ref === item.viewRef);\n if (executionView) {\n if (executionView.scope !== FrontendView_ScopeMode.RESOURCE) {\n return null;\n }\n\n const insertedIdentity = buildResourceInsertedExecutionIdentity(item.resourceType, executionView);\n return {\n urlPath: executionView.isAddressable\n ? buildExecutionRouteUrlPath(insertedIdentity.insertedViewRef, scopedContextResourceIdentifiers)\n : '',\n icon: ctx.renderIcon(\n { category: IconCategory.CUSTOM, customReference: `view-execution-${item.viewRef}` },\n { size: IconSize.SM },\n ),\n viewRef: insertedIdentity.insertedViewRef,\n contentType: NavigationContentType.EXECUTION_VIEW,\n requiredFeatures: executionView.requiredFeatures,\n contextResourceIdentifiers: scopedContextResourceIdentifiers,\n };\n }\n\n return null;\n}\n\nfunction resolveEnginePage(\n item: EnginePageItemRef,\n ctx: LauncherResolutionContext,\n): ResolvedNavigationTarget {\n // Single metadata record holds route + i18n key + icon — see\n // `ENGINE_PAGE_METADATA` in `launcher-items.frontend.schemas.ts`.\n const metadata = ENGINE_PAGE_METADATA[item.pageRef];\n // The display label lives at `engine.pages.<key>.title` (the contract\n // documented on `EnginePageMetadata.i18nKey`, emitted by the companion's\n // `planEnginePageUnits()`). `i18nKey` itself points at the parent object, so\n // it MUST be suffixed with `.title` — translating the bare key resolves to the\n // `{ title }` object, misses, and renders the raw key in the sidebar. The\n // matching `.title` keys are requested in `useLauncherResolutionContext` so\n // the lazy i18n loader fetches them (engine pages are not an eager section).\n const label = ctx.t(`${metadata.i18nKey}.title`);\n const icon = ctx.renderIcon(metadata.icon, { size: IconSize.SM });\n\n return {\n targetKind: LauncherItemTargetKind.ENGINE_PAGE,\n id: `resolved-engine-${item.pageRef}`,\n ref: `engine:${item.pageRef}`,\n label,\n urlPath: metadata.route,\n icon,\n pageRef: item.pageRef,\n contentType: NavigationContentType.ENGINE_PAGE,\n };\n}\n\n/**\n * The words a SETTINGS_SECTION launcher row reads, and why they are two keys.\n *\n * A row naming a section reads that section's own label, `settings_hub.sections.<ref>.label` — the words the hub's\n * rail shows for it (eager `settings_hub` namespace). A row naming no section opens the hub itself and reads the\n * hub's title, the label of the `APP_LAYOUTS_SETTINGS_HUB` component; that key is not eager, so the launcher\n * context requests it (`useLauncherResolutionContext`).\n *\n * Both used to be the literal `'Settings'`, so every settings row read \"Settings\" whatever it opened — a user menu\n * listing Profile showed a \"Settings\" heading over a \"Settings\" row. A missing key renders as its path, like every\n * other label: visibly missing, never a plausible English word.\n */\nexport const SETTINGS_HUB_TITLE_LABEL_KEY = `${LabellingTypes.COMPONENTS}.${FrontendComponentType.APP_LAYOUTS_SETTINGS_HUB}.title`;\n\nexport function settingsHubSectionLabelKey(sectionRef: string): string {\n return `${LabellingTypes.SETTINGS_HUB}.sections.${sectionRef}.label`;\n}\n\nfunction resolveSettingsSection(\n item: SettingsSectionItemRef,\n ctx: LauncherResolutionContext,\n): ResolvedNavigationTarget {\n const urlPath = item.sectionRef\n ? CommonRoutePaths.settingsSection.replace(':sectionRef', item.sectionRef)\n : CommonRoutePaths.settings;\n return {\n targetKind: LauncherItemTargetKind.SETTINGS_SECTION,\n id: `resolved-settings-${item.sectionRef ?? 'default'}`,\n ref: `settings:${item.sectionRef ?? 'default'}`,\n label: ctx.t(item.sectionRef ? settingsHubSectionLabelKey(item.sectionRef) : SETTINGS_HUB_TITLE_LABEL_KEY),\n urlPath,\n // The section's own rail icon when its placement names one; the hub itself, and a section without one, take the gear.\n icon: ctx.renderIcon((item.sectionRef && ctx.settingsSectionIcon(item.sectionRef)) || StandardIconReference.SETTINGS, { size: IconSize.SM }),\n contentType: NavigationContentType.SETTINGS_HUB,\n sectionRef: item.sectionRef,\n };\n}\n\nfunction resolveCustomComponent(\n item: CustomComponentItemRef,\n ctx: LauncherResolutionContext,\n): ResolvedNavigationTarget {\n return {\n targetKind: LauncherItemTargetKind.CUSTOM_COMPONENT,\n id: `resolved-custom-${item.componentRef}`,\n ref: `custom:${item.componentRef}`,\n label: item.componentRef,\n urlPath: '',\n componentRef: item.componentRef,\n contextResourceIdentifiers:\n ctx.contextResourceIdentifiers && Object.keys(ctx.contextResourceIdentifiers).length > 0\n ? ctx.contextResourceIdentifiers\n : undefined,\n };\n}\n\n\n// ════════════════════════════════════════════════════════════════\n// Per-Launcher Resolution Functions\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Resolve a sidebar item (with potential children) to a `ResolvedSidebarItem`.\n * Recursively resolves children.\n */\nfunction resolveSidebarItem(\n item: SidebarItem,\n ctx: LauncherResolutionContext,\n): ResolvedSidebarItem | null {\n const target = resolveItemRef(item, ctx);\n if (!target) return null;\n\n let children: ResolvedSidebarItem[] | undefined;\n if (item.children && item.children.length > 0) {\n children = item.children\n .map(child => resolveSidebarItem(child, ctx))\n .filter((resolved): resolved is ResolvedSidebarItem => resolved !== null);\n }\n\n return {\n ...target,\n displayPolicy: item.displayPolicy,\n notificationBadgeRef: item.notificationBadgeRef,\n children,\n };\n}\n\n/**\n * Resolve sidebar sections from per-launcher config.\n *\n * Dispatches on `contentKind`:\n * - `NAVIGATION_LIST`: resolves each `LauncherItemRef` in `children` via `resolveItemRef`\n * - `RESOURCE_BROWSER`: passes through (component-level rendering, no item resolution), unless the viewer's roles\n * cannot perform its bound operation (#2674): then the section is dropped, as a launcher row for it would be\n * - `GUIDANCE_WIDGET`: passes through\n * - `CUSTOM_COMPONENT`: passes through\n *\n * `visibleInModes` / `scopeCondition` filtering is NOT applied here —\n * that happens in Macro B (Step 6).\n *\n * @see launcher-operation-binding-analysis.md §3.3.1\n */\nexport function resolveSidebarSections(\n sections: SidebarSection[],\n ctx: LauncherResolutionContext,\n): ResolvedSidebarSection[] {\n return sections.flatMap((section): ResolvedSidebarSection[] => {\n switch (section.contentKind) {\n case SidebarSectionContentKind.NAVIGATION_LIST:\n return [resolveNavigationListSection(section, ctx)];\n case SidebarSectionContentKind.RESOURCE_BROWSER:\n return viewerCanBrowse(section, ctx) ? [resolveResourceBrowserSection(section)] : [];\n case SidebarSectionContentKind.GUIDANCE_WIDGET:\n return [resolveGuidanceWidgetSection(section)];\n case SidebarSectionContentKind.CUSTOM_COMPONENT:\n return [resolveCustomComponentSection(section)];\n }\n });\n}\n\n/**\n * Whether the viewer may perform the operation a RESOURCE_BROWSER section fetches with (#2674). A browser the viewer\n * cannot list renders the backend's refusal as its content; dropping the section is what the launcher does for a row,\n * and it is judged by the same `viewerMayPerformOperation` (roles through the application's tables, and an\n * organization-unit grant, #2376, #2381). An operation that does not resolve keeps the section, so the browser can\n * report its own configuration problem; a context that does not filter by role (`viewerRoles: null`) keeps it too.\n */\nfunction viewerCanBrowse(section: SidebarSection_ResourceBrowser, ctx: LauncherResolutionContext): boolean {\n if (!ctx.viewerRoles) return true;\n const config = ctx.registry.resourceConfigurations[section.resourceType] as AnyFrontendResourceConfiguration | undefined;\n if (!config) return true;\n const operation = resolveSidebarResourceBrowserOperation(config, section.operation ?? CoreResourceOperation.LIST, section.operationVariant);\n return operation === undefined || viewerMayPerformOperation({ ...operation, resourceType: section.resourceType }, ctx.viewerRoles);\n}\n\nfunction resolveNavigationListSection(\n section: SidebarSection_NavigationList,\n ctx: LauncherResolutionContext,\n): ResolvedSidebarSection_NavigationList {\n const items = section.children\n .map(child => resolveSidebarItem(child, ctx))\n .filter((resolved): resolved is ResolvedSidebarItem => resolved !== null);\n\n return {\n contentKind: SidebarSectionContentKind.NAVIGATION_LIST,\n ref: section.ref,\n label: section.label,\n icon: section.icon,\n showLabel: section.showLabel,\n collapsible: section.collapsible,\n defaultCollapsed: section.defaultCollapsed,\n isPrimary: section.isPrimary,\n visibleInModes: section.visibleInModes,\n items,\n behavior: section.behavior,\n inlineCreate: section.inlineCreate,\n inlineCreateResourceType: section.inlineCreateResourceType,\n nested: section.nested,\n maxNestingDepth: section.maxNestingDepth,\n };\n}\n\nfunction resolveResourceBrowserSection(\n section: SidebarSection_ResourceBrowser,\n): ResolvedSidebarSection_ResourceBrowser {\n return {\n contentKind: SidebarSectionContentKind.RESOURCE_BROWSER,\n ref: section.ref,\n label: section.label,\n icon: section.icon,\n showLabel: section.showLabel,\n collapsible: section.collapsible,\n defaultCollapsed: section.defaultCollapsed,\n visibleInModes: section.visibleInModes,\n resourceType: section.resourceType,\n operation: section.operation,\n operationVariant: section.operationVariant,\n navigateOperation: section.navigateOperation,\n navigateOperationVariant: section.navigateOperationVariant,\n instanceFilter: section.instanceFilter,\n onInstanceClick: section.onInstanceClick,\n };\n}\n\nfunction resolveGuidanceWidgetSection(\n section: SidebarSection_GuidanceWidget,\n): ResolvedSidebarSection_GuidanceWidget {\n return {\n contentKind: SidebarSectionContentKind.GUIDANCE_WIDGET,\n ref: section.ref,\n label: section.label,\n icon: section.icon,\n showLabel: section.showLabel,\n collapsible: section.collapsible,\n defaultCollapsed: section.defaultCollapsed,\n visibleInModes: section.visibleInModes,\n guidanceRef: section.guidanceRef,\n };\n}\n\nfunction resolveCustomComponentSection(\n section: SidebarSection_CustomComponent,\n): ResolvedSidebarSection_CustomComponent {\n return {\n contentKind: SidebarSectionContentKind.CUSTOM_COMPONENT,\n ref: section.ref,\n label: section.label,\n icon: section.icon,\n showLabel: section.showLabel,\n collapsible: section.collapsible,\n defaultCollapsed: section.defaultCollapsed,\n visibleInModes: section.visibleInModes,\n componentRef: section.componentRef,\n };\n}\n\n/**\n * Resolve command menu commands from per-launcher config.\n * Groups by category if present.\n */\nexport function resolveCommandMenuCommands(\n commands: CommandMenuCommand[],\n ctx: LauncherResolutionContext,\n): ResolvedCommandMenuItem[] {\n const resolved: ResolvedCommandMenuItem[] = [];\n\n for (const cmd of commands) {\n const target = resolveItemRef(cmd, ctx);\n if (!target) continue;\n\n resolved.push({\n ...target,\n category: cmd.category,\n shortcut: cmd.shortcut,\n searchKeywords: cmd.searchKeywords,\n displayPolicy: cmd.displayPolicy,\n });\n }\n\n return resolved;\n}\n\n/**\n * Resolve hotkey bindings from per-launcher config.\n */\nexport function resolveHotkeyBindings(\n bindings: HotkeyBinding[],\n ctx: LauncherResolutionContext,\n): ResolvedHotkeyBinding[] {\n const resolved: ResolvedHotkeyBinding[] = [];\n\n for (const binding of bindings) {\n const target = resolveItemRef(binding, ctx);\n if (!target) continue;\n\n const description =\n binding.description ??\n (binding.kind === LauncherItemTargetKind.RESOURCE_OPERATION\n ? ctx.tResourceOperation(binding.resourceType, binding.operation, 'title')\n : target.label);\n\n resolved.push({\n ...target,\n shortcut: binding.shortcut,\n scope: binding.scope,\n description,\n });\n }\n\n return resolved;\n}\n\n/**\n * Resolve quick action items from per-launcher config.\n */\nexport function resolveQuickActions(\n actions: QuickActionItem[],\n ctx: LauncherResolutionContext,\n): ResolvedQuickActionItem[] {\n const resolved: ResolvedQuickActionItem[] = [];\n\n for (const action of actions) {\n const target = resolveItemRef(action, ctx);\n if (!target) continue;\n\n resolved.push({\n ...target,\n displayPolicy: action.displayPolicy,\n });\n }\n\n return resolved;\n}\n\n/**\n * Resolve control panel items from per-launcher config.\n */\nexport function resolveControlPanelItems(\n items: ControlPanelItem[],\n ctx: LauncherResolutionContext,\n): ResolvedControlPanelItem[] {\n const resolved: ResolvedControlPanelItem[] = [];\n\n for (const item of items) {\n const target = resolveItemRef(item, ctx);\n if (!target) continue;\n\n resolved.push({\n ...target,\n section: item.section,\n });\n }\n\n return resolved;\n}\n\n/**\n * Resolve toolbar tools from per-launcher config.\n */\nexport function resolveToolbarTools(\n tools: ToolbarItem[],\n ctx: LauncherResolutionContext,\n): ResolvedToolbarItem[] {\n const resolved: ResolvedToolbarItem[] = [];\n\n for (const tool of tools) {\n const target = resolveItemRef(tool, ctx);\n if (!target) continue;\n\n resolved.push({\n ...target,\n group: tool.group,\n iconOnly: tool.iconOnly,\n });\n }\n\n return resolved;\n}\n\n/**\n * Resolve menubar content — validates hosted components exist and resolves items.\n */\nexport function resolveMenubarContent(\n hostedComponents: MenubarHostedComponent[] | undefined,\n items: MenubarLauncherItem[] | undefined,\n ctx: LauncherResolutionContext,\n): ResolvedMenubarContent {\n const resolvedItems: ResolvedMenubarItem[] = [];\n\n if (items) {\n for (const item of items) {\n const target = resolveItemRef(item, ctx);\n if (!target) continue;\n\n resolvedItems.push({\n ...target,\n group: item.group,\n ...(item.notificationBadgeRef ? { notificationBadgeRef: item.notificationBadgeRef } : {}),\n });\n }\n }\n\n return {\n hostedComponents: hostedComponents ?? [],\n items: resolvedItems,\n };\n}\n"]}
|
|
@@ -1,23 +1,53 @@
|
|
|
1
1
|
import type { AppScopeValue } from '../../core/scope/scope.frontend.schemas';
|
|
2
|
+
import { type RelationshipShapeCapability, type RelationshipSideCapability } from '../../core/config/relationship-side-capabilities.frontend.utils';
|
|
3
|
+
import { type LauncherEffectiveRoles } from './launcher-resolution';
|
|
2
4
|
import { type AppModeDefinition, type CommandMenuCommand, type ControlPanelItem, type HotkeyBinding, type LauncherRuntimeAvailabilityConfig, type MenubarLauncherItem, type QuickActionItem, type SidebarSection, type ToolbarItem } from '../../core/config/launcher-items.frontend.schemas';
|
|
3
5
|
export interface LauncherRuntimeAvailabilityContext {
|
|
4
6
|
activeMode: string | null;
|
|
5
7
|
availableModes: AppModeDefinition[];
|
|
6
8
|
allScopeValues: Record<string, AppScopeValue>;
|
|
7
|
-
|
|
9
|
+
effectiveRoles: LauncherEffectiveRoles;
|
|
8
10
|
resolvedFeatures: string[];
|
|
9
11
|
runtimeCapabilities: Record<string, boolean>;
|
|
10
12
|
}
|
|
11
13
|
/**
|
|
12
14
|
* Centralized runtime signals used by declarative launcher availability.
|
|
13
15
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* slices need more runtime information.
|
|
16
|
+
* The filter evaluates `runtimeCapabilities` and `effectiveRoles`; the broader context is exposed so the same hook
|
|
17
|
+
* stays the single source of truth when future launcher slices need more runtime information.
|
|
17
18
|
*/
|
|
19
|
+
/**
|
|
20
|
+
* The viewer's roles, the ONE place they are derived for the shell's visibility checks (#2376): their application
|
|
21
|
+
* roles, their roles in the CURRENT organization, and the application's role tables to expand them against.
|
|
22
|
+
*
|
|
23
|
+
* Read from the session context without the throwing `useUserOrgs`, so a surface outside the session provider gets a
|
|
24
|
+
* viewer who holds no role. Roles not loaded yet are empty too (see `LauncherEffectiveRoles`): a role-gated entry
|
|
25
|
+
* appears once they arrive, never offered first and withdrawn after.
|
|
26
|
+
*/
|
|
27
|
+
export declare function useViewerEffectiveRoles(): LauncherEffectiveRoles;
|
|
28
|
+
/**
|
|
29
|
+
* The viewer's roles as they stand IN ONE ORGANIZATION (#2473): the same derivation as {@link useViewerEffectiveRoles},
|
|
30
|
+
* with the organization roles read for `organizationId` instead of the current organization.
|
|
31
|
+
*
|
|
32
|
+
* For a decision about a record of another tenant. A platform operator who opened a tenant through the directory holds
|
|
33
|
+
* no role in that tenant, whatever they hold in their own current organization, and offering them a write on the
|
|
34
|
+
* strength of their own organization's roles would offer an edit the backend refuses (and records as an attempted
|
|
35
|
+
* crossing). `undefined` means the current organization.
|
|
36
|
+
*/
|
|
37
|
+
export declare function useViewerEffectiveRolesInOrganization(organizationId: string | undefined): LauncherEffectiveRoles;
|
|
38
|
+
export declare function useRelationshipSideCapabilities(): Record<RelationshipSideCapability, boolean>;
|
|
39
|
+
/** Where the operator stands in the kinds the current organization takes a side in (#2618, #2722), as runtime capabilities. */
|
|
40
|
+
export declare function useRelationshipShapeCapabilities(): Record<RelationshipShapeCapability, boolean>;
|
|
41
|
+
/**
|
|
42
|
+
* Whether a directory may provision the CURRENT organization (#2613): its declared type says `scimProvisioning`, by
|
|
43
|
+
* the one rule the SCIM API, token generation and the directory-managed check also read. `false` until the declaration,
|
|
44
|
+
* the organizations and the current organization are known, so SCIM settings never appear first and vanish after.
|
|
45
|
+
*/
|
|
46
|
+
export declare function useCurrentOrganizationDirectoryProvisioned(): boolean;
|
|
18
47
|
export declare function useLauncherRuntimeAvailabilityContext(): LauncherRuntimeAvailabilityContext;
|
|
19
48
|
/**
|
|
20
|
-
*
|
|
49
|
+
* Whether a launcher item (or a Settings Hub section) survives the app-shell filtering pass: every required runtime
|
|
50
|
+
* capability is on, and the viewer holds one of its `requiredRoles` (#2376).
|
|
21
51
|
*
|
|
22
52
|
* `requiredFeatures` remains the canonical plan/subscription gate later in the
|
|
23
53
|
* launcher resolution + surface rendering pipeline.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launcher-runtime-availability.d.ts","sourceRoot":"","sources":["../../../../../src/core/navigation/launcher-runtime-availability.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uDAAuD,CAAC;
|
|
1
|
+
{"version":3,"file":"launcher-runtime-availability.d.ts","sourceRoot":"","sources":["../../../../../src/core/navigation/launcher-runtime-availability.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,115 @@
|
|
|
1
|
-
import { useMemo } from 'react';
|
|
1
|
+
import { useContext, useMemo } from 'react';
|
|
2
2
|
import { useAppModeSafe } from '../../core/mode/AppModeContext.js';
|
|
3
3
|
import { useAppScopeSafe } from '../../core/scope/useAppScope.js';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { UserOrgsContext } from '../../core/security/UserOrgsContext.js';
|
|
5
|
+
import { useApplicationRoleTables } from '../../core/security/useApplicationRoleTables.js';
|
|
6
|
+
import { FeaturesContext } from '../../core/features/FeaturesContext.js';
|
|
6
7
|
import { useBillingSafe } from '../../core/billing/useBilling.js';
|
|
7
|
-
import {
|
|
8
|
+
import { ApplicationContext } from '../../core/runtime/ApplicationContext.shared.js';
|
|
9
|
+
import { deriveRelationshipShapeCapabilities, deriveRelationshipSideCapabilities, } from '../../core/config/relationship-side-capabilities.frontend.utils.js';
|
|
10
|
+
import { deriveDirectoryProvisioningCapabilities, isUnrevokedScimTokenProbeNeeded, } from '../../core/config/directory-provisioning-capabilities.frontend.utils.js';
|
|
11
|
+
import { PROFESSIONAL_QUALIFICATIONS_DECLARED_CAPABILITY } from '../../core/config/engine-settings-destinations.js';
|
|
12
|
+
import { deriveDecisionInboxCapabilities } from '../../core/config/decision-inbox-capability.frontend.utils.js';
|
|
13
|
+
import { useCurrentOrganizationHoldsUnrevokedScimToken } from './useCurrentOrganizationHoldsUnrevokedScimToken.js';
|
|
14
|
+
import { CoreFeature, isOrganizationTypeDirectoryProvisioned } from '@wildo-ai/saas-models';
|
|
15
|
+
import { viewerHoldsOneOfRoles } from './launcher-resolution.js';
|
|
8
16
|
import { SidebarSectionContentKind, } from '../../core/config/launcher-items.frontend.schemas.js';
|
|
9
17
|
/**
|
|
10
18
|
* Centralized runtime signals used by declarative launcher availability.
|
|
11
19
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* slices need more runtime information.
|
|
20
|
+
* The filter evaluates `runtimeCapabilities` and `effectiveRoles`; the broader context is exposed so the same hook
|
|
21
|
+
* stays the single source of truth when future launcher slices need more runtime information.
|
|
15
22
|
*/
|
|
23
|
+
/**
|
|
24
|
+
* The viewer's roles, the ONE place they are derived for the shell's visibility checks (#2376): their application
|
|
25
|
+
* roles, their roles in the CURRENT organization, and the application's role tables to expand them against.
|
|
26
|
+
*
|
|
27
|
+
* Read from the session context without the throwing `useUserOrgs`, so a surface outside the session provider gets a
|
|
28
|
+
* viewer who holds no role. Roles not loaded yet are empty too (see `LauncherEffectiveRoles`): a role-gated entry
|
|
29
|
+
* appears once they arrive, never offered first and withdrawn after.
|
|
30
|
+
*/
|
|
31
|
+
export function useViewerEffectiveRoles() {
|
|
32
|
+
return useViewerEffectiveRolesInOrganization(undefined);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The viewer's roles as they stand IN ONE ORGANIZATION (#2473): the same derivation as {@link useViewerEffectiveRoles},
|
|
36
|
+
* with the organization roles read for `organizationId` instead of the current organization.
|
|
37
|
+
*
|
|
38
|
+
* For a decision about a record of another tenant. A platform operator who opened a tenant through the directory holds
|
|
39
|
+
* no role in that tenant, whatever they hold in their own current organization, and offering them a write on the
|
|
40
|
+
* strength of their own organization's roles would offer an edit the backend refuses (and records as an attempted
|
|
41
|
+
* crossing). `undefined` means the current organization.
|
|
42
|
+
*/
|
|
43
|
+
export function useViewerEffectiveRolesInOrganization(organizationId) {
|
|
44
|
+
const permissions = useContext(UserOrgsContext)?.permissions ?? null;
|
|
45
|
+
const currentOrganizationId = useAppScopeSafe()?.currentOrganizationId ?? null;
|
|
46
|
+
const roleTables = useApplicationRoleTables();
|
|
47
|
+
const scopeOrganizationId = organizationId ?? currentOrganizationId;
|
|
48
|
+
return useMemo(() => ({
|
|
49
|
+
applicationRoles: permissions?.appLevel ?? [],
|
|
50
|
+
organizationRoles: (scopeOrganizationId && permissions?.organizations?.[scopeOrganizationId]) || [],
|
|
51
|
+
roleTables,
|
|
52
|
+
organizationId: scopeOrganizationId,
|
|
53
|
+
accessProfile: permissions?.accessProfile ?? null,
|
|
54
|
+
}), [permissions, scopeOrganizationId, roleTables]);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Which sides of which relationship kinds the CURRENT organization's type can take (#1597, #2722), as the runtime
|
|
58
|
+
* capabilities the relationship settings and forms require. Read from the declaration
|
|
59
|
+
* (`appConfig.organizationRelationships` and `appConfig.organizationTypes`), the organizations the session has loaded,
|
|
60
|
+
* and the current organization; `false` everywhere until all are known. Read without the throwing hooks, so a surface
|
|
61
|
+
* outside the providers is offered neither side.
|
|
62
|
+
*/
|
|
63
|
+
function useRelationshipCapabilityInput() {
|
|
64
|
+
const appConfig = useContext(ApplicationContext)?.appConfig;
|
|
65
|
+
const organizationRelationships = appConfig?.organizationRelationships;
|
|
66
|
+
const organizationTypes = appConfig?.organizationTypes;
|
|
67
|
+
const organizations = useContext(UserOrgsContext)?.organizations;
|
|
68
|
+
const currentOrganizationId = useAppScopeSafe()?.currentOrganizationId ?? null;
|
|
69
|
+
return useMemo(() => ({ organizationRelationships, organizationTypes, organizations, currentOrganizationId }), [organizationRelationships, organizationTypes, organizations, currentOrganizationId]);
|
|
70
|
+
}
|
|
71
|
+
export function useRelationshipSideCapabilities() {
|
|
72
|
+
const input = useRelationshipCapabilityInput();
|
|
73
|
+
return useMemo(() => deriveRelationshipSideCapabilities(input), [input]);
|
|
74
|
+
}
|
|
75
|
+
/** Where the operator stands in the kinds the current organization takes a side in (#2618, #2722), as runtime capabilities. */
|
|
76
|
+
export function useRelationshipShapeCapabilities() {
|
|
77
|
+
const input = useRelationshipCapabilityInput();
|
|
78
|
+
return useMemo(() => deriveRelationshipShapeCapabilities(input), [input]);
|
|
79
|
+
}
|
|
80
|
+
/** The CURRENT organization's declared type, from the organizations the session has loaded; `undefined` until known. */
|
|
81
|
+
function useCurrentOrganizationType() {
|
|
82
|
+
const organizations = useContext(UserOrgsContext)?.organizations;
|
|
83
|
+
const currentOrganizationId = useAppScopeSafe()?.currentOrganizationId ?? null;
|
|
84
|
+
return useMemo(() => {
|
|
85
|
+
if (!currentOrganizationId)
|
|
86
|
+
return undefined;
|
|
87
|
+
const type = organizations?.find((organization) => organization._id === currentOrganizationId)?.type;
|
|
88
|
+
return typeof type === 'string' && type.length > 0 ? type : undefined;
|
|
89
|
+
}, [organizations, currentOrganizationId]);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Whether a directory may provision the CURRENT organization (#2613): its declared type says `scimProvisioning`, by
|
|
93
|
+
* the one rule the SCIM API, token generation and the directory-managed check also read. `false` until the declaration,
|
|
94
|
+
* the organizations and the current organization are known, so SCIM settings never appear first and vanish after.
|
|
95
|
+
*/
|
|
96
|
+
export function useCurrentOrganizationDirectoryProvisioned() {
|
|
97
|
+
const organizationTypes = useContext(ApplicationContext)?.appConfig?.organizationTypes;
|
|
98
|
+
const currentType = useCurrentOrganizationType();
|
|
99
|
+
return useMemo(() => isOrganizationTypeDirectoryProvisioned(organizationTypes, currentType), [organizationTypes, currentType]);
|
|
100
|
+
}
|
|
101
|
+
/** Outside the features provider nothing is offered. Module-level, so the memo below sees one identity. */
|
|
102
|
+
const offersNoFeature = (_featureId) => false;
|
|
16
103
|
export function useLauncherRuntimeAvailabilityContext() {
|
|
17
104
|
const appMode = useAppModeSafe();
|
|
18
105
|
const appScope = useAppScopeSafe();
|
|
19
|
-
const
|
|
20
|
-
|
|
106
|
+
const effectiveRoles = useViewerEffectiveRoles();
|
|
107
|
+
// Read without the throwing `useFeatures`, like the roles above: a surface outside the features provider (a resource
|
|
108
|
+
// action bar in an isolated host, a test) gets a shell that offers no feature rather than a crash. Inside the
|
|
109
|
+
// application every reader sits under the provider, so nothing there changes.
|
|
110
|
+
const features = useContext(FeaturesContext);
|
|
111
|
+
const resolvedFeatures = features?.resolvedFeatures;
|
|
112
|
+
const isFeatureOffered = features?.isFeatureOffered ?? offersNoFeature;
|
|
21
113
|
const billing = useBillingSafe();
|
|
22
114
|
// Enterprise-config features (SSO / SCIM / SIEM / webhooks) are gated by the
|
|
23
115
|
// framework FEATURE system, along the correct axis. This capability is the
|
|
@@ -30,45 +122,82 @@ export function useLauncherRuntimeAvailabilityContext() {
|
|
|
30
122
|
// Billing off → offered == entitled, so behaviour is unchanged there. Entitlement
|
|
31
123
|
// itself is enforced at render time (FeatureGate) and by the backend FeatureGate.
|
|
32
124
|
const ssoEnabled = isFeatureOffered(CoreFeature.SINGLE_SIGN_ON);
|
|
33
|
-
|
|
125
|
+
// SCIM also needs the current organization's TYPE to admit a directory (#2613): the feature can be offered while the
|
|
126
|
+
// type says no, and then the settings would mint a token the SCIM API refuses. Where the type says no but the
|
|
127
|
+
// organization still holds an unrevoked token, the settings stay reachable with that token's Revoke and nothing else
|
|
128
|
+
// (#2649); whether it holds one is the one capability the shell has to ask the server.
|
|
129
|
+
const directoryProvisioningOffered = isFeatureOffered(CoreFeature.DIRECTORY_PROVISIONING);
|
|
130
|
+
const currentOrganizationType = useCurrentOrganizationType();
|
|
131
|
+
const currentOrganizationDirectoryProvisioned = useCurrentOrganizationDirectoryProvisioned();
|
|
132
|
+
const holdsUnrevokedScimToken = useCurrentOrganizationHoldsUnrevokedScimToken(isUnrevokedScimTokenProbeNeeded({
|
|
133
|
+
featureOffered: directoryProvisioningOffered,
|
|
134
|
+
organizationTypeKnown: currentOrganizationType !== undefined,
|
|
135
|
+
organizationTypeDirectoryProvisioned: currentOrganizationDirectoryProvisioned,
|
|
136
|
+
}), effectiveRoles);
|
|
137
|
+
const directoryProvisioningCapabilities = useMemo(() => deriveDirectoryProvisioningCapabilities({
|
|
138
|
+
featureOffered: directoryProvisioningOffered,
|
|
139
|
+
organizationTypeDirectoryProvisioned: currentOrganizationDirectoryProvisioned,
|
|
140
|
+
holdsUnrevokedToken: holdsUnrevokedScimToken,
|
|
141
|
+
}), [directoryProvisioningOffered, currentOrganizationDirectoryProvisioned, holdsUnrevokedScimToken]);
|
|
34
142
|
const siemEnabled = isFeatureOffered(CoreFeature.SECURITY_EVENT_EXPORT);
|
|
35
143
|
const webhooksEnabled = isFeatureOffered(CoreFeature.M2M_WEBHOOK_DELIVERY);
|
|
144
|
+
// Which side of an organization relationship the CURRENT organization's type can take (#1597): read from the
|
|
145
|
+
// declaration, so a representing organization is not offered a granting organization's register and a granting
|
|
146
|
+
// organization is not offered a representing organization's list of the organizations it represents.
|
|
147
|
+
const relationshipSides = useRelationshipSideCapabilities();
|
|
148
|
+
// Which form the relationship verbs take in this application's shape (#2618): the operator asked without a name, or
|
|
149
|
+
// the other organization named.
|
|
150
|
+
const relationshipShape = useRelationshipShapeCapabilities();
|
|
151
|
+
// Who is offered the decision inbox (#2577): a holder of an answering role in ANY organization entry the server reads
|
|
152
|
+
// an answerer from, not only in the current organization. Read without the throwing `useApplication`.
|
|
153
|
+
const decisionInboxOffer = useContext(ApplicationContext)?.appConfig?.decisionInbox;
|
|
154
|
+
// Whether the application declares any professional qualification kind (#2967): the qualifications settings need one.
|
|
155
|
+
const professionalQualificationsDeclared = Object.keys(useContext(ApplicationContext)?.appConfig?.professionalQualificationKinds ?? {}).length > 0;
|
|
156
|
+
const decisionInbox = useMemo(() => deriveDecisionInboxCapabilities({ offer: decisionInboxOffer, effectiveRoles }), [decisionInboxOffer, effectiveRoles]);
|
|
36
157
|
return useMemo(() => ({
|
|
37
158
|
activeMode: appMode?.activeMode ?? null,
|
|
38
159
|
availableModes: appMode?.availableModes ?? [],
|
|
39
160
|
allScopeValues: appScope?.allScopeValues ?? {},
|
|
40
|
-
|
|
161
|
+
effectiveRoles,
|
|
41
162
|
resolvedFeatures: resolvedFeatures?.features ?? [],
|
|
42
163
|
runtimeCapabilities: {
|
|
43
164
|
billingEnabled: Boolean(billing?.isEnabled),
|
|
44
165
|
ssoEnabled,
|
|
45
|
-
|
|
166
|
+
...directoryProvisioningCapabilities,
|
|
46
167
|
siemEnabled,
|
|
47
168
|
webhooksEnabled,
|
|
169
|
+
...relationshipSides,
|
|
170
|
+
...relationshipShape,
|
|
171
|
+
...decisionInbox,
|
|
172
|
+
[PROFESSIONAL_QUALIFICATIONS_DECLARED_CAPABILITY]: professionalQualificationsDeclared,
|
|
48
173
|
},
|
|
49
174
|
}), [
|
|
50
175
|
appMode?.activeMode,
|
|
51
176
|
appMode?.availableModes,
|
|
52
177
|
appScope?.allScopeValues,
|
|
53
|
-
|
|
178
|
+
effectiveRoles,
|
|
54
179
|
resolvedFeatures?.features,
|
|
55
180
|
billing?.isEnabled,
|
|
56
181
|
ssoEnabled,
|
|
57
|
-
|
|
182
|
+
directoryProvisioningCapabilities,
|
|
58
183
|
siemEnabled,
|
|
59
184
|
webhooksEnabled,
|
|
185
|
+
relationshipSides,
|
|
186
|
+
relationshipShape,
|
|
187
|
+
decisionInbox,
|
|
188
|
+
professionalQualificationsDeclared,
|
|
60
189
|
]);
|
|
61
190
|
}
|
|
62
191
|
/**
|
|
63
|
-
*
|
|
192
|
+
* Whether a launcher item (or a Settings Hub section) survives the app-shell filtering pass: every required runtime
|
|
193
|
+
* capability is on, and the viewer holds one of its `requiredRoles` (#2376).
|
|
64
194
|
*
|
|
65
195
|
* `requiredFeatures` remains the canonical plan/subscription gate later in the
|
|
66
196
|
* launcher resolution + surface rendering pipeline.
|
|
67
197
|
*/
|
|
68
198
|
export function isLauncherRuntimeAvailabilitySatisfied(config, context) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return config.requiredCapabilities.every(capability => Boolean(context.runtimeCapabilities[capability]));
|
|
199
|
+
const capabilitiesOn = (config?.requiredCapabilities ?? []).every(capability => Boolean(context.runtimeCapabilities[capability]));
|
|
200
|
+
return capabilitiesOn && viewerHoldsOneOfRoles(config?.requiredRoles, context.effectiveRoles);
|
|
72
201
|
}
|
|
73
202
|
function filterSidebarItemsByRuntimeAvailability(items, context) {
|
|
74
203
|
return items.flatMap(item => {
|