@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
|
@@ -5,14 +5,22 @@
|
|
|
5
5
|
* - Passes silent: true (Tier 3 — no loading events, Decision R16)
|
|
6
6
|
* - Does NOT pass loading config (no LOADING_RESOURCE_START/END events)
|
|
7
7
|
* - Sends If-Match header when expectedVersion is known (Phase 3.2)
|
|
8
|
-
* - Disambiguates 409 errors: VERSION_CONFLICT → CONFLICT
|
|
8
|
+
* - Disambiguates 409 errors: VERSION_CONFLICT → CONFLICT; a 409 naming fields → VALIDATION; any other 409 → REFUSED
|
|
9
9
|
* - Maps errors to OperationResult (httpStatus primary path, isWildoBackendError fallback)
|
|
10
10
|
*/
|
|
11
11
|
import type { OperationPathIdentifier } from '../../../core/resources/ResourceRegistryContext';
|
|
12
12
|
import type { ResourceOperationCallParameters } from '../../../core/requests/wildo-http-client-resources.frontend.service';
|
|
13
13
|
import type { RequestOptions } from '../../../core/requests/wildo-http-client.frontend.service';
|
|
14
|
+
import { MutationErrorType } from './types';
|
|
14
15
|
import type { TransportAdapter, OperationDescriptor, OperationResult } from './types';
|
|
15
16
|
export type DoOperationFn = <TResponse = any>(operationPath: OperationPathIdentifier, parameters: ResourceOperationCallParameters, options?: RequestOptions) => Promise<TResponse>;
|
|
17
|
+
/**
|
|
18
|
+
* What a status the adapter maps no further means for the RMM. A 5xx is the server failing; 408, 425 and 429 ask the
|
|
19
|
+
* client to retry; any other 4xx is a refusal that sending the same request again cannot change (401, 403, 405, 413,
|
|
20
|
+
* 415, …). Before, every 4xx without its own case was TRANSIENT: a 403 was retried twice and then announced as a
|
|
21
|
+
* network problem.
|
|
22
|
+
*/
|
|
23
|
+
export declare function classifyUnmappedHttpStatus(status: number): MutationErrorType;
|
|
16
24
|
export declare class HttpTransportAdapter implements TransportAdapter {
|
|
17
25
|
private _doOperation;
|
|
18
26
|
constructor(doOperation: DoOperationFn);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpTransportAdapter.d.ts","sourceRoot":"","sources":["../../../../../../src/core/resources/rmm/HttpTransportAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4DAA4D,CAAC;AAC1G,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,gFAAgF,CAAC;AACtI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sEAAsE,CAAC;AAG3G,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"HttpTransportAdapter.d.ts","sourceRoot":"","sources":["../../../../../../src/core/resources/rmm/HttpTransportAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4DAA4D,CAAC;AAC1G,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,gFAAgF,CAAC;AACtI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sEAAsE,CAAC;AAG3G,OAAO,EAAE,iBAAiB,EAAyB,MAAM,SAAS,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAkCtF,MAAM,MAAM,aAAa,GAAG,CAAC,SAAS,GAAG,GAAG,EAC1C,aAAa,EAAE,uBAAuB,EACtC,UAAU,EAAE,+BAA+B,EAC3C,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,SAAS,CAAC,CAAC;AASxB;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAI5E;AAgBD,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,OAAO,CAAC,YAAY,CAAgB;gBAExB,WAAW,EAAE,aAAa;IAIhC,OAAO,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IA+DxE;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,cAAc;CA6IvB"}
|
|
@@ -5,15 +5,17 @@
|
|
|
5
5
|
* - Passes silent: true (Tier 3 — no loading events, Decision R16)
|
|
6
6
|
* - Does NOT pass loading config (no LOADING_RESOURCE_START/END events)
|
|
7
7
|
* - Sends If-Match header when expectedVersion is known (Phase 3.2)
|
|
8
|
-
* - Disambiguates 409 errors: VERSION_CONFLICT → CONFLICT
|
|
8
|
+
* - Disambiguates 409 errors: VERSION_CONFLICT → CONFLICT; a 409 naming fields → VALIDATION; any other 409 → REFUSED
|
|
9
9
|
* - Maps errors to OperationResult (httpStatus primary path, isWildoBackendError fallback)
|
|
10
10
|
*/
|
|
11
11
|
import { isWildoBackendError, WildoHeaderKeys, ErrorCustomMessageReference, VersionConflictDetailsSchema, describeCaughtError } from '@wildo-ai/saas-models';
|
|
12
|
+
import { readOperationApprovalPending } from '@wildo-ai/saas-models';
|
|
12
13
|
import { MutationErrorType, OperationResultStatus } from './types.js';
|
|
13
14
|
import { LoggerFrontendService } from '../../../core/monitoring/logger.frontend.service.js';
|
|
14
15
|
import { isAbortOrCancelError } from '../../../core/requests/request-cancellation.frontend.utils.js';
|
|
15
16
|
import { isNetworkOfflineRejection } from '../../../core/requests/offline-replay-policy.frontend.js';
|
|
16
17
|
import { isApiNotReadyError } from '../../../core/requests/api-readiness-checker.frontend.service.js';
|
|
18
|
+
import { AutomaticResendLadder, failedRequestMayBeResentAutomatically } from '../../../core/requests/automatic-resend-safety.frontend.js';
|
|
17
19
|
const logger = LoggerFrontendService.getLogger();
|
|
18
20
|
const logDebug = logger.debugByType('HttpTransportAdapter');
|
|
19
21
|
logger.setDebugTypeLogging('HttpTransportAdapter', false);
|
|
@@ -38,6 +40,34 @@ function hasHttpStatus(error) {
|
|
|
38
40
|
// =============================================================================
|
|
39
41
|
// ADAPTER
|
|
40
42
|
// =============================================================================
|
|
43
|
+
/** The statuses that say "send it again later" (RFC 9110 §15.5.9 408; RFC 8470 425; RFC 6585 §4 429). */
|
|
44
|
+
const RETRYABLE_CLIENT_STATUSES = new Set([408, 425, 429]);
|
|
45
|
+
/**
|
|
46
|
+
* What a status the adapter maps no further means for the RMM. A 5xx is the server failing; 408, 425 and 429 ask the
|
|
47
|
+
* client to retry; any other 4xx is a refusal that sending the same request again cannot change (401, 403, 405, 413,
|
|
48
|
+
* 415, …). Before, every 4xx without its own case was TRANSIENT: a 403 was retried twice and then announced as a
|
|
49
|
+
* network problem.
|
|
50
|
+
*/
|
|
51
|
+
export function classifyUnmappedHttpStatus(status) {
|
|
52
|
+
if (status >= 500)
|
|
53
|
+
return MutationErrorType.SERVER;
|
|
54
|
+
if (status >= 400 && !RETRYABLE_CLIENT_STATUSES.has(status))
|
|
55
|
+
return MutationErrorType.REFUSED;
|
|
56
|
+
return MutationErrorType.TRANSIENT;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* A 409 that is not a version conflict: the request conflicts with the resource's state (RFC 9110 §15.5.10). When the
|
|
60
|
+
* server names the fields it conflicts on (a value another record already holds), it is shown at those fields, like a
|
|
61
|
+
* 422, so it keeps them: it was classed VALIDATION and dropped them, so a form could not say which field was taken.
|
|
62
|
+
* Any other 409 (an action the record's state forbids) is a refusal that sending the same request again cannot change.
|
|
63
|
+
*/
|
|
64
|
+
function classifyStateConflict(error, status, message) {
|
|
65
|
+
const validationErrors = error?.validationErrors;
|
|
66
|
+
if (validationErrors !== null && typeof validationErrors === 'object' && Object.keys(validationErrors).length > 0) {
|
|
67
|
+
return { type: MutationErrorType.VALIDATION, status, validationErrors: validationErrors, message };
|
|
68
|
+
}
|
|
69
|
+
return { type: MutationErrorType.REFUSED, status, message };
|
|
70
|
+
}
|
|
41
71
|
export class HttpTransportAdapter {
|
|
42
72
|
_doOperation;
|
|
43
73
|
constructor(doOperation) {
|
|
@@ -67,6 +97,15 @@ export class HttpTransportAdapter {
|
|
|
67
97
|
silent: true,
|
|
68
98
|
headers: Object.keys(headers).length > 0 ? headers : undefined,
|
|
69
99
|
});
|
|
100
|
+
// #2288: a held answer changed no row. It travels as its own result, never as the row's data. Read by its value
|
|
101
|
+
// alone: the transport is handed a path key, not the operation, and both halves of the shared predicate
|
|
102
|
+
// (`isOperationApprovalPendingAnswer`: the variant declares approval AND this answer is the pending contract) were
|
|
103
|
+
// already asked by the HTTP client, which validated this answer against the pending schema only when both held.
|
|
104
|
+
const heldForApproval = readOperationApprovalPending(response);
|
|
105
|
+
if (heldForApproval) {
|
|
106
|
+
logDebug('execute: held for approval', { decisionRef: heldForApproval.decisionRef });
|
|
107
|
+
return { status: OperationResultStatus.SUCCESS, heldForApproval };
|
|
108
|
+
}
|
|
70
109
|
const responseData = response;
|
|
71
110
|
const result = {
|
|
72
111
|
status: OperationResultStatus.SUCCESS,
|
|
@@ -96,6 +135,15 @@ export class HttpTransportAdapter {
|
|
|
96
135
|
const result = this._classifyError(error);
|
|
97
136
|
if (result.error) {
|
|
98
137
|
result.error.cause = error;
|
|
138
|
+
// A failure the RMM would retry is retried only if sending it again cannot apply it twice (#3004). "Never sent" counts
|
|
139
|
+
// only where it is KNOWN: an offline rejection and the readiness gate's are classed TRANSIENT above and stay
|
|
140
|
+
// retryable. Every other failure is asked of the predicate, which answers `false` for one that carries no request:
|
|
141
|
+
// that includes a 2xx whose answer failed the response contract (#3004 review N1) — the server applied it.
|
|
142
|
+
if ((result.error.type === MutationErrorType.SERVER || result.error.type === MutationErrorType.TRANSIENT)
|
|
143
|
+
&& !isNetworkOfflineRejection(error) && !isApiNotReadyError(error)) {
|
|
144
|
+
// A re-dispatch mints a new `Idempotency-Key`, so only the server's own statement can make it safe.
|
|
145
|
+
result.error.resendable = failedRequestMayBeResentAutomatically(error, AutomaticResendLadder.REDISPATCH);
|
|
146
|
+
}
|
|
99
147
|
}
|
|
100
148
|
return result;
|
|
101
149
|
}
|
|
@@ -142,6 +190,7 @@ export class HttpTransportAdapter {
|
|
|
142
190
|
if (httpStatus != null) {
|
|
143
191
|
switch (httpStatus) {
|
|
144
192
|
case 400:
|
|
193
|
+
case 422:
|
|
145
194
|
return {
|
|
146
195
|
status: OperationResultStatus.ERROR,
|
|
147
196
|
error: {
|
|
@@ -152,6 +201,7 @@ export class HttpTransportAdapter {
|
|
|
152
201
|
},
|
|
153
202
|
};
|
|
154
203
|
case 404:
|
|
204
|
+
case 410:
|
|
155
205
|
return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.NOT_FOUND, status: httpStatus } };
|
|
156
206
|
case 409: {
|
|
157
207
|
const customRef = error?.customMessageReference;
|
|
@@ -176,27 +226,15 @@ export class HttpTransportAdapter {
|
|
|
176
226
|
},
|
|
177
227
|
};
|
|
178
228
|
}
|
|
179
|
-
if (customRef) {
|
|
180
|
-
return {
|
|
181
|
-
status: OperationResultStatus.ERROR,
|
|
182
|
-
error: { type: MutationErrorType.VALIDATION, status: httpStatus, message: error?.message ?? String(error) },
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
229
|
return {
|
|
186
230
|
status: OperationResultStatus.ERROR,
|
|
187
|
-
error:
|
|
231
|
+
error: classifyStateConflict(error, httpStatus, error?.message ?? String(error)),
|
|
188
232
|
};
|
|
189
233
|
}
|
|
190
234
|
default:
|
|
191
|
-
if (httpStatus >= 500) {
|
|
192
|
-
return {
|
|
193
|
-
status: OperationResultStatus.ERROR,
|
|
194
|
-
error: { type: MutationErrorType.SERVER, status: httpStatus, message: String(error) },
|
|
195
|
-
};
|
|
196
|
-
}
|
|
197
235
|
return {
|
|
198
236
|
status: OperationResultStatus.ERROR,
|
|
199
|
-
error: { type:
|
|
237
|
+
error: { type: classifyUnmappedHttpStatus(httpStatus), status: httpStatus, message: String(error) },
|
|
200
238
|
};
|
|
201
239
|
}
|
|
202
240
|
}
|
|
@@ -205,10 +243,10 @@ export class HttpTransportAdapter {
|
|
|
205
243
|
if (status >= 500) {
|
|
206
244
|
return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.SERVER, status, message: String(error) } };
|
|
207
245
|
}
|
|
208
|
-
if (status === 400) {
|
|
246
|
+
if (status === 400 || status === 422) {
|
|
209
247
|
return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.VALIDATION, status, message: String(error) } };
|
|
210
248
|
}
|
|
211
|
-
if (status === 404) {
|
|
249
|
+
if (status === 404 || status === 410) {
|
|
212
250
|
return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.NOT_FOUND, status } };
|
|
213
251
|
}
|
|
214
252
|
if (status === 409) {
|
|
@@ -233,12 +271,9 @@ export class HttpTransportAdapter {
|
|
|
233
271
|
},
|
|
234
272
|
};
|
|
235
273
|
}
|
|
236
|
-
|
|
237
|
-
return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.VALIDATION, status, message: String(error) } };
|
|
238
|
-
}
|
|
239
|
-
return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.VALIDATION, status, message: String(error) } };
|
|
274
|
+
return { status: OperationResultStatus.ERROR, error: classifyStateConflict(error, status, String(error)) };
|
|
240
275
|
}
|
|
241
|
-
return { status: OperationResultStatus.ERROR, error: { type:
|
|
276
|
+
return { status: OperationResultStatus.ERROR, error: { type: classifyUnmappedHttpStatus(status), status, message: String(error) } };
|
|
242
277
|
}
|
|
243
278
|
return {
|
|
244
279
|
status: OperationResultStatus.ERROR,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpTransportAdapter.js","sourceRoot":"","sources":["../../../../../../src/core/resources/rmm/HttpTransportAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * HttpTransportAdapter — Production Implementation (Phase 1.3, updated Phase 3.2)\n *\n * Wraps the existing doOperation() from ResourceRegistryContext.\n * - Passes silent: true (Tier 3 — no loading events, Decision R16)\n * - Does NOT pass loading config (no LOADING_RESOURCE_START/END events)\n * - Sends If-Match header when expectedVersion is known (Phase 3.2)\n * - Disambiguates 409 errors: VERSION_CONFLICT → CONFLICT, other 409s → VALIDATION\n * - Maps errors to OperationResult (httpStatus primary path, isWildoBackendError fallback)\n */\n\nimport {\n isWildoBackendError,\n WildoHeaderKeys,\n ErrorCustomMessageReference,\n VersionConflictDetailsSchema, describeCaughtError } from '@wildo-ai/saas-models';\nimport type { MutationError } from './types';\nimport type { FieldMetaEntry } from '@wildo-ai/saas-models';\nimport type { OperationPathIdentifier } from '~wildo-frontend-lib/core/resources/ResourceRegistryContext';\nimport type { ResourceOperationCallParameters } from '~wildo-frontend-lib/core/requests/wildo-http-client-resources.frontend.service';\nimport type { RequestOptions } from '~wildo-frontend-lib/core/requests/wildo-http-client.frontend.service';\n\nimport { MutationErrorType, OperationResultStatus } from './types';\nimport type { TransportAdapter, OperationDescriptor, OperationResult } from './types';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { isAbortOrCancelError } from '~wildo-frontend-lib/core/requests/request-cancellation.frontend.utils';\nimport { isNetworkOfflineRejection } from '~wildo-frontend-lib/core/requests/offline-replay-policy.frontend';\nimport { isApiNotReadyError } from '~wildo-frontend-lib/core/requests/api-readiness-checker.frontend.service';\n\nconst logger = LoggerFrontendService.getLogger();\nconst logDebug = logger.debugByType('HttpTransportAdapter');\nlogger.setDebugTypeLogging('HttpTransportAdapter', false);\n\n/**\n * Only the backend-authored nested `details.versionConflict` payload is treated\n * as authoritative conflict truth.\n */\nfunction extractVersionConflictDetails(error: unknown): MutationError['conflictDetails'] | undefined {\n const ctx = isWildoBackendError(error)\n ? error.context\n : (error as { context?: Record<string, unknown> }).context;\n if (!ctx || typeof ctx !== 'object') return undefined;\n const rec = ctx as Record<string, unknown>;\n const parsed = VersionConflictDetailsSchema.safeParse(rec.versionConflict);\n return parsed.success ? parsed.data : undefined;\n}\n\nfunction hasHttpStatus(error: unknown): error is { httpStatus: number } {\n const s = (error as { httpStatus?: number }).httpStatus;\n return s != null && typeof s === 'number' && !Number.isNaN(s);\n}\n\n// =============================================================================\n// DO OPERATION TYPE (matches ResourceRegistryContext.doOperation)\n// =============================================================================\n\nexport type DoOperationFn = <TResponse = any>(\n operationPath: OperationPathIdentifier,\n parameters: ResourceOperationCallParameters,\n options?: RequestOptions\n) => Promise<TResponse>;\n\n// =============================================================================\n// ADAPTER\n// =============================================================================\n\nexport class HttpTransportAdapter implements TransportAdapter {\n private _doOperation: DoOperationFn;\n\n constructor(doOperation: DoOperationFn) {\n this._doOperation = doOperation;\n }\n\n async execute(descriptor: OperationDescriptor): Promise<OperationResult> {\n logDebug('execute', {\n operationPathKey: descriptor.operationPathKey,\n fields: descriptor.requestData ? Object.keys(descriptor.requestData) : [],\n expectedVersion: descriptor.expectedVersion,\n });\n\n try {\n const headers: Record<string, string> = {};\n if (descriptor.expectedVersion != null) {\n headers[WildoHeaderKeys.IF_MATCH] = String(descriptor.expectedVersion);\n }\n\n const requestData = descriptor.fieldTimestamps\n ? { ...descriptor.requestData, _field_timestamps: descriptor.fieldTimestamps }\n : descriptor.requestData;\n\n const response = await this._doOperation(\n descriptor.operationPathKey,\n {\n contextualParameters: descriptor.contextualParameters,\n requestData,\n parentResourcesRequirements: descriptor.parentResourcesRequirements as any,\n dataMode: descriptor.dataMode,\n },\n {\n signal: descriptor.signal,\n silent: true,\n headers: Object.keys(headers).length > 0 ? headers : undefined,\n }\n );\n\n const responseData = response as Record<string, unknown> | undefined;\n\n const result: OperationResult = {\n status: OperationResultStatus.SUCCESS,\n data: responseData ?? undefined,\n newVersion: responseData?._version as number | undefined,\n fieldMeta: responseData?._field_meta as Record<string, FieldMetaEntry> | undefined,\n };\n logDebug('execute: success', { newVersion: result.newVersion });\n return result;\n } catch (error: unknown) {\n const result = this._mapError(error);\n logDebug('execute: error', {\n errorType: result.error?.type,\n errorStatus: result.error?.status,\n errorMessage: result.error?.message,\n });\n return result;\n }\n }\n\n /**\n * Classifies a caught failure and keeps the failure itself on `error.cause`, so a surface that shows it can\n * still reach the backend's reference and guidance — the classification alone cannot tell a 403 from a\n * rejected payload (#1182).\n */\n private _mapError(error: unknown): OperationResult {\n const result = this._classifyError(error);\n if (result.error) {\n result.error.cause = error;\n }\n return result;\n }\n\n private _classifyError(error: unknown): OperationResult {\n // Intentional cancellation → ABORT (never a TRANSIENT/retryable failure).\n // The transport is axios, which rejects an aborted request with a\n // `CanceledError` (`__CANCEL__` / `code: 'ERR_CANCELED'` / `name:\n // 'CanceledError'`) — NOT a DOM `AbortError`. The two `AbortError` checks\n // below were therefore DEAD for this transport, so a superseded mutation or\n // a backpressure-timeout abort fell through to the final `TRANSIENT` branch\n // and looked like a retryable error. Recognise the axios cancel shape (same\n // shape the HTTP-client interceptor and per-consumer guards use) and keep the\n // DOM `AbortError` checks as defense-in-depth for any non-axios transport.\n if (isAbortOrCancelError(error)) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.ABORT } };\n }\n\n // Offline rejection (mutation issued while the device was offline, or a queued\n // read that expired) → TRANSIENT so RMM's bounded transient-retry ladder\n // (1s, 3s) gives a brief blip a chance to recover, then settles to ERROR\n // rather than hot-looping. It is NOT a server/validation failure and must not\n // be classified as one. (Step 3 of the network-resilience plan may promote\n // this to a dedicated OFFLINE mutation type once the connectivity layer owns\n // the offline banner UX.)\n if (isNetworkOfflineRejection(error)) {\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.TRANSIENT, message: error.message },\n };\n }\n\n // Bounded readiness-gate rejection (`ApiNotReadyError`): the backend is\n // unreachable and the HTTP client's readiness wait gave up. TRANSIENT so\n // the RMM's bounded retry ladder gets its chance — and, because the wait is\n // bounded, the ladder now actually EXHAUSTS instead of parking forever at\n // the gate. Exhaustion then reverts optimistic state and surfaces a\n // user-visible failure (audit B1/B2). This would also land in the final\n // TRANSIENT fallback below; the explicit branch pins the classification.\n if (isApiNotReadyError(error)) {\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.TRANSIENT, message: error.message },\n };\n }\n\n const httpStatus = hasHttpStatus(error) ? error.httpStatus : undefined;\n if (httpStatus != null) {\n switch (httpStatus) {\n case 400:\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.VALIDATION,\n status: httpStatus,\n validationErrors: (error as any).validationErrors,\n message: (error as any).message ?? String(error),\n },\n };\n case 404:\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.NOT_FOUND, status: httpStatus } };\n case 409: {\n const customRef = (error as any)?.customMessageReference;\n if (customRef === ErrorCustomMessageReference.VERSION_CONFLICT) {\n const conflictDetails = extractVersionConflictDetails(error);\n if (!conflictDetails) {\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.SERVER,\n status: httpStatus,\n message: 'Version conflict response missing authoritative conflict details.',\n },\n };\n }\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.CONFLICT,\n status: httpStatus,\n conflictDetails,\n },\n };\n }\n if (customRef) {\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.VALIDATION, status: httpStatus, message: (error as any)?.message ?? String(error) },\n };\n }\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.VALIDATION, status: httpStatus, message: (error as any)?.message ?? String(error) },\n };\n }\n default:\n if (httpStatus >= 500) {\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.SERVER, status: httpStatus, message: String(error) },\n };\n }\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.TRANSIENT, status: httpStatus, message: String(error) },\n };\n }\n }\n\n if (isWildoBackendError(error)) {\n const status = error.statusCode;\n if (status >= 500) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.SERVER, status, message: String(error) } };\n }\n if (status === 400) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.VALIDATION, status, message: String(error) } };\n }\n if (status === 404) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.NOT_FOUND, status } };\n }\n if (status === 409) {\n if (error.customMessageReference === ErrorCustomMessageReference.VERSION_CONFLICT) {\n const conflictDetails = extractVersionConflictDetails(error);\n if (!conflictDetails) {\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.SERVER,\n status,\n message: 'Version conflict response missing authoritative conflict details.',\n },\n };\n }\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.CONFLICT,\n status,\n conflictDetails,\n },\n };\n }\n if (error.customMessageReference) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.VALIDATION, status, message: String(error) } };\n }\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.VALIDATION, status, message: String(error) } };\n }\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.TRANSIENT, status, message: String(error) } };\n }\n\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.TRANSIENT,\n message: describeCaughtError(error),\n },\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"HttpTransportAdapter.js","sourceRoot":"","sources":["../../../../../../src/core/resources/rmm/HttpTransportAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * HttpTransportAdapter — Production Implementation (Phase 1.3, updated Phase 3.2)\n *\n * Wraps the existing doOperation() from ResourceRegistryContext.\n * - Passes silent: true (Tier 3 — no loading events, Decision R16)\n * - Does NOT pass loading config (no LOADING_RESOURCE_START/END events)\n * - Sends If-Match header when expectedVersion is known (Phase 3.2)\n * - Disambiguates 409 errors: VERSION_CONFLICT → CONFLICT; a 409 naming fields → VALIDATION; any other 409 → REFUSED\n * - Maps errors to OperationResult (httpStatus primary path, isWildoBackendError fallback)\n */\n\nimport {\n isWildoBackendError,\n WildoHeaderKeys,\n ErrorCustomMessageReference,\n VersionConflictDetailsSchema, describeCaughtError } from '@wildo-ai/saas-models';\nimport type { MutationError } from './types';\nimport type { FieldMetaEntry } from '@wildo-ai/saas-models';\nimport type { OperationPathIdentifier } from '~wildo-frontend-lib/core/resources/ResourceRegistryContext';\nimport type { ResourceOperationCallParameters } from '~wildo-frontend-lib/core/requests/wildo-http-client-resources.frontend.service';\nimport type { RequestOptions } from '~wildo-frontend-lib/core/requests/wildo-http-client.frontend.service';\n\nimport { readOperationApprovalPending } from '@wildo-ai/saas-models';\nimport { MutationErrorType, OperationResultStatus } from './types';\nimport type { TransportAdapter, OperationDescriptor, OperationResult } from './types';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { isAbortOrCancelError } from '~wildo-frontend-lib/core/requests/request-cancellation.frontend.utils';\nimport { isNetworkOfflineRejection } from '~wildo-frontend-lib/core/requests/offline-replay-policy.frontend';\nimport { isApiNotReadyError } from '~wildo-frontend-lib/core/requests/api-readiness-checker.frontend.service';\nimport { AutomaticResendLadder, failedRequestMayBeResentAutomatically } from '~wildo-frontend-lib/core/requests/automatic-resend-safety.frontend';\n\nconst logger = LoggerFrontendService.getLogger();\nconst logDebug = logger.debugByType('HttpTransportAdapter');\nlogger.setDebugTypeLogging('HttpTransportAdapter', false);\n\n/**\n * Only the backend-authored nested `details.versionConflict` payload is treated\n * as authoritative conflict truth.\n */\nfunction extractVersionConflictDetails(error: unknown): MutationError['conflictDetails'] | undefined {\n const ctx = isWildoBackendError(error)\n ? error.context\n : (error as { context?: Record<string, unknown> }).context;\n if (!ctx || typeof ctx !== 'object') return undefined;\n const rec = ctx as Record<string, unknown>;\n const parsed = VersionConflictDetailsSchema.safeParse(rec.versionConflict);\n return parsed.success ? parsed.data : undefined;\n}\n\nfunction hasHttpStatus(error: unknown): error is { httpStatus: number } {\n const s = (error as { httpStatus?: number }).httpStatus;\n return s != null && typeof s === 'number' && !Number.isNaN(s);\n}\n\n// =============================================================================\n// DO OPERATION TYPE (matches ResourceRegistryContext.doOperation)\n// =============================================================================\n\nexport type DoOperationFn = <TResponse = any>(\n operationPath: OperationPathIdentifier,\n parameters: ResourceOperationCallParameters,\n options?: RequestOptions\n) => Promise<TResponse>;\n\n// =============================================================================\n// ADAPTER\n// =============================================================================\n\n/** The statuses that say \"send it again later\" (RFC 9110 §15.5.9 408; RFC 8470 425; RFC 6585 §4 429). */\nconst RETRYABLE_CLIENT_STATUSES: ReadonlySet<number> = new Set([408, 425, 429]);\n\n/**\n * What a status the adapter maps no further means for the RMM. A 5xx is the server failing; 408, 425 and 429 ask the\n * client to retry; any other 4xx is a refusal that sending the same request again cannot change (401, 403, 405, 413,\n * 415, …). Before, every 4xx without its own case was TRANSIENT: a 403 was retried twice and then announced as a\n * network problem.\n */\nexport function classifyUnmappedHttpStatus(status: number): MutationErrorType {\n if (status >= 500) return MutationErrorType.SERVER;\n if (status >= 400 && !RETRYABLE_CLIENT_STATUSES.has(status)) return MutationErrorType.REFUSED;\n return MutationErrorType.TRANSIENT;\n}\n\n/**\n * A 409 that is not a version conflict: the request conflicts with the resource's state (RFC 9110 §15.5.10). When the\n * server names the fields it conflicts on (a value another record already holds), it is shown at those fields, like a\n * 422, so it keeps them: it was classed VALIDATION and dropped them, so a form could not say which field was taken.\n * Any other 409 (an action the record's state forbids) is a refusal that sending the same request again cannot change.\n */\nfunction classifyStateConflict(error: unknown, status: number, message: string): MutationError {\n const validationErrors = (error as { validationErrors?: unknown } | null)?.validationErrors;\n if (validationErrors !== null && typeof validationErrors === 'object' && Object.keys(validationErrors).length > 0) {\n return { type: MutationErrorType.VALIDATION, status, validationErrors: validationErrors as Record<string, unknown>, message };\n }\n return { type: MutationErrorType.REFUSED, status, message };\n}\n\nexport class HttpTransportAdapter implements TransportAdapter {\n private _doOperation: DoOperationFn;\n\n constructor(doOperation: DoOperationFn) {\n this._doOperation = doOperation;\n }\n\n async execute(descriptor: OperationDescriptor): Promise<OperationResult> {\n logDebug('execute', {\n operationPathKey: descriptor.operationPathKey,\n fields: descriptor.requestData ? Object.keys(descriptor.requestData) : [],\n expectedVersion: descriptor.expectedVersion,\n });\n\n try {\n const headers: Record<string, string> = {};\n if (descriptor.expectedVersion != null) {\n headers[WildoHeaderKeys.IF_MATCH] = String(descriptor.expectedVersion);\n }\n\n const requestData = descriptor.fieldTimestamps\n ? { ...descriptor.requestData, _field_timestamps: descriptor.fieldTimestamps }\n : descriptor.requestData;\n\n const response = await this._doOperation(\n descriptor.operationPathKey,\n {\n contextualParameters: descriptor.contextualParameters,\n requestData,\n parentResourcesRequirements: descriptor.parentResourcesRequirements as any,\n dataMode: descriptor.dataMode,\n },\n {\n signal: descriptor.signal,\n silent: true,\n headers: Object.keys(headers).length > 0 ? headers : undefined,\n }\n );\n\n // #2288: a held answer changed no row. It travels as its own result, never as the row's data. Read by its value\n // alone: the transport is handed a path key, not the operation, and both halves of the shared predicate\n // (`isOperationApprovalPendingAnswer`: the variant declares approval AND this answer is the pending contract) were\n // already asked by the HTTP client, which validated this answer against the pending schema only when both held.\n const heldForApproval = readOperationApprovalPending(response);\n if (heldForApproval) {\n logDebug('execute: held for approval', { decisionRef: heldForApproval.decisionRef });\n return { status: OperationResultStatus.SUCCESS, heldForApproval };\n }\n\n const responseData = response as Record<string, unknown> | undefined;\n\n const result: OperationResult = {\n status: OperationResultStatus.SUCCESS,\n data: responseData ?? undefined,\n newVersion: responseData?._version as number | undefined,\n fieldMeta: responseData?._field_meta as Record<string, FieldMetaEntry> | undefined,\n };\n logDebug('execute: success', { newVersion: result.newVersion });\n return result;\n } catch (error: unknown) {\n const result = this._mapError(error);\n logDebug('execute: error', {\n errorType: result.error?.type,\n errorStatus: result.error?.status,\n errorMessage: result.error?.message,\n });\n return result;\n }\n }\n\n /**\n * Classifies a caught failure and keeps the failure itself on `error.cause`, so a surface that shows it can\n * still reach the backend's reference and guidance — the classification alone cannot tell a 403 from a\n * rejected payload (#1182).\n */\n private _mapError(error: unknown): OperationResult {\n const result = this._classifyError(error);\n if (result.error) {\n result.error.cause = error;\n // A failure the RMM would retry is retried only if sending it again cannot apply it twice (#3004). \"Never sent\" counts\n // only where it is KNOWN: an offline rejection and the readiness gate's are classed TRANSIENT above and stay\n // retryable. Every other failure is asked of the predicate, which answers `false` for one that carries no request:\n // that includes a 2xx whose answer failed the response contract (#3004 review N1) — the server applied it.\n if ((result.error.type === MutationErrorType.SERVER || result.error.type === MutationErrorType.TRANSIENT)\n && !isNetworkOfflineRejection(error) && !isApiNotReadyError(error)) {\n // A re-dispatch mints a new `Idempotency-Key`, so only the server's own statement can make it safe.\n result.error.resendable = failedRequestMayBeResentAutomatically(error, AutomaticResendLadder.REDISPATCH);\n }\n }\n return result;\n }\n\n private _classifyError(error: unknown): OperationResult {\n // Intentional cancellation → ABORT (never a TRANSIENT/retryable failure).\n // The transport is axios, which rejects an aborted request with a\n // `CanceledError` (`__CANCEL__` / `code: 'ERR_CANCELED'` / `name:\n // 'CanceledError'`) — NOT a DOM `AbortError`. The two `AbortError` checks\n // below were therefore DEAD for this transport, so a superseded mutation or\n // a backpressure-timeout abort fell through to the final `TRANSIENT` branch\n // and looked like a retryable error. Recognise the axios cancel shape (same\n // shape the HTTP-client interceptor and per-consumer guards use) and keep the\n // DOM `AbortError` checks as defense-in-depth for any non-axios transport.\n if (isAbortOrCancelError(error)) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.ABORT } };\n }\n\n // Offline rejection (mutation issued while the device was offline, or a queued\n // read that expired) → TRANSIENT so RMM's bounded transient-retry ladder\n // (1s, 3s) gives a brief blip a chance to recover, then settles to ERROR\n // rather than hot-looping. It is NOT a server/validation failure and must not\n // be classified as one. (Step 3 of the network-resilience plan may promote\n // this to a dedicated OFFLINE mutation type once the connectivity layer owns\n // the offline banner UX.)\n if (isNetworkOfflineRejection(error)) {\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.TRANSIENT, message: error.message },\n };\n }\n\n // Bounded readiness-gate rejection (`ApiNotReadyError`): the backend is\n // unreachable and the HTTP client's readiness wait gave up. TRANSIENT so\n // the RMM's bounded retry ladder gets its chance — and, because the wait is\n // bounded, the ladder now actually EXHAUSTS instead of parking forever at\n // the gate. Exhaustion then reverts optimistic state and surfaces a\n // user-visible failure (audit B1/B2). This would also land in the final\n // TRANSIENT fallback below; the explicit branch pins the classification.\n if (isApiNotReadyError(error)) {\n return {\n status: OperationResultStatus.ERROR,\n error: { type: MutationErrorType.TRANSIENT, message: error.message },\n };\n }\n\n const httpStatus = hasHttpStatus(error) ? error.httpStatus : undefined;\n if (httpStatus != null) {\n switch (httpStatus) {\n case 400:\n case 422:\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.VALIDATION,\n status: httpStatus,\n validationErrors: (error as any).validationErrors,\n message: (error as any).message ?? String(error),\n },\n };\n case 404:\n case 410:\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.NOT_FOUND, status: httpStatus } };\n case 409: {\n const customRef = (error as any)?.customMessageReference;\n if (customRef === ErrorCustomMessageReference.VERSION_CONFLICT) {\n const conflictDetails = extractVersionConflictDetails(error);\n if (!conflictDetails) {\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.SERVER,\n status: httpStatus,\n message: 'Version conflict response missing authoritative conflict details.',\n },\n };\n }\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.CONFLICT,\n status: httpStatus,\n conflictDetails,\n },\n };\n }\n return {\n status: OperationResultStatus.ERROR,\n error: classifyStateConflict(error, httpStatus, (error as any)?.message ?? String(error)),\n };\n }\n default:\n return {\n status: OperationResultStatus.ERROR,\n error: { type: classifyUnmappedHttpStatus(httpStatus), status: httpStatus, message: String(error) },\n };\n }\n }\n\n if (isWildoBackendError(error)) {\n const status = error.statusCode;\n if (status >= 500) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.SERVER, status, message: String(error) } };\n }\n if (status === 400 || status === 422) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.VALIDATION, status, message: String(error) } };\n }\n if (status === 404 || status === 410) {\n return { status: OperationResultStatus.ERROR, error: { type: MutationErrorType.NOT_FOUND, status } };\n }\n if (status === 409) {\n if (error.customMessageReference === ErrorCustomMessageReference.VERSION_CONFLICT) {\n const conflictDetails = extractVersionConflictDetails(error);\n if (!conflictDetails) {\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.SERVER,\n status,\n message: 'Version conflict response missing authoritative conflict details.',\n },\n };\n }\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.CONFLICT,\n status,\n conflictDetails,\n },\n };\n }\n return { status: OperationResultStatus.ERROR, error: classifyStateConflict(error, status, String(error)) };\n }\n return { status: OperationResultStatus.ERROR, error: { type: classifyUnmappedHttpStatus(status), status, message: String(error) } };\n }\n\n return {\n status: OperationResultStatus.ERROR,\n error: {\n type: MutationErrorType.TRANSIENT,\n message: describeCaughtError(error),\n },\n };\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RMMRegistry.d.ts","sourceRoot":"","sources":["../../../../../../src/core/resources/rmm/RMMRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAY7D,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAWD,KAAK,uBAAuB,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,uBAAuB,CAAA;CAAE,CAAC,CAAC;AAE9H,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,wBAAwB,CAA2D;IAC3F;;;;;OAKG;IACH,OAAO,CAAC,6BAA6B,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,YAAY,CAAa;gBAErB,OAAO,CAAC,EAAE,kBAAkB;IAKxC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IASpC,WAAW,CACT,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,6BAA6B,GACpC,uBAAuB;
|
|
1
|
+
{"version":3,"file":"RMMRegistry.d.ts","sourceRoot":"","sources":["../../../../../../src/core/resources/rmm/RMMRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAY7D,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAWD,KAAK,uBAAuB,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,uBAAuB,CAAA;CAAE,CAAC,CAAC;AAE9H,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,wBAAwB,CAA2D;IAC3F;;;;;OAKG;IACH,OAAO,CAAC,6BAA6B,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,YAAY,CAAa;gBAErB,OAAO,CAAC,EAAE,kBAAkB;IAKxC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IASpC,WAAW,CACT,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,6BAA6B,GACpC,uBAAuB;IAqF1B,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS;IAIlF;;;OAGG;IACH,kBAAkB,IAAI,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,uBAAuB,CAAA;KAAE,CAAC;IAcpH,wBAAwB,CACtB,QAAQ,EAAE,CAAC,SAAS,EAAE,uBAAuB,KAAK,IAAI,GACrD,MAAM,IAAI;IAQb,4BAA4B,IAAI,IAAI;IAIpC,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAIxD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IA4B1B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAazB,OAAO,IAAI,IAAI;IAef;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA+BtB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,2BAA2B;CAmBpC"}
|
|
@@ -74,6 +74,7 @@ export class RMMRegistry {
|
|
|
74
74
|
readOperationPathKey: config.readOperationPathKey,
|
|
75
75
|
conflictPolicy: config.conflictPolicy,
|
|
76
76
|
resourceSchema: config.resourceSchema,
|
|
77
|
+
resourceInheritance: config.resourceInheritance,
|
|
77
78
|
});
|
|
78
79
|
// Registry identity is resourceType + resourceId, not route instance. A
|
|
79
80
|
// reused RMM therefore has to resync transport/context/read-path inputs on
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RMMRegistry.js","sourceRoot":"","sources":["../../../../../../src/core/resources/rmm/RMMRegistry.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * RMMRegistry — Global singleton managing RMM instances with ref counting.\n *\n * Pure TypeScript (no React). Instances are keyed by `${resourceType}:${resourceId}`.\n * Ref counting + deferred destruction (100ms) ensures React Strict Mode safety:\n * unmount→remount within the same tick reuses the existing instance.\n *\n * LRU eviction at capacity targets idle instances (refCount === 0) first.\n * Active instances are never evicted — the limit is soft.\n */\n\nimport { ResourceMutationManager } from './ResourceMutationManager';\nimport type { ResourceMutationManagerConfig } from './types';\nimport {\n RMM_REGISTRY_CAPACITY_WARNING,\n RMM_REGISTRY_DESTROY_DELAY_MS,\n RMM_REGISTRY_MAX_INSTANCES,\n} from './rmm-constants';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\n\nconst logger = LoggerFrontendService.getLogger();\nconst logDebug = logger.debugByType('RMMRegistry');\nlogger.setDebugTypeLogging('RMMRegistry', false);\n\nexport interface RMMRegistryOptions {\n maxInstances?: number;\n}\n\ninterface RegistryEntry {\n rmm: ResourceMutationManager;\n refCount: number;\n destroyTimer: ReturnType<typeof setTimeout> | null;\n lastAccessedAt: number;\n /** Set when the async destroy() sequence has started. Prevents reuse of a half-destroyed RMM. */\n destroying: boolean;\n}\n\ntype ActiveInstancesSnapshot = Array<{ key: string; resourceType: string; resourceId: string; rmm: ResourceMutationManager }>;\n\nexport class RMMRegistry {\n private _instances: Map<string, RegistryEntry> = new Map();\n private _activeInstanceListeners = new Set<(instances: ActiveInstancesSnapshot) => void>();\n /**\n * Coalescing flag for the deferred active-instance notification. See\n * `_emitActiveInstancesChanged` — notifications are flushed on a microtask so\n * a render-phase caller (`getOrCreate` inside `useResourceRMM`'s `useMemo`)\n * can never drive an observer's `setState` during render.\n */\n private _activeInstancesEmitScheduled = false;\n private readonly MAX_INSTANCES: number;\n private _clockOffset: number = 0;\n\n constructor(options?: RMMRegistryOptions) {\n this.MAX_INSTANCES = options?.maxInstances ?? RMM_REGISTRY_MAX_INSTANCES;\n logDebug('constructor', { maxInstances: this.MAX_INSTANCES });\n }\n\n get clockOffset(): number {\n return this._clockOffset;\n }\n\n /**\n * Sets the clock offset and propagates it to all active RMM instances.\n * Called by the calibration effect in RMMRegistryProvider.\n */\n setClockOffset(offset: number): void {\n this._clockOffset = offset;\n for (const [, entry] of this._instances) {\n if (entry.refCount > 0 && !entry.destroying) {\n entry.rmm.clockOffset = offset;\n }\n }\n }\n\n getOrCreate(\n resourceType: string,\n resourceId: string,\n config: ResourceMutationManagerConfig,\n ): ResourceMutationManager {\n const key = this.keyFor(resourceType, resourceId);\n const existing = this._instances.get(key);\n\n if (existing && !existing.destroying) {\n if (existing.destroyTimer) {\n clearTimeout(existing.destroyTimer);\n existing.destroyTimer = null;\n logDebug('getOrCreate: cancelled pending destroy', { key });\n }\n const previousReadOperationPathKey = existing.rmm.readOperationPathKey;\n if (\n config.readOperationPathKey !== undefined\n && previousReadOperationPathKey !== undefined\n && config.readOperationPathKey !== previousReadOperationPathKey\n ) {\n logger.warn('RMMRegistry updating canonical read path on reused instance', {\n key,\n previousReadOperationPathKey,\n nextReadOperationPathKey: config.readOperationPathKey,\n });\n }\n existing.rmm.syncRuntimeRoutingConfig({\n transportAdapter: config.transportAdapter,\n currentUserId: config.currentUserId,\n contextResourceIdentifiers: config.contextResourceIdentifiers,\n contextualParameters: config.contextualParameters,\n parentResourcesRequirements: config.parentResourcesRequirements,\n operationPathKey: config.operationPathKey,\n readOperationPathKey: config.readOperationPathKey,\n conflictPolicy: config.conflictPolicy,\n resourceSchema: config.resourceSchema,\n });\n // Registry identity is resourceType + resourceId, not route instance. A\n // reused RMM therefore has to resync transport/context/read-path inputs on\n // every acquisition so navigation changes do not leave a live instance on\n // stale runtime routing.\n existing.refCount++;\n existing.lastAccessedAt = Date.now();\n\n logDebug('getOrCreate: reused', {\n key,\n refCount: existing.refCount,\n });\n\n this._emitActiveInstancesChanged();\n return existing.rmm;\n }\n\n if (existing?.destroying) {\n logDebug('getOrCreate: old instance mid-destroy, replacing', { key });\n this._instances.delete(key);\n }\n\n this._evictIfNeeded();\n\n const rmm = new ResourceMutationManager(config);\n if (this._clockOffset !== 0) {\n rmm.clockOffset = this._clockOffset;\n }\n this._instances.set(key, {\n rmm,\n refCount: 1,\n destroyTimer: null,\n lastAccessedAt: Date.now(),\n destroying: false,\n });\n\n logDebug('getOrCreate: created', {\n key,\n instanceCount: this._instances.size,\n });\n\n if (this._instances.size >= this.MAX_INSTANCES * RMM_REGISTRY_CAPACITY_WARNING) {\n logger.warn('RMMRegistry approaching capacity', {\n current: this._instances.size,\n max: this.MAX_INSTANCES,\n });\n }\n\n this._emitActiveInstancesChanged();\n return rmm;\n }\n\n get(resourceType: string, resourceId: string): ResourceMutationManager | undefined {\n return this._instances.get(this.keyFor(resourceType, resourceId))?.rmm;\n }\n\n /**\n * Returns all active (refCount > 0, not mid-destroy) RMM instances.\n * Used by RMMWebSocketBridge for reconnection version sync.\n */\n getActiveInstances(): Array<{ key: string; resourceType: string; resourceId: string; rmm: ResourceMutationManager }> {\n const active: ActiveInstancesSnapshot = [];\n for (const [key, entry] of this._instances) {\n if (entry.refCount > 0 && !entry.destroying) {\n const colonIdx = key.indexOf(':');\n if (colonIdx < 0) continue;\n const resourceType = key.substring(0, colonIdx);\n const resourceId = key.substring(colonIdx + 1);\n active.push({ key, resourceType, resourceId, rmm: entry.rmm });\n }\n }\n return active;\n }\n\n subscribeActiveInstances(\n listener: (instances: ActiveInstancesSnapshot) => void,\n ): () => void {\n this._activeInstanceListeners.add(listener);\n listener(this.getActiveInstances());\n return () => {\n this._activeInstanceListeners.delete(listener);\n };\n }\n\n notifyInstanceRuntimeChanged(): void {\n this._emitActiveInstancesChanged();\n }\n\n keyFor(resourceType: string, resourceId: string): string {\n return `${resourceType}:${resourceId}`;\n }\n\n release(key: string): void {\n const entry = this._instances.get(key);\n if (!entry) return;\n\n entry.refCount--;\n\n logDebug('release', { key, refCount: entry.refCount });\n\n if (entry.refCount <= 0) {\n entry.refCount = 0;\n if (!entry.destroyTimer) {\n entry.destroyTimer = setTimeout(() => {\n entry.destroyTimer = null;\n entry.destroying = true;\n logDebug('release: destroy timer fired', { key });\n\n entry.rmm.destroy()\n .then(() => this.remove(key))\n .catch(() => {\n logDebug('release: destroy failed, force-removing', { key });\n this.remove(key);\n });\n }, RMM_REGISTRY_DESTROY_DELAY_MS);\n }\n }\n this._emitActiveInstancesChanged();\n }\n\n remove(key: string): void {\n const entry = this._instances.get(key);\n if (!entry) return;\n\n if (entry.destroyTimer) {\n clearTimeout(entry.destroyTimer);\n }\n this._instances.delete(key);\n\n logDebug('remove', { key, remainingInstances: this._instances.size });\n this._emitActiveInstancesChanged();\n }\n\n destroy(): void {\n logDebug('destroy: cleaning up all instances', { count: this._instances.size });\n\n for (const [key, entry] of this._instances) {\n if (entry.destroyTimer) {\n clearTimeout(entry.destroyTimer);\n }\n entry.rmm.destroy().catch(() => {\n logDebug('destroy: instance cleanup failed', { key });\n });\n }\n this._instances.clear();\n this._emitActiveInstancesChanged();\n }\n\n /**\n * Evict the least-recently-used idle instance when at capacity.\n * Only entries with refCount === 0 are eligible. If no evictable entry\n * exists, log a warning but allow creation (soft limit).\n */\n private _evictIfNeeded(): void {\n if (this._instances.size < this.MAX_INSTANCES) return;\n\n let lruKey: string | null = null;\n let lruTime = Infinity;\n\n for (const [key, entry] of this._instances) {\n if (entry.refCount === 0 && entry.lastAccessedAt < lruTime) {\n lruKey = key;\n lruTime = entry.lastAccessedAt;\n }\n }\n\n if (lruKey) {\n const entry = this._instances.get(lruKey)!;\n if (entry.destroyTimer) {\n clearTimeout(entry.destroyTimer);\n }\n logDebug('_evictIfNeeded: evicting LRU', { key: lruKey, lastAccessedAt: lruTime });\n entry.rmm.destroy().catch(() => {\n logDebug('_evictIfNeeded: eviction cleanup failed', { key: lruKey });\n });\n this._instances.delete(lruKey);\n } else {\n logger.warn('RMMRegistry at capacity with no idle instances to evict', {\n instanceCount: this._instances.size,\n maxInstances: this.MAX_INSTANCES,\n });\n }\n }\n\n /**\n * Notify active-instance observers (today: `RMMWebSocketBridge`) that the live\n * RMM set — or an instance's runtime routing — changed.\n *\n * The notification is intentionally **deferred to a microtask**, never run\n * synchronously. The main caller, `getOrCreate`, is invoked from inside a React\n * `useMemo` in `useResourceRMM` — i.e. during the *render phase*. The bridge\n * observer reacts by claiming/releasing WebSocket rooms, which calls\n * `setSubscribedRooms` on the ancestor `WebSocketProvider`. Running that\n * synchronously is a `setState` on an ancestor *during a descendant's render*\n * — React's \"Cannot update a component while rendering a different component\"\n * violation, and the closing edge of a paced render loop that froze any surface\n * embedding an RMM-attached displayer (the todos CREATE route, which embeds a\n * composite read view, 2026-06-27). Deferring to a microtask moves the observer\n * side effects out of render, breaking the loop regardless of which upstream\n * dependency churns the acquiring memo.\n *\n * Emits are coalesced: many calls within one synchronous task (e.g. several\n * displayers acquiring instances in the same render pass) collapse into a\n * single post-task notification carrying the latest snapshot. The initial,\n * non-render-phase sync is still delivered synchronously by\n * `subscribeActiveInstances` at subscription time.\n */\n private _emitActiveInstancesChanged(): void {\n if (this._activeInstanceListeners.size === 0) {\n return;\n }\n if (this._activeInstancesEmitScheduled) {\n return;\n }\n this._activeInstancesEmitScheduled = true;\n queueMicrotask(() => {\n this._activeInstancesEmitScheduled = false;\n if (this._activeInstanceListeners.size === 0) {\n return;\n }\n const snapshot = this.getActiveInstances();\n for (const listener of this._activeInstanceListeners) {\n listener(snapshot);\n }\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"RMMRegistry.js","sourceRoot":"","sources":["../../../../../../src/core/resources/rmm/RMMRegistry.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * RMMRegistry — Global singleton managing RMM instances with ref counting.\n *\n * Pure TypeScript (no React). Instances are keyed by `${resourceType}:${resourceId}`.\n * Ref counting + deferred destruction (100ms) ensures React Strict Mode safety:\n * unmount→remount within the same tick reuses the existing instance.\n *\n * LRU eviction at capacity targets idle instances (refCount === 0) first.\n * Active instances are never evicted — the limit is soft.\n */\n\nimport { ResourceMutationManager } from './ResourceMutationManager';\nimport type { ResourceMutationManagerConfig } from './types';\nimport {\n RMM_REGISTRY_CAPACITY_WARNING,\n RMM_REGISTRY_DESTROY_DELAY_MS,\n RMM_REGISTRY_MAX_INSTANCES,\n} from './rmm-constants';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\n\nconst logger = LoggerFrontendService.getLogger();\nconst logDebug = logger.debugByType('RMMRegistry');\nlogger.setDebugTypeLogging('RMMRegistry', false);\n\nexport interface RMMRegistryOptions {\n maxInstances?: number;\n}\n\ninterface RegistryEntry {\n rmm: ResourceMutationManager;\n refCount: number;\n destroyTimer: ReturnType<typeof setTimeout> | null;\n lastAccessedAt: number;\n /** Set when the async destroy() sequence has started. Prevents reuse of a half-destroyed RMM. */\n destroying: boolean;\n}\n\ntype ActiveInstancesSnapshot = Array<{ key: string; resourceType: string; resourceId: string; rmm: ResourceMutationManager }>;\n\nexport class RMMRegistry {\n private _instances: Map<string, RegistryEntry> = new Map();\n private _activeInstanceListeners = new Set<(instances: ActiveInstancesSnapshot) => void>();\n /**\n * Coalescing flag for the deferred active-instance notification. See\n * `_emitActiveInstancesChanged` — notifications are flushed on a microtask so\n * a render-phase caller (`getOrCreate` inside `useResourceRMM`'s `useMemo`)\n * can never drive an observer's `setState` during render.\n */\n private _activeInstancesEmitScheduled = false;\n private readonly MAX_INSTANCES: number;\n private _clockOffset: number = 0;\n\n constructor(options?: RMMRegistryOptions) {\n this.MAX_INSTANCES = options?.maxInstances ?? RMM_REGISTRY_MAX_INSTANCES;\n logDebug('constructor', { maxInstances: this.MAX_INSTANCES });\n }\n\n get clockOffset(): number {\n return this._clockOffset;\n }\n\n /**\n * Sets the clock offset and propagates it to all active RMM instances.\n * Called by the calibration effect in RMMRegistryProvider.\n */\n setClockOffset(offset: number): void {\n this._clockOffset = offset;\n for (const [, entry] of this._instances) {\n if (entry.refCount > 0 && !entry.destroying) {\n entry.rmm.clockOffset = offset;\n }\n }\n }\n\n getOrCreate(\n resourceType: string,\n resourceId: string,\n config: ResourceMutationManagerConfig,\n ): ResourceMutationManager {\n const key = this.keyFor(resourceType, resourceId);\n const existing = this._instances.get(key);\n\n if (existing && !existing.destroying) {\n if (existing.destroyTimer) {\n clearTimeout(existing.destroyTimer);\n existing.destroyTimer = null;\n logDebug('getOrCreate: cancelled pending destroy', { key });\n }\n const previousReadOperationPathKey = existing.rmm.readOperationPathKey;\n if (\n config.readOperationPathKey !== undefined\n && previousReadOperationPathKey !== undefined\n && config.readOperationPathKey !== previousReadOperationPathKey\n ) {\n logger.warn('RMMRegistry updating canonical read path on reused instance', {\n key,\n previousReadOperationPathKey,\n nextReadOperationPathKey: config.readOperationPathKey,\n });\n }\n existing.rmm.syncRuntimeRoutingConfig({\n transportAdapter: config.transportAdapter,\n currentUserId: config.currentUserId,\n contextResourceIdentifiers: config.contextResourceIdentifiers,\n contextualParameters: config.contextualParameters,\n parentResourcesRequirements: config.parentResourcesRequirements,\n operationPathKey: config.operationPathKey,\n readOperationPathKey: config.readOperationPathKey,\n conflictPolicy: config.conflictPolicy,\n resourceSchema: config.resourceSchema,\n resourceInheritance: config.resourceInheritance,\n });\n // Registry identity is resourceType + resourceId, not route instance. A\n // reused RMM therefore has to resync transport/context/read-path inputs on\n // every acquisition so navigation changes do not leave a live instance on\n // stale runtime routing.\n existing.refCount++;\n existing.lastAccessedAt = Date.now();\n\n logDebug('getOrCreate: reused', {\n key,\n refCount: existing.refCount,\n });\n\n this._emitActiveInstancesChanged();\n return existing.rmm;\n }\n\n if (existing?.destroying) {\n logDebug('getOrCreate: old instance mid-destroy, replacing', { key });\n this._instances.delete(key);\n }\n\n this._evictIfNeeded();\n\n const rmm = new ResourceMutationManager(config);\n if (this._clockOffset !== 0) {\n rmm.clockOffset = this._clockOffset;\n }\n this._instances.set(key, {\n rmm,\n refCount: 1,\n destroyTimer: null,\n lastAccessedAt: Date.now(),\n destroying: false,\n });\n\n logDebug('getOrCreate: created', {\n key,\n instanceCount: this._instances.size,\n });\n\n if (this._instances.size >= this.MAX_INSTANCES * RMM_REGISTRY_CAPACITY_WARNING) {\n logger.warn('RMMRegistry approaching capacity', {\n current: this._instances.size,\n max: this.MAX_INSTANCES,\n });\n }\n\n this._emitActiveInstancesChanged();\n return rmm;\n }\n\n get(resourceType: string, resourceId: string): ResourceMutationManager | undefined {\n return this._instances.get(this.keyFor(resourceType, resourceId))?.rmm;\n }\n\n /**\n * Returns all active (refCount > 0, not mid-destroy) RMM instances.\n * Used by RMMWebSocketBridge for reconnection version sync.\n */\n getActiveInstances(): Array<{ key: string; resourceType: string; resourceId: string; rmm: ResourceMutationManager }> {\n const active: ActiveInstancesSnapshot = [];\n for (const [key, entry] of this._instances) {\n if (entry.refCount > 0 && !entry.destroying) {\n const colonIdx = key.indexOf(':');\n if (colonIdx < 0) continue;\n const resourceType = key.substring(0, colonIdx);\n const resourceId = key.substring(colonIdx + 1);\n active.push({ key, resourceType, resourceId, rmm: entry.rmm });\n }\n }\n return active;\n }\n\n subscribeActiveInstances(\n listener: (instances: ActiveInstancesSnapshot) => void,\n ): () => void {\n this._activeInstanceListeners.add(listener);\n listener(this.getActiveInstances());\n return () => {\n this._activeInstanceListeners.delete(listener);\n };\n }\n\n notifyInstanceRuntimeChanged(): void {\n this._emitActiveInstancesChanged();\n }\n\n keyFor(resourceType: string, resourceId: string): string {\n return `${resourceType}:${resourceId}`;\n }\n\n release(key: string): void {\n const entry = this._instances.get(key);\n if (!entry) return;\n\n entry.refCount--;\n\n logDebug('release', { key, refCount: entry.refCount });\n\n if (entry.refCount <= 0) {\n entry.refCount = 0;\n if (!entry.destroyTimer) {\n entry.destroyTimer = setTimeout(() => {\n entry.destroyTimer = null;\n entry.destroying = true;\n logDebug('release: destroy timer fired', { key });\n\n entry.rmm.destroy()\n .then(() => this.remove(key))\n .catch(() => {\n logDebug('release: destroy failed, force-removing', { key });\n this.remove(key);\n });\n }, RMM_REGISTRY_DESTROY_DELAY_MS);\n }\n }\n this._emitActiveInstancesChanged();\n }\n\n remove(key: string): void {\n const entry = this._instances.get(key);\n if (!entry) return;\n\n if (entry.destroyTimer) {\n clearTimeout(entry.destroyTimer);\n }\n this._instances.delete(key);\n\n logDebug('remove', { key, remainingInstances: this._instances.size });\n this._emitActiveInstancesChanged();\n }\n\n destroy(): void {\n logDebug('destroy: cleaning up all instances', { count: this._instances.size });\n\n for (const [key, entry] of this._instances) {\n if (entry.destroyTimer) {\n clearTimeout(entry.destroyTimer);\n }\n entry.rmm.destroy().catch(() => {\n logDebug('destroy: instance cleanup failed', { key });\n });\n }\n this._instances.clear();\n this._emitActiveInstancesChanged();\n }\n\n /**\n * Evict the least-recently-used idle instance when at capacity.\n * Only entries with refCount === 0 are eligible. If no evictable entry\n * exists, log a warning but allow creation (soft limit).\n */\n private _evictIfNeeded(): void {\n if (this._instances.size < this.MAX_INSTANCES) return;\n\n let lruKey: string | null = null;\n let lruTime = Infinity;\n\n for (const [key, entry] of this._instances) {\n if (entry.refCount === 0 && entry.lastAccessedAt < lruTime) {\n lruKey = key;\n lruTime = entry.lastAccessedAt;\n }\n }\n\n if (lruKey) {\n const entry = this._instances.get(lruKey)!;\n if (entry.destroyTimer) {\n clearTimeout(entry.destroyTimer);\n }\n logDebug('_evictIfNeeded: evicting LRU', { key: lruKey, lastAccessedAt: lruTime });\n entry.rmm.destroy().catch(() => {\n logDebug('_evictIfNeeded: eviction cleanup failed', { key: lruKey });\n });\n this._instances.delete(lruKey);\n } else {\n logger.warn('RMMRegistry at capacity with no idle instances to evict', {\n instanceCount: this._instances.size,\n maxInstances: this.MAX_INSTANCES,\n });\n }\n }\n\n /**\n * Notify active-instance observers (today: `RMMWebSocketBridge`) that the live\n * RMM set — or an instance's runtime routing — changed.\n *\n * The notification is intentionally **deferred to a microtask**, never run\n * synchronously. The main caller, `getOrCreate`, is invoked from inside a React\n * `useMemo` in `useResourceRMM` — i.e. during the *render phase*. The bridge\n * observer reacts by claiming/releasing WebSocket rooms, which calls\n * `setSubscribedRooms` on the ancestor `WebSocketProvider`. Running that\n * synchronously is a `setState` on an ancestor *during a descendant's render*\n * — React's \"Cannot update a component while rendering a different component\"\n * violation, and the closing edge of a paced render loop that froze any surface\n * embedding an RMM-attached displayer (the todos CREATE route, which embeds a\n * composite read view, 2026-06-27). Deferring to a microtask moves the observer\n * side effects out of render, breaking the loop regardless of which upstream\n * dependency churns the acquiring memo.\n *\n * Emits are coalesced: many calls within one synchronous task (e.g. several\n * displayers acquiring instances in the same render pass) collapse into a\n * single post-task notification carrying the latest snapshot. The initial,\n * non-render-phase sync is still delivered synchronously by\n * `subscribeActiveInstances` at subscription time.\n */\n private _emitActiveInstancesChanged(): void {\n if (this._activeInstanceListeners.size === 0) {\n return;\n }\n if (this._activeInstancesEmitScheduled) {\n return;\n }\n this._activeInstancesEmitScheduled = true;\n queueMicrotask(() => {\n this._activeInstancesEmitScheduled = false;\n if (this._activeInstanceListeners.size === 0) {\n return;\n }\n const snapshot = this.getActiveInstances();\n for (const listener of this._activeInstanceListeners) {\n listener(snapshot);\n }\n });\n }\n}\n"]}
|
|
@@ -45,6 +45,8 @@ export declare class ResourceMutationManager {
|
|
|
45
45
|
private _allowSettledSelfEventRepair;
|
|
46
46
|
private _producedVersions;
|
|
47
47
|
private _crdtFieldNames;
|
|
48
|
+
/** The variant discriminator fields of a polymorphic resource, added to every body this manager builds when it sends. */
|
|
49
|
+
private _discriminatorFieldNames;
|
|
48
50
|
private _fieldMeta;
|
|
49
51
|
private _pendingFieldTimestamps;
|
|
50
52
|
private _lastIssuedLocalTimestamp;
|
|
@@ -87,6 +89,7 @@ export declare class ResourceMutationManager {
|
|
|
87
89
|
readOperationPathKey?: string;
|
|
88
90
|
conflictPolicy?: ResourceMutationManagerConfig['conflictPolicy'];
|
|
89
91
|
resourceSchema?: ResourceMutationManagerConfig['resourceSchema'];
|
|
92
|
+
resourceInheritance?: ResourceMutationManagerConfig['resourceInheritance'];
|
|
90
93
|
}): void;
|
|
91
94
|
/**
|
|
92
95
|
* May be called multiple times (e.g., on refetch or WS reconnection).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceMutationManager.d.ts","sourceRoot":"","sources":["../../../../../../src/core/resources/rmm/ResourceMutationManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAEV,WAAW,EACX,6BAA6B,EAC7B,kBAAkB,EAClB,cAAc,EACd,cAAc,EAQf,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ResourceMutationManager.d.ts","sourceRoot":"","sources":["../../../../../../src/core/resources/rmm/ResourceMutationManager.ts"],"names":[],"mappings":"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"}
|