@datalayer/core 1.1.60 → 1.2.10
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/README.md +41 -18
- package/lib/api/DatalayerApi.d.ts +42 -1
- package/lib/api/DatalayerApi.js +90 -3
- package/lib/api/constants.d.ts +19 -1
- package/lib/api/constants.js +19 -1
- package/lib/api/contents/attachments.d.ts +9 -0
- package/lib/api/contents/attachments.js +39 -0
- package/lib/api/contents/bridges.d.ts +22 -0
- package/lib/api/contents/bridges.js +79 -0
- package/lib/api/contents/capabilities.d.ts +11 -0
- package/lib/api/contents/capabilities.js +21 -0
- package/lib/api/contents/cloudStorage.d.ts +31 -0
- package/lib/api/contents/cloudStorage.js +89 -0
- package/lib/api/contents/dataservers.d.ts +37 -0
- package/lib/api/contents/dataservers.js +121 -0
- package/lib/api/contents/datasets.d.ts +63 -0
- package/lib/api/contents/datasets.js +82 -0
- package/lib/api/contents/datasources.d.ts +70 -0
- package/lib/api/contents/datasources.js +149 -0
- package/lib/api/contents/generated.d.ts +1070 -0
- package/lib/api/contents/index.d.ts +16 -0
- package/lib/api/contents/index.js +20 -0
- package/lib/api/contents/mcp.d.ts +46 -0
- package/lib/api/contents/mcp.js +157 -0
- package/lib/api/contents/objects.d.ts +31 -0
- package/lib/api/contents/objects.js +88 -0
- package/lib/api/contents/operations.d.ts +3 -0
- package/lib/api/contents/operations.js +19 -0
- package/lib/api/contents/runtimeMounts.d.ts +40 -0
- package/lib/api/contents/runtimeMounts.js +59 -0
- package/lib/api/contents/sandboxUid.d.ts +21 -0
- package/lib/api/contents/sandboxUid.js +27 -0
- package/lib/api/contents/sources.d.ts +19 -0
- package/lib/api/contents/sources.js +119 -0
- package/lib/api/contents/sync.d.ts +18 -0
- package/lib/api/contents/sync.js +69 -0
- package/lib/api/contents/transfers.d.ts +38 -0
- package/lib/api/contents/transfers.js +123 -0
- package/lib/api/evals/client.d.ts +402 -0
- package/lib/api/evals/client.js +359 -0
- package/lib/api/evals/index.d.ts +10 -0
- package/lib/api/evals/index.js +18 -0
- package/lib/api/evals/request.d.ts +43 -0
- package/lib/api/evals/request.js +67 -0
- package/lib/api/evals/status.d.ts +27 -0
- package/lib/api/evals/status.js +122 -0
- package/lib/api/evals/types.d.ts +1335 -0
- package/lib/api/evals/types.js +5 -0
- package/lib/api/iam/connectedAgents.d.ts +68 -0
- package/lib/api/iam/connectedAgents.js +87 -0
- package/lib/api/iam/identityProviders.d.ts +76 -0
- package/lib/api/iam/identityProviders.js +187 -0
- package/lib/api/iam/index.d.ts +3 -1
- package/lib/api/iam/index.js +3 -1
- package/lib/api/iam/mcpAlertRules.d.ts +51 -0
- package/lib/api/iam/mcpAlertRules.js +198 -0
- package/lib/api/iam/mcpAuditSettings.d.ts +46 -0
- package/lib/api/iam/mcpAuditSettings.js +120 -0
- package/lib/api/iam/mcpPolicy.d.ts +181 -0
- package/lib/api/iam/mcpPolicy.js +168 -0
- package/lib/api/iam/organizationTeams.d.ts +13 -0
- package/lib/api/iam/organizationTeams.js +43 -0
- package/lib/api/iam/profile.d.ts +17 -1
- package/lib/api/iam/profile.js +27 -0
- package/lib/api/iam/scimTokens.d.ts +79 -0
- package/lib/api/iam/scimTokens.js +141 -0
- package/lib/api/iam/secrets.js +9 -21
- package/lib/api/iam/serviceAgents.d.ts +68 -0
- package/lib/api/iam/serviceAgents.js +119 -0
- package/lib/api/iam/trials.d.ts +38 -0
- package/lib/api/iam/trials.js +66 -0
- package/lib/api/index.d.ts +8 -1
- package/lib/api/index.js +7 -1
- package/lib/api/mcp/activity.d.ts +37 -0
- package/lib/api/mcp/activity.js +26 -0
- package/lib/api/mcp/alerts.d.ts +25 -0
- package/lib/api/mcp/alerts.js +51 -0
- package/lib/api/mcp/audit.d.ts +29 -0
- package/lib/api/mcp/audit.js +55 -0
- package/lib/api/mcp/bindings.d.ts +18 -0
- package/lib/api/mcp/bindings.js +42 -0
- package/lib/api/mcp/forwarding.d.ts +25 -0
- package/lib/api/mcp/forwarding.js +46 -0
- package/lib/api/mcp/gateway.d.ts +16 -0
- package/lib/api/mcp/gateway.js +70 -0
- package/lib/api/mcp/generated.d.ts +22 -0
- package/lib/api/mcp/generated.js +213 -0
- package/lib/api/mcp/index.d.ts +17 -0
- package/lib/api/mcp/index.js +25 -0
- package/lib/api/mcp/observability.d.ts +141 -0
- package/lib/api/mcp/observability.js +267 -0
- package/lib/api/mcp/operations.d.ts +83 -0
- package/lib/api/mcp/operations.js +50 -0
- package/lib/api/mcp/organizations.d.ts +102 -0
- package/lib/api/mcp/organizations.js +46 -0
- package/lib/api/mcp/policy.d.ts +9 -0
- package/lib/api/mcp/policy.js +23 -0
- package/lib/api/mcp/tasks.d.ts +49 -0
- package/lib/api/mcp/tasks.js +147 -0
- package/lib/api/orchestration/client.d.ts +53 -0
- package/lib/api/orchestration/client.js +105 -0
- package/lib/api/orchestration/events.d.ts +88 -0
- package/lib/api/orchestration/events.js +245 -0
- package/lib/api/orchestration/generated.d.ts +693 -0
- package/lib/api/orchestration/generated.js +687 -0
- package/lib/api/orchestration/index.d.ts +30 -0
- package/lib/api/orchestration/index.js +34 -0
- package/lib/api/orchestration/lifecycle.d.ts +39 -0
- package/lib/api/orchestration/lifecycle.js +57 -0
- package/lib/api/orchestration/measures.d.ts +55 -0
- package/lib/api/orchestration/measures.js +99 -0
- package/lib/api/otel/dashboards.d.ts +56 -0
- package/lib/api/otel/dashboards.js +50 -0
- package/lib/api/otel/index.d.ts +1 -0
- package/lib/api/otel/index.js +1 -0
- package/lib/api/otel/metrics.d.ts +16 -0
- package/lib/api/otel/metrics.js +15 -0
- package/lib/api/scheduler/client.d.ts +32 -0
- package/lib/api/scheduler/client.js +42 -0
- package/lib/api/scheduler/index.d.ts +8 -0
- package/lib/api/scheduler/index.js +16 -0
- package/lib/api/scheduler/request.d.ts +28 -0
- package/lib/api/scheduler/request.js +50 -0
- package/lib/api/scheduler/types.d.ts +88 -0
- package/lib/api/scheduler/types.js +5 -0
- package/lib/api/spacer/comments.d.ts +97 -0
- package/lib/api/spacer/comments.js +45 -0
- package/lib/api/spacer/index.d.ts +9 -0
- package/lib/api/spacer/index.js +17 -0
- package/lib/api/spacer/notebooks.d.ts +33 -0
- package/lib/api/spacer/notebooks.js +39 -0
- package/lib/api/spacer/request.d.ts +25 -0
- package/lib/api/spacer/request.js +46 -0
- package/lib/api/spacer/spaces.d.ts +68 -0
- package/lib/api/spacer/spaces.js +45 -0
- package/lib/api/utils/validation.d.ts +4 -4
- package/lib/api/utils/validation.js +10 -7
- package/lib/client/auth/index.js +0 -5
- package/lib/client/auth/storage.js +0 -5
- package/lib/client/auth/strategies.js +0 -5
- package/lib/client/base.d.ts +6 -0
- package/lib/client/base.js +8 -0
- package/lib/client/constants.d.ts +1 -0
- package/lib/client/constants.js +1 -0
- package/lib/client/index.d.ts +0 -10
- package/lib/client/index.js +2 -2
- package/lib/client/mixins/ContentsMixin.d.ts +71 -0
- package/lib/client/mixins/ContentsMixin.js +157 -0
- package/lib/client/mixins/IAMMixin.d.ts +0 -31
- package/lib/client/mixins/IAMMixin.js +0 -58
- package/lib/components/animation/AnimatedText.d.ts +2 -44
- package/lib/components/animation/AnimatedText.js +6 -126
- package/lib/components/anonymous/AnonymousKeyExpired.d.ts +56 -0
- package/lib/components/anonymous/AnonymousKeyExpired.js +96 -0
- package/lib/components/anonymous/AnonymousKeyTimer.d.ts +63 -0
- package/lib/components/anonymous/AnonymousKeyTimer.js +140 -0
- package/lib/components/anonymous/index.d.ts +7 -0
- package/lib/components/anonymous/index.js +15 -0
- package/lib/components/auth/SigInAPIKey.d.ts +1 -0
- package/lib/components/auth/SigInAPIKey.js +0 -6
- package/lib/components/auth/SignIn.d.ts +1 -0
- package/lib/components/auth/SignIn.js +0 -4
- package/lib/components/auth/SignIn.stories.d.ts +2 -2
- package/lib/components/avatars/BoringAvatar.d.ts +1 -1
- package/lib/components/avatars/BoringAvatar.stories.d.ts +1 -1
- package/lib/components/avatars/DLAvatar.d.ts +1 -1
- package/lib/components/avatars/DLAvatar.js +0 -4
- package/lib/components/avatars/UserAvatar.d.ts +16 -1
- package/lib/components/avatars/UserAvatar.js +15 -13
- package/lib/components/avatars/UserProfileAvatar.d.ts +1 -1
- package/lib/components/banners/NoAutomationBanner.d.ts +1 -1
- package/lib/components/billing/BillingEntitySelect.d.ts +16 -0
- package/lib/components/billing/BillingEntitySelect.js +49 -27
- package/lib/components/billing/eligibility.d.ts +22 -0
- package/lib/components/billing/eligibility.js +27 -0
- package/lib/components/billing/index.d.ts +1 -0
- package/lib/components/billing/index.js +1 -4
- package/lib/components/buttons/DownloadCSVButton.d.ts +1 -1
- package/lib/components/buttons/DownloadJsonButton.d.ts +1 -1
- package/lib/components/buttons/LongActionButton.d.ts +1 -0
- package/lib/components/buttons/LongActionButton.js +0 -4
- package/lib/components/buttons/UploadButton.d.ts +1 -0
- package/lib/components/buttons/UploadButton.js +0 -4
- package/lib/components/checkout/StripeCheckout.d.ts +1 -1
- package/lib/components/collaboration/LiveEditorCollaborators.d.ts +36 -0
- package/lib/components/collaboration/LiveEditorCollaborators.js +88 -53
- package/lib/components/collaboration/index.js +0 -4
- package/lib/components/confetti/ConfettiSuccess.d.ts +1 -1
- package/lib/components/contents/ContentSourceCard.d.ts +8 -0
- package/lib/components/contents/ContentSourceCard.js +23 -0
- package/lib/components/contents/HomeFolderObjectsBrowser.d.ts +10 -0
- package/lib/components/contents/HomeFolderObjectsBrowser.js +148 -0
- package/lib/components/contents/index.d.ts +2 -0
- package/lib/components/contents/index.js +6 -0
- package/lib/components/context/OrganizationSelect.d.ts +1 -1
- package/lib/components/display/AvatarSkeleton.d.ts +1 -1
- package/lib/components/display/BusyDots.d.ts +1 -1
- package/lib/components/display/CenteredSpinner.d.ts +1 -1
- package/lib/components/display/CodePreview.d.ts +1 -1
- package/lib/components/display/DatalayerBox.d.ts +7 -3
- package/lib/components/display/DatalayerBox.js +7 -7
- package/lib/components/display/HorizontalCenter.d.ts +1 -1
- package/lib/components/display/JupyterDialog.d.ts +1 -0
- package/lib/components/display/JupyterDialog.js +1 -7
- package/lib/components/display/Markdown.d.ts +1 -0
- package/lib/components/display/NavLink.js +3 -2
- package/lib/components/display/NotebookSkeleton.d.ts +1 -1
- package/lib/components/display/Placeholder.d.ts +1 -1
- package/lib/components/display/ToTopBranded.d.ts +1 -1
- package/lib/components/echarts/EChartsReact.d.ts +1 -1
- package/lib/components/flashes/FlashClosable.d.ts +1 -0
- package/lib/components/flashes/FlashClosable.js +0 -4
- package/lib/components/flashes/FlashGuest.d.ts +1 -1
- package/lib/components/flashes/FlashSurveys.d.ts +1 -1
- package/lib/components/flashes/FlashUnauthorized.d.ts +1 -0
- package/lib/components/flashes/FlashUnauthorized.js +0 -6
- package/lib/components/flashes/surveys/Survey2025_1.d.ts +1 -1
- package/lib/components/iam/ExternalTokenSilentLogin.d.ts +1 -1
- package/lib/components/index.d.ts +2 -0
- package/lib/components/index.js +2 -0
- package/lib/components/labels/StatusLabels.d.ts +2 -9
- package/lib/components/labels/StatusLabels.js +2 -26
- package/lib/components/labels/VisibilityLabel.d.ts +1 -1
- package/lib/components/landings/StepBlock.d.ts +1 -1
- package/lib/components/mcp/ClientBadge.d.ts +41 -0
- package/lib/components/mcp/ClientBadge.js +33 -0
- package/lib/components/mcp/McpErrorBlankslate.d.ts +21 -0
- package/lib/components/mcp/McpErrorBlankslate.js +17 -0
- package/lib/components/mcp/ScopeList.d.ts +28 -0
- package/lib/components/mcp/ScopeList.js +14 -0
- package/lib/components/mcp/index.d.ts +10 -0
- package/lib/components/mcp/index.js +18 -0
- package/lib/components/navbar/NavigationVisbilityObserver.d.ts +2 -1
- package/lib/components/navbar/SubdomainNavBar.d.ts +10 -5
- package/lib/components/navbar/SubdomainNavBar.js +2 -1
- package/lib/components/notebooks/JupyterNotebook.d.ts +1 -1
- package/lib/components/notebooks/JupyterNotebookToolbar.d.ts +1 -1
- package/lib/components/principal/PrincipalAppearance.d.ts +22 -42
- package/lib/components/principal/PrincipalAppearance.js +232 -182
- package/lib/components/principal/PrincipalAvatar.d.ts +9 -1
- package/lib/components/principal/PrincipalAvatar.js +18 -10
- package/lib/components/principal/PrincipalBadge.d.ts +1 -1
- package/lib/components/principal/PrincipalBanner.d.ts +1 -1
- package/lib/components/principal/PrincipalDetailsOverlay.d.ts +38 -1
- package/lib/components/principal/PrincipalDetailsOverlay.js +64 -33
- package/lib/components/principal/PrincipalHoverCard.d.ts +31 -0
- package/lib/components/principal/PrincipalHoverCard.js +52 -0
- package/lib/components/principal/PrincipalSwitcherMenu.d.ts +1 -0
- package/lib/components/principal/PrincipalSwitcherMenu.js +5 -14
- package/lib/components/principal/index.d.ts +2 -1
- package/lib/components/principal/index.js +2 -1
- package/lib/components/progress/ConsumptionBar.d.ts +1 -0
- package/lib/components/progress/ConsumptionBar.js +0 -4
- package/lib/components/progress/ProgressRing.d.ts +1 -0
- package/lib/components/progress/SpinnerBar.d.ts +1 -1
- package/lib/components/progress/Timer.d.ts +1 -0
- package/lib/components/progress/Timer.js +0 -4
- package/lib/components/screencapture/Screencapture.js +46 -3
- package/lib/components/screencapture/ScreencaptureButton.d.ts +1 -1
- package/lib/components/sharing/ShareAccessComponent.d.ts +58 -3
- package/lib/components/sharing/ShareAccessComponent.js +143 -98
- package/lib/components/sharing/SharingEditor.d.ts +21 -0
- package/lib/components/sharing/SharingEditor.js +9 -28
- package/lib/components/sharing/index.d.ts +1 -0
- package/lib/components/sharing/index.js +1 -0
- package/lib/components/sharing/sandboxSharing.d.ts +26 -0
- package/lib/components/sharing/sandboxSharing.js +41 -0
- package/lib/components/spaces/SpaceDetailsOverlay.d.ts +39 -0
- package/lib/components/spaces/SpaceDetailsOverlay.js +80 -0
- package/lib/components/spaces/SpaceDisplay.d.ts +38 -0
- package/lib/components/spaces/SpaceDisplay.js +92 -0
- package/lib/components/spaces/index.d.ts +4 -0
- package/lib/components/spaces/index.js +7 -0
- package/lib/components/spaces/spaceDisplayModel.d.ts +93 -0
- package/lib/components/spaces/spaceDisplayModel.js +170 -0
- package/lib/components/sparklines/Sparklines.js +3 -4
- package/lib/components/sparklines/index.js +0 -4
- package/lib/components/storage/ContentsBrowser.d.ts +25 -1
- package/lib/components/storage/ContentsBrowser.js +145 -52
- package/lib/components/storage/ContentsBrowserMock.d.ts +3 -0
- package/lib/components/storage/ContentsBrowserMock.js +75 -0
- package/lib/components/storage/ContentsItems.d.ts +2 -1
- package/lib/components/storage/ContentsItems.js +0 -4
- package/lib/components/storage/ContentsTable.d.ts +50 -0
- package/lib/components/storage/ContentsTable.js +134 -0
- package/lib/components/storage/HomeFolderDrive.d.ts +71 -0
- package/lib/components/storage/HomeFolderDrive.js +248 -0
- package/lib/components/storage/index.d.ts +2 -0
- package/lib/components/storage/index.js +2 -0
- package/lib/components/students/StudentItemStatus.d.ts +1 -1
- package/lib/components/students/StudentResultCircle.d.ts +1 -1
- package/lib/components/subnav/SubNav.d.ts +5 -5
- package/lib/components/subnav/SubNav.js +11 -9
- package/lib/components/tables/DataTable.d.ts +1 -1
- package/lib/components/text-reveal/TextRevealAnimation.d.ts +2 -2
- package/lib/components/text-reveal/useTextRevealAnimationLines.d.ts +1 -1
- package/lib/components/time/LiveRelativeTime.d.ts +1 -0
- package/lib/components/time/LiveRelativeTime.js +0 -8
- package/lib/components/time/index.js +0 -4
- package/lib/components/timeline/Timeline.d.ts +1 -1
- package/lib/components/timeline/index.js +0 -4
- package/lib/components/users/PeerIndicator.d.ts +1 -0
- package/lib/components/users/PeerIndicator.js +0 -4
- package/lib/config/Configuration.d.ts +15 -17
- package/lib/config/Configuration.js +7 -0
- package/lib/hooks/cacheConverters.d.ts +0 -7
- package/lib/hooks/cacheConverters.js +0 -25
- package/lib/hooks/index.d.ts +3 -0
- package/lib/hooks/index.js +3 -0
- package/lib/hooks/layouts/LayoutBackdrop.d.ts +1 -1
- package/lib/hooks/layouts/LayoutScreencapture.d.ts +1 -1
- package/lib/hooks/useBackdrop.d.ts +1 -1
- package/lib/hooks/useBackdropJupyterLab.d.ts +3 -2
- package/lib/hooks/useBackdropJupyterLab.js +0 -4
- package/lib/hooks/useBillingEntityStore.js +3 -0
- package/lib/hooks/useCache.d.ts +478 -130
- package/lib/hooks/useCache.js +1580 -676
- package/lib/hooks/useContainsFocus.d.ts +1 -1
- package/lib/hooks/useContents.d.ts +334 -0
- package/lib/hooks/useContents.js +1033 -0
- package/lib/hooks/useFocusTrap.d.ts +4 -4
- package/lib/hooks/useFocusTrap.js +1 -1
- package/lib/hooks/useMcp.d.ts +315 -0
- package/lib/hooks/useMcp.js +891 -0
- package/lib/hooks/useMobile.js +0 -5
- package/lib/hooks/useNavigate.d.ts +41 -3
- package/lib/hooks/useNavigate.js +106 -52
- package/lib/hooks/usePrincipalCacheStore.js +3 -0
- package/lib/hooks/usePrincipalStore.js +3 -0
- package/lib/hooks/useProjectStore.d.ts +3 -3
- package/lib/hooks/useProjectStore.js +4 -4
- package/lib/hooks/useRef.d.ts +1 -1
- package/lib/hooks/useRef.js +3 -0
- package/lib/hooks/useScreencapture.d.ts +2 -1
- package/lib/hooks/useScreencapture.js +0 -4
- package/lib/hooks/useSpaceCacheStore.d.ts +50 -0
- package/lib/hooks/useSpaceCacheStore.js +85 -0
- package/lib/hooks/useToast.js +0 -4
- package/lib/hooks/useVisibilityObserver.d.ts +1 -1
- package/lib/index.d.ts +4 -1
- package/lib/index.js +3 -1
- package/lib/mocks/components/FlashMock.d.ts +1 -1
- package/lib/mocks/views/ActionMenuMock.d.ts +1 -1
- package/lib/mocks/views/ChartMock.d.ts +1 -1
- package/lib/mocks/views/DashboardMock.d.ts +1 -1
- package/lib/mocks/views/FormMock.d.ts +1 -1
- package/lib/mocks/views/TableMock.d.ts +1 -1
- package/lib/mocks/views/WipMock.d.ts +1 -1
- package/lib/models/Credits.d.ts +16 -0
- package/lib/models/Credits.js +22 -0
- package/lib/models/CreditsDTO.d.ts +6 -5
- package/lib/models/CreditsDTO.js +7 -5
- package/lib/models/McpAuditEvent.d.ts +52 -0
- package/lib/models/McpAuditEvent.js +5 -0
- package/lib/models/McpBinding.d.ts +57 -0
- package/lib/models/McpBinding.js +5 -0
- package/lib/models/McpPolicy.d.ts +77 -0
- package/lib/models/McpPolicy.js +5 -0
- package/lib/models/McpTask.d.ts +94 -0
- package/lib/models/McpTask.js +7 -0
- package/lib/models/Organization.d.ts +69 -0
- package/lib/models/Organization.js +96 -0
- package/lib/models/Secret.d.ts +1 -2
- package/lib/models/Secret.js +2 -18
- package/lib/models/StartedBy.d.ts +91 -0
- package/lib/models/StartedBy.js +117 -0
- package/lib/models/Team.d.ts +2 -0
- package/lib/models/Team.js +2 -0
- package/lib/models/User.d.ts +4 -0
- package/lib/models/User.js +3 -0
- package/lib/models/UserDTO.js +4 -2
- package/lib/models/UserSettings.d.ts +13 -0
- package/lib/models/UserSettings.js +9 -0
- package/lib/models/contents/__fixtures__/solr-codec.json +57 -0
- package/lib/models/contents/__fixtures__/v1-contracts.json +194 -0
- package/lib/models/contents/fieldCase.d.ts +8 -0
- package/lib/models/contents/fieldCase.js +37 -0
- package/lib/models/contents/index.d.ts +2 -0
- package/lib/models/contents/index.js +6 -0
- package/lib/models/contents/permissions.d.ts +16 -0
- package/lib/models/contents/permissions.js +34 -0
- package/lib/models/index.d.ts +5 -1
- package/lib/models/index.js +5 -1
- package/lib/navigation/components.js +2 -3
- package/lib/routes/publicPaths.js +4 -0
- package/lib/state/index.d.ts +1 -0
- package/lib/state/index.js +1 -0
- package/lib/state/sessionEnd.d.ts +55 -0
- package/lib/state/sessionEnd.js +162 -0
- package/lib/state/substates/CoreState.d.ts +15 -7
- package/lib/state/substates/CoreState.js +21 -17
- package/lib/state/substates/IAMState.d.ts +1 -1
- package/lib/state/substates/IAMState.js +12 -5
- package/lib/state/substates/LayoutState.js +12 -0
- package/lib/state/substates/ProfileState.d.ts +1 -0
- package/lib/state/substates/ProfileState.js +1 -4
- package/lib/state/substates/index.d.ts +0 -1
- package/lib/state/substates/index.js +0 -1
- package/lib/utils/Jwt.d.ts +26 -0
- package/lib/utils/Jwt.js +37 -0
- package/lib/utils/Lazy.d.ts +20 -0
- package/lib/utils/Lazy.js +32 -6
- package/lib/utils/Screencapture.js +3 -0
- package/lib/utils/WithSuspense.d.ts +11 -1
- package/lib/utils/WithSuspense.js +11 -1
- package/lib/views/api-keys/APIKeyEdit.d.ts +1 -1
- package/lib/views/api-keys/APIKeyNew.d.ts +1 -1
- package/lib/views/api-keys/APIKeys.d.ts +1 -1
- package/lib/views/api-keys/APIKeys.js +30 -4
- package/lib/views/api-keys/APIKeysStandalone.d.ts +5 -1
- package/lib/views/api-keys/APIKeysStandalone.js +2 -2
- package/lib/views/datasources/DatasourceDetail.d.ts +12 -5
- package/lib/views/datasources/DatasourceDetail.js +80 -110
- package/lib/views/datasources/DatasourceNew.d.ts +14 -8
- package/lib/views/datasources/DatasourceNew.js +129 -118
- package/lib/views/datasources/Datasources.d.ts +39 -7
- package/lib/views/datasources/Datasources.js +95 -40
- package/lib/views/datasources/DatasourcesMock.d.ts +3 -0
- package/lib/views/datasources/DatasourcesMock.js +57 -0
- package/lib/views/iam/SignInSimple.d.ts +12 -0
- package/lib/views/iam/SignInSimple.js +4 -4
- package/lib/views/index.d.ts +1 -0
- package/lib/views/index.js +1 -0
- package/lib/views/mcp/AdmittedClients.d.ts +44 -0
- package/lib/views/mcp/AdmittedClients.js +59 -0
- package/lib/views/mcp/AlertDestinations.d.ts +34 -0
- package/lib/views/mcp/AlertDestinations.js +75 -0
- package/lib/views/mcp/AlertRules.d.ts +32 -0
- package/lib/views/mcp/AlertRules.js +245 -0
- package/lib/views/mcp/ApprovalQueue.d.ts +66 -0
- package/lib/views/mcp/ApprovalQueue.js +95 -0
- package/lib/views/mcp/AuditLog.d.ts +42 -0
- package/lib/views/mcp/AuditLog.js +144 -0
- package/lib/views/mcp/ConnectedAgents.d.ts +34 -0
- package/lib/views/mcp/ConnectedAgents.js +135 -0
- package/lib/views/mcp/EnterpriseConsole.d.ts +74 -0
- package/lib/views/mcp/EnterpriseConsole.js +195 -0
- package/lib/views/mcp/IdentityProviders.d.ts +33 -0
- package/lib/views/mcp/IdentityProviders.js +299 -0
- package/lib/views/mcp/McpDashboard.d.ts +50 -0
- package/lib/views/mcp/McpDashboard.js +430 -0
- package/lib/views/mcp/McpHome.d.ts +92 -0
- package/lib/views/mcp/McpHome.js +153 -0
- package/lib/views/mcp/McpObservability.d.ts +79 -0
- package/lib/views/mcp/McpObservability.js +236 -0
- package/lib/views/mcp/NotebookRuns.d.ts +39 -0
- package/lib/views/mcp/NotebookRuns.js +44 -0
- package/lib/views/mcp/OrganizationPolicy.d.ts +45 -0
- package/lib/views/mcp/OrganizationPolicy.js +108 -0
- package/lib/views/mcp/OrganizationUsage.d.ts +69 -0
- package/lib/views/mcp/OrganizationUsage.js +113 -0
- package/lib/views/mcp/PersonalPolicy.d.ts +54 -0
- package/lib/views/mcp/PersonalPolicy.js +126 -0
- package/lib/views/mcp/Policies.d.ts +53 -0
- package/lib/views/mcp/Policies.js +210 -0
- package/lib/views/mcp/PolicyForm.d.ts +83 -0
- package/lib/views/mcp/PolicyForm.js +113 -0
- package/lib/views/mcp/PolicyHistory.d.ts +58 -0
- package/lib/views/mcp/PolicyHistory.js +75 -0
- package/lib/views/mcp/RunDetail.d.ts +87 -0
- package/lib/views/mcp/RunDetail.js +186 -0
- package/lib/views/mcp/ScimProvisioning.d.ts +54 -0
- package/lib/views/mcp/ScimProvisioning.js +173 -0
- package/lib/views/mcp/ServiceAgents.d.ts +46 -0
- package/lib/views/mcp/ServiceAgents.js +194 -0
- package/lib/views/mcp/TeamPolicies.d.ts +33 -0
- package/lib/views/mcp/TeamPolicies.js +159 -0
- package/lib/views/mcp/ToolAccess.d.ts +60 -0
- package/lib/views/mcp/ToolAccess.js +101 -0
- package/lib/views/mcp/TraceTimeline.d.ts +81 -0
- package/lib/views/mcp/TraceTimeline.js +132 -0
- package/lib/views/mcp/format.d.ts +25 -0
- package/lib/views/mcp/format.js +77 -0
- package/lib/views/mcp/index.d.ts +34 -0
- package/lib/views/mcp/index.js +42 -0
- package/lib/views/mcp/types.d.ts +66 -0
- package/lib/views/mcp/types.js +5 -0
- package/lib/views/otel/simpleAuthStore.js +3 -0
- package/lib/views/secrets/SecretEdit.d.ts +5 -1
- package/lib/views/secrets/SecretEdit.js +5 -4
- package/lib/views/secrets/SecretNew.d.ts +11 -1
- package/lib/views/secrets/SecretNew.js +7 -3
- package/lib/views/secrets/Secrets.d.ts +12 -1
- package/lib/views/secrets/Secrets.js +2 -2
- package/package.json +269 -260
- package/scripts/generate-contents-types.py +169 -0
- package/scripts/generate-mcp-types.py +233 -0
- package/scripts/generate-orchestration-types.py +920 -0
- package/lib/api/iam/datasources.d.ts +0 -86
- package/lib/api/iam/datasources.js +0 -185
- package/lib/components/toolbars/index.d.ts +0 -1
- package/lib/models/Datasource.d.ts +0 -181
- package/lib/models/Datasource.js +0 -154
- package/lib/state/substates/DatasourceState.d.ts +0 -11
- package/lib/state/substates/DatasourceState.js +0 -16
- /package/lib/{components/toolbars/index.js → api/contents/generated.js} +0 -0
|
@@ -2,8 +2,4 @@
|
|
|
2
2
|
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (c) 2023-2026 Datalayer, Inc.
|
|
7
|
-
* Distributed under the terms of the Modified BSD License.
|
|
8
|
-
*/
|
|
9
5
|
export * from './LiveEditorCollaborators.js';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const ConfettiSuccess: () => import("react
|
|
1
|
+
export declare const ConfettiSuccess: () => import("react").JSX.Element;
|
|
2
2
|
export default ConfettiSuccess;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CatalogSource } from '../../api/contents';
|
|
2
|
+
export type ContentSourceCardProps = {
|
|
3
|
+
item: CatalogSource;
|
|
4
|
+
onOpen?: (sourceUid: string) => void;
|
|
5
|
+
};
|
|
6
|
+
/** Compact, host-neutral catalog row shared by Datalayer clients. */
|
|
7
|
+
export declare const ContentSourceCard: ({ item, onOpen }: ContentSourceCardProps) => import("react").JSX.Element;
|
|
8
|
+
export default ContentSourceCard;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
4
|
+
* Distributed under the terms of the Modified BSD License.
|
|
5
|
+
*/
|
|
6
|
+
import { Label, Text } from '@primer/react';
|
|
7
|
+
import { Box } from '@datalayer/primer-addons';
|
|
8
|
+
import { contentSourceEffectiveRole, contentSourceLabel, } from '../../models/contents/index.js';
|
|
9
|
+
/** Compact, host-neutral catalog row shared by Datalayer clients. */
|
|
10
|
+
export const ContentSourceCard = ({ item, onOpen }) => (_jsx(Box, { as: "li", onClick: () => onOpen?.(item.source.uid), sx: {
|
|
11
|
+
p: 3,
|
|
12
|
+
borderBottom: '1px solid',
|
|
13
|
+
borderColor: 'border.muted',
|
|
14
|
+
cursor: onOpen ? 'pointer' : 'default',
|
|
15
|
+
':last-child': { borderBottom: 0 },
|
|
16
|
+
':hover': onOpen ? { bg: 'canvas.subtle' } : undefined,
|
|
17
|
+
}, children: _jsxs(Box, { sx: { display: 'flex', justifyContent: 'space-between', gap: 3 }, children: [_jsxs(Box, { sx: { minWidth: 0 }, children: [_jsx(Text, { sx: { fontWeight: 600 }, children: item.source.name }), _jsx(Text, { as: "p", sx: { color: 'fg.muted', fontSize: 0, m: 0, mt: 1 }, children: item.source.description || contentSourceLabel(item.source.kind) }), _jsx(Text, { as: "p", sx: { color: 'fg.subtle', fontSize: 0, m: 0, mt: 1 }, children: item.source.uid })] }), _jsxs(Box, { sx: {
|
|
18
|
+
display: 'flex',
|
|
19
|
+
alignItems: 'center',
|
|
20
|
+
gap: 2,
|
|
21
|
+
flexShrink: 0,
|
|
22
|
+
}, children: [_jsx(Label, { children: contentSourceLabel(item.source.kind) }), _jsx(Label, { variant: item.source.status === 'ready' ? 'success' : 'secondary', children: item.source.status }), _jsx(Label, { variant: "accent", children: contentSourceEffectiveRole(item) })] })] }) }));
|
|
23
|
+
export default ContentSourceCard;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ContentObject } from '../../api/contents';
|
|
2
|
+
export type HomeFolderObjectsBrowserProps = {
|
|
3
|
+
prefix?: string;
|
|
4
|
+
selectedObjectUids?: readonly string[];
|
|
5
|
+
onSelectedObjectsChange?: (objects: ContentObject[]) => void;
|
|
6
|
+
selectionDisabled?: boolean;
|
|
7
|
+
};
|
|
8
|
+
/** Browser for the server-managed Home Folder metadata and version history. */
|
|
9
|
+
export declare const HomeFolderObjectsBrowser: ({ prefix, selectedObjectUids, onSelectedObjectsChange, selectionDisabled }: HomeFolderObjectsBrowserProps) => import("react").JSX.Element;
|
|
10
|
+
export default HomeFolderObjectsBrowser;
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
4
|
+
* Distributed under the terms of the Modified BSD License.
|
|
5
|
+
*/
|
|
6
|
+
import { useRef, useState } from 'react';
|
|
7
|
+
import { Button, Checkbox, Heading, Label, ProgressBar, Spinner, Text, } from '@primer/react';
|
|
8
|
+
import { DownloadIcon, FileIcon, HistoryIcon, SyncIcon, TrashIcon, UploadIcon, } from '@primer/octicons-react';
|
|
9
|
+
import { Box } from '@datalayer/primer-addons';
|
|
10
|
+
import { useDeleteHomeFolderObject, useDownloadHomeFolderObject, useRestoreHomeFolderObject, useUploadHomeFolderFile, useHomeFolderObjects, useHomeFolderObjectVersions, } from '../../hooks/useContents.js';
|
|
11
|
+
const formatBytes = (bytes) => {
|
|
12
|
+
if (bytes < 1024)
|
|
13
|
+
return `${bytes} B`;
|
|
14
|
+
if (bytes < 1024 ** 2)
|
|
15
|
+
return `${(bytes / 1024).toFixed(1)} KB`;
|
|
16
|
+
if (bytes < 1024 ** 3)
|
|
17
|
+
return `${(bytes / 1024 ** 2).toFixed(1)} MB`;
|
|
18
|
+
return `${(bytes / 1024 ** 3).toFixed(1)} GB`;
|
|
19
|
+
};
|
|
20
|
+
const mutationKey = (action, uid) => {
|
|
21
|
+
const random = typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function'
|
|
22
|
+
? crypto.randomUUID()
|
|
23
|
+
: `${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
24
|
+
return `${action}:${uid}:${random}`;
|
|
25
|
+
};
|
|
26
|
+
/** Browser for the server-managed Home Folder metadata and version history. */
|
|
27
|
+
export const HomeFolderObjectsBrowser = ({ prefix, selectedObjectUids = [], onSelectedObjectsChange, selectionDisabled = false }) => {
|
|
28
|
+
const objects = useHomeFolderObjects({ prefix, limit: 100 });
|
|
29
|
+
const [selected, setSelected] = useState();
|
|
30
|
+
const [uploadProgress, setUploadProgress] = useState();
|
|
31
|
+
const [failedUpload, setFailedUpload] = useState();
|
|
32
|
+
const fileInput = useRef(null);
|
|
33
|
+
const versions = useHomeFolderObjectVersions(selected?.uid);
|
|
34
|
+
const deleteObject = useDeleteHomeFolderObject();
|
|
35
|
+
const restoreObject = useRestoreHomeFolderObject();
|
|
36
|
+
const uploadObject = useUploadHomeFolderFile();
|
|
37
|
+
const downloadObject = useDownloadHomeFolderObject();
|
|
38
|
+
const selectable = Boolean(onSelectedObjectsChange);
|
|
39
|
+
const toggleSelection = (object) => {
|
|
40
|
+
if (!onSelectedObjectsChange)
|
|
41
|
+
return;
|
|
42
|
+
const selectedUids = new Set(selectedObjectUids);
|
|
43
|
+
selectedUids.has(object.uid) ? selectedUids.delete(object.uid) : selectedUids.add(object.uid);
|
|
44
|
+
onSelectedObjectsChange((objects.data?.items ?? []).filter(item => selectedUids.has(item.uid)));
|
|
45
|
+
};
|
|
46
|
+
const onUpload = (file, overwrite = 'reject') => {
|
|
47
|
+
if (!file)
|
|
48
|
+
return;
|
|
49
|
+
setFailedUpload(undefined);
|
|
50
|
+
setUploadProgress({ uploaded: 0, total: file.size });
|
|
51
|
+
uploadObject.mutate({
|
|
52
|
+
path: prefix ? `${prefix.replace(/\/$/, '')}/${file.name}` : file.name,
|
|
53
|
+
content: file,
|
|
54
|
+
mediaType: file.type || 'application/octet-stream',
|
|
55
|
+
overwrite,
|
|
56
|
+
idempotencyKey: mutationKey('upload', file.name),
|
|
57
|
+
onProgress: progress => setUploadProgress({
|
|
58
|
+
uploaded: progress.uploadedBytes,
|
|
59
|
+
total: progress.totalBytes,
|
|
60
|
+
}),
|
|
61
|
+
}, {
|
|
62
|
+
onError: () => setFailedUpload(file),
|
|
63
|
+
onSettled: () => setUploadProgress(undefined),
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
const onDownload = (object) => {
|
|
67
|
+
downloadObject.mutate({ objectUid: object.uid }, {
|
|
68
|
+
onSuccess: response => {
|
|
69
|
+
const url = URL.createObjectURL(new Blob([response.data], { type: object.mediaType }));
|
|
70
|
+
const anchor = document.createElement('a');
|
|
71
|
+
anchor.href = url;
|
|
72
|
+
anchor.download = object.path.split('/').pop() || 'download';
|
|
73
|
+
anchor.click();
|
|
74
|
+
URL.revokeObjectURL(url);
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
const onDelete = (object) => {
|
|
79
|
+
if (typeof window !== 'undefined' &&
|
|
80
|
+
!window.confirm(`Delete ${object.path}? You can restore an earlier version.`)) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
deleteObject.mutate({
|
|
84
|
+
objectUid: object.uid,
|
|
85
|
+
idempotencyKey: mutationKey('delete', object.uid),
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
if (objects.isPending) {
|
|
89
|
+
return (_jsx(Box, { sx: { p: 4, display: 'flex', justifyContent: 'center' }, children: _jsx(Spinner, {}) }));
|
|
90
|
+
}
|
|
91
|
+
if (objects.isError) {
|
|
92
|
+
return (_jsxs(Box, { sx: { p: 3, border: '1px solid', borderColor: 'danger.muted' }, children: [_jsx(Text, { sx: { color: 'danger.fg' }, children: objects.error instanceof Error
|
|
93
|
+
? objects.error.message
|
|
94
|
+
: 'The Home Folder could not be loaded.' }), _jsx(Button, { sx: { ml: 2 }, onClick: () => objects.refetch(), children: "Retry" })] }));
|
|
95
|
+
}
|
|
96
|
+
return (_jsxs(Box, { children: [_jsxs(Box, { sx: {
|
|
97
|
+
mb: 3,
|
|
98
|
+
display: 'flex',
|
|
99
|
+
alignItems: 'center',
|
|
100
|
+
justifyContent: 'space-between',
|
|
101
|
+
gap: 3,
|
|
102
|
+
}, children: [_jsx(Text, { sx: { color: 'fg.muted' }, children: prefix ? `home-folder:///${prefix}` : 'home-folder:///' }), _jsxs(_Fragment, { children: [_jsx("input", { ref: fileInput, type: "file", hidden: true, onChange: event => {
|
|
103
|
+
onUpload(event.target.files?.[0]);
|
|
104
|
+
event.target.value = '';
|
|
105
|
+
} }), _jsx(Button, { leadingVisual: UploadIcon, disabled: uploadObject.isPending, onClick: () => fileInput.current?.click(), children: "Upload" })] })] }), uploadProgress && (_jsxs(Box, { sx: { mb: 3 }, children: [_jsx(ProgressBar, { progress: uploadProgress.total
|
|
106
|
+
? (uploadProgress.uploaded / uploadProgress.total) * 100
|
|
107
|
+
: 100, "aria-label": "Upload progress" }), _jsxs(Text, { sx: { color: 'fg.muted', fontSize: 0 }, children: [formatBytes(uploadProgress.uploaded), " of", ' ', formatBytes(uploadProgress.total)] })] })), uploadObject.isError && (_jsxs(Box, { sx: { mb: 3 }, children: [_jsx(Text, { as: "p", sx: { color: 'danger.fg', mb: 2 }, children: uploadObject.error.message }), failedUpload && (_jsxs(Box, { sx: { display: 'flex', gap: 2 }, children: [_jsx(Button, { size: "small", onClick: () => onUpload(failedUpload), children: "Retry" }), _jsx(Button, { size: "small", variant: "primary", onClick: () => onUpload(failedUpload, 'new-version'), children: "Upload as new version" })] }))] })), (objects.data?.items.length ?? 0) === 0 ? (_jsxs(Box, { sx: {
|
|
108
|
+
p: 4,
|
|
109
|
+
textAlign: 'center',
|
|
110
|
+
border: '1px dashed',
|
|
111
|
+
borderColor: 'border.default',
|
|
112
|
+
borderRadius: 2,
|
|
113
|
+
}, children: [_jsx(FileIcon, { size: 24 }), _jsx(Heading, { as: "h3", sx: { fontSize: 2, mt: 2 }, children: "Your Home Folder is empty" }), _jsx(Text, { as: "p", sx: { color: 'fg.muted', mb: 0 }, children: "Uploaded and transferred files will appear here." })] })) : (_jsxs(Box, { as: "table", sx: {
|
|
114
|
+
width: '100%',
|
|
115
|
+
borderCollapse: 'collapse',
|
|
116
|
+
'th, td': {
|
|
117
|
+
px: 3,
|
|
118
|
+
py: 2,
|
|
119
|
+
textAlign: 'left',
|
|
120
|
+
borderBottom: '1px solid',
|
|
121
|
+
borderColor: 'border.muted',
|
|
122
|
+
},
|
|
123
|
+
th: { color: 'fg.muted', fontSize: 0, fontWeight: 600 },
|
|
124
|
+
}, children: [_jsx("thead", { children: _jsxs("tr", { children: [selectable && _jsx("th", { "aria-label": "Select" }), _jsx("th", { children: "Path" }), _jsx("th", { children: "Size" }), _jsx("th", { children: "Updated" }), _jsx("th", { "aria-label": "Actions" })] }) }), _jsx("tbody", { children: objects.data?.items.map(object => (_jsxs("tr", { children: [selectable && (_jsx("td", { children: _jsx(Checkbox, { "aria-label": `Select ${object.path}`, checked: selectedObjectUids.includes(object.uid), disabled: selectionDisabled || !object.currentVersionUid, onChange: () => toggleSelection(object) }) })), _jsx("td", { children: _jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(FileIcon, {}), _jsx(Text, { sx: { fontFamily: 'mono' }, children: object.path })] }) }), _jsx("td", { children: formatBytes(object.size) }), _jsx("td", { children: new Date(object.updatedAt).toLocaleString() }), _jsx("td", { children: _jsxs(Box, { sx: { display: 'flex', justifyContent: 'flex-end', gap: 2 }, children: [_jsx(Button, { size: "small", leadingVisual: HistoryIcon, onClick: () => setSelected(object), children: "Versions" }), _jsx(Button, { size: "small", leadingVisual: DownloadIcon, disabled: downloadObject.isPending, onClick: () => onDownload(object), children: "Download" }), _jsx(Button, { size: "small", variant: "danger", leadingVisual: TrashIcon, disabled: deleteObject.isPending, onClick: () => onDelete(object), children: "Delete" })] }) })] }, object.uid))) })] })), selected && (_jsxs(Box, { sx: {
|
|
125
|
+
mt: 3,
|
|
126
|
+
p: 3,
|
|
127
|
+
border: '1px solid',
|
|
128
|
+
borderColor: 'border.default',
|
|
129
|
+
borderRadius: 2,
|
|
130
|
+
}, children: [_jsxs(Box, { sx: { display: 'flex', justifyContent: 'space-between', gap: 2 }, children: [_jsxs(Heading, { as: "h3", sx: { fontSize: 2 }, children: ["Versions of ", selected.path] }), _jsx(Button, { size: "small", onClick: () => setSelected(undefined), children: "Close" })] }), versions.isPending ? (_jsx(Spinner, { size: "small" })) : versions.isError ? (_jsx(Text, { sx: { color: 'danger.fg' }, children: "Version history could not be loaded." })) : (_jsx(Box, { as: "ul", sx: { listStyle: 'none', p: 0, mb: 0 }, children: versions.data?.items.map(version => {
|
|
131
|
+
const isCurrent = version.uid === selected.currentVersionUid;
|
|
132
|
+
return (_jsxs(Box, { as: "li", sx: {
|
|
133
|
+
py: 2,
|
|
134
|
+
display: 'flex',
|
|
135
|
+
alignItems: 'center',
|
|
136
|
+
justifyContent: 'space-between',
|
|
137
|
+
gap: 3,
|
|
138
|
+
borderBottom: '1px solid',
|
|
139
|
+
borderColor: 'border.muted',
|
|
140
|
+
':last-child': { borderBottom: 0 },
|
|
141
|
+
}, children: [_jsxs(Box, { children: [_jsx(Text, { sx: { fontFamily: 'mono', fontSize: 0 }, children: version.uid }), _jsxs(Text, { as: "p", sx: { color: 'fg.muted', m: 0, fontSize: 0 }, children: [new Date(version.createdAt).toLocaleString(), " \u00B7", ' ', formatBytes(version.size)] })] }), isCurrent ? (_jsx(Label, { variant: "success", children: "Current" })) : version.deleted ? (_jsx(Label, { children: "Deletion marker" })) : (_jsx(Button, { size: "small", leadingVisual: SyncIcon, disabled: restoreObject.isPending, onClick: () => restoreObject.mutate({
|
|
142
|
+
objectUid: selected.uid,
|
|
143
|
+
versionUid: version.uid,
|
|
144
|
+
idempotencyKey: mutationKey('restore', version.uid),
|
|
145
|
+
}), children: "Restore" }))] }, version.uid));
|
|
146
|
+
}) }))] }))] }));
|
|
147
|
+
};
|
|
148
|
+
export default HomeFolderObjectsBrowser;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const OrganizationSelect: () => import("react
|
|
1
|
+
export declare const OrganizationSelect: () => import("react").JSX.Element;
|
|
2
2
|
export default OrganizationSelect;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
type IAvatarSkeletonProps = {
|
|
2
2
|
size?: number;
|
|
3
3
|
};
|
|
4
|
-
export declare const AvatarSkeleton: (props: IAvatarSkeletonProps) => import("react
|
|
4
|
+
export declare const AvatarSkeleton: (props: IAvatarSkeletonProps) => import("react").JSX.Element;
|
|
5
5
|
export default AvatarSkeleton;
|
|
@@ -5,5 +5,5 @@ type BusyDotsProps = {
|
|
|
5
5
|
ariaLabel?: string;
|
|
6
6
|
intervalMs?: number;
|
|
7
7
|
};
|
|
8
|
-
export declare function BusyDots({ color, fontSize, ml, ariaLabel, intervalMs, }: BusyDotsProps): import("react
|
|
8
|
+
export declare function BusyDots({ color, fontSize, ml, ariaLabel, intervalMs, }: BusyDotsProps): import("react").JSX.Element;
|
|
9
9
|
export default BusyDots;
|
|
@@ -7,5 +7,5 @@ type ICenteredSpinnerProps = {
|
|
|
7
7
|
message?: string;
|
|
8
8
|
size?: keyof typeof sizeMap;
|
|
9
9
|
};
|
|
10
|
-
export declare const CenteredSpinner: ({ message, size, }: ICenteredSpinnerProps) => import("react
|
|
10
|
+
export declare const CenteredSpinner: ({ message, size, }: ICenteredSpinnerProps) => import("react").JSX.Element;
|
|
11
11
|
export default CenteredSpinner;
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import type { PropsWithChildren, ReactNode } from 'react';
|
|
2
1
|
type DatalayerBoxProps = {
|
|
3
2
|
id?: string;
|
|
4
3
|
title: string;
|
|
5
|
-
titleAction?: ReactNode;
|
|
6
4
|
linkLabel?: string;
|
|
7
5
|
linkRoute?: string;
|
|
6
|
+
/**
|
|
7
|
+
* What sits next to the title, e.g. the mark that explains the box.
|
|
8
|
+
*
|
|
9
|
+
* The link on the trailing edge leads somewhere; this stays here.
|
|
10
|
+
*/
|
|
11
|
+
titleAction?: React.ReactNode;
|
|
8
12
|
};
|
|
9
|
-
export declare const DatalayerBox: (props: PropsWithChildren<DatalayerBoxProps>) => import("react
|
|
13
|
+
export declare const DatalayerBox: (props: React.PropsWithChildren<DatalayerBoxProps>) => import("react").JSX.Element;
|
|
10
14
|
export default DatalayerBox;
|
|
@@ -8,19 +8,19 @@ import { Box } from '@datalayer/primer-addons';
|
|
|
8
8
|
import { ArrowRightIcon } from '@primer/octicons-react';
|
|
9
9
|
import { useNavigate } from '../../hooks/index.js';
|
|
10
10
|
export const DatalayerBox = (props) => {
|
|
11
|
-
const { title,
|
|
11
|
+
const { title, linkLabel, linkRoute, titleAction, children } = props;
|
|
12
12
|
const navigate = useNavigate();
|
|
13
13
|
return (_jsxs(_Fragment, { children: [_jsxs(Box, { sx: {
|
|
14
14
|
display: 'flex',
|
|
15
15
|
alignItems: 'center',
|
|
16
16
|
justifyContent: 'space-between',
|
|
17
17
|
paddingRight: 4,
|
|
18
|
-
}, children: [
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
}, children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 1 }, children: [_jsx(Text, { as: "h2", sx: { borderLeft: '6px solid #28b899', paddingLeft: 2 }, children: title }), titleAction] }), linkRoute && linkLabel && (_jsxs(Link, { href: "javascript: return false;", onClick: e => navigate(linkRoute), sx: {
|
|
19
|
+
display: 'inline-flex',
|
|
20
|
+
alignItems: 'center',
|
|
21
|
+
gap: 1,
|
|
22
|
+
whiteSpace: 'nowrap',
|
|
23
|
+
}, children: [linkLabel, _jsx(ArrowRightIcon, {})] }))] }), _jsx(Box, { sx: {
|
|
24
24
|
borderColor: 'border.default',
|
|
25
25
|
borderStyle: 'solid',
|
|
26
26
|
borderWidth: '1',
|
|
@@ -2,5 +2,5 @@ import { PropsWithChildren } from 'react';
|
|
|
2
2
|
type IHorizontalCenterProps = {
|
|
3
3
|
margin?: string;
|
|
4
4
|
};
|
|
5
|
-
export declare const HorizontalCenter: ({ children, margin, }: PropsWithChildren<IHorizontalCenterProps>) => import("react
|
|
5
|
+
export declare const HorizontalCenter: ({ children, margin, }: PropsWithChildren<IHorizontalCenterProps>) => import("react").JSX.Element;
|
|
6
6
|
export default HorizontalCenter;
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
4
|
-
* Distributed under the terms of the Modified BSD License.
|
|
5
|
-
*/
|
|
6
2
|
import { createElement, useState, } from 'react';
|
|
7
3
|
import { Dialog } from '@jupyterlab/apputils';
|
|
8
4
|
import { ReactWidget } from '@jupyterlab/ui-components';
|
|
@@ -58,9 +54,7 @@ export class JupyterDialog extends ReactWidget {
|
|
|
58
54
|
}
|
|
59
55
|
_renderBody = (props) => {
|
|
60
56
|
const pending = this._pendingButtonIndex !== null;
|
|
61
|
-
return (_jsx(PrimerDialog.Body, { children: _jsx("div", { "aria-busy": pending, ...(pending ? { inert: '' } : {}), style: pending
|
|
62
|
-
? { pointerEvents: 'none', opacity: 0.6 }
|
|
63
|
-
: undefined, children: createElement(this.body, {
|
|
57
|
+
return (_jsx(PrimerDialog.Body, { children: _jsx("div", { "aria-busy": pending, ...(pending ? { inert: '' } : {}), style: pending ? { pointerEvents: 'none', opacity: 0.6 } : undefined, children: createElement(this.body, {
|
|
64
58
|
...props,
|
|
65
59
|
setValue: this.setValue,
|
|
66
60
|
pending,
|
|
@@ -11,9 +11,10 @@ import { useNavigate } from '../../hooks/index.js';
|
|
|
11
11
|
*/
|
|
12
12
|
export const NavLink = forwardRef(({ to, children, ...props }, ref) => {
|
|
13
13
|
const navigate = useNavigate();
|
|
14
|
+
// The hook decides: a plain click navigates here, a modifier click lets
|
|
15
|
+
// the browser open the link in a new tab.
|
|
14
16
|
const onClick = useCallback((e) => {
|
|
15
|
-
e
|
|
16
|
-
navigate(to);
|
|
17
|
+
navigate(to, e);
|
|
17
18
|
}, [to, navigate]);
|
|
18
19
|
return (_jsx("a", { ref: ref, href: to, ...props, onClick: onClick, children: children }));
|
|
19
20
|
});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const NotebookSkeleton: () => import("react
|
|
1
|
+
export declare const NotebookSkeleton: () => import("react").JSX.Element;
|
|
2
2
|
export default NotebookSkeleton;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const Placeholder: () => import("react
|
|
1
|
+
export declare const Placeholder: () => import("react").JSX.Element;
|
|
2
2
|
export default Placeholder;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const ToTopBranded: () => import("react
|
|
1
|
+
export declare const ToTopBranded: () => import("react").JSX.Element;
|
|
2
2
|
export default ToTopBranded;
|
|
@@ -7,5 +7,5 @@ export interface EChartsProps {
|
|
|
7
7
|
loading?: boolean;
|
|
8
8
|
theme?: 'light' | 'dark';
|
|
9
9
|
}
|
|
10
|
-
export declare const EChartsReact: ({ options, style, settings, loading, theme, }: EChartsProps) => import("react
|
|
10
|
+
export declare const EChartsReact: ({ options, style, settings, loading, theme, }: EChartsProps) => import("react").JSX.Element;
|
|
11
11
|
export default EChartsReact;
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
4
|
-
* Distributed under the terms of the Modified BSD License.
|
|
5
|
-
*/
|
|
6
2
|
import { AlertIcon, CheckIcon, InfoIcon, StopIcon, XIcon, } from '@primer/octicons-react';
|
|
7
3
|
import { Flash as PrimerFlash, IconButton } from '@primer/react';
|
|
8
4
|
import { Box } from '@datalayer/primer-addons';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const FlashGuest: () => import("react
|
|
1
|
+
export declare const FlashGuest: () => import("react").JSX.Element;
|
|
2
2
|
export default FlashGuest;
|
|
@@ -2,5 +2,5 @@ export declare const SURVEY_2025_1_NAME = "2025-1";
|
|
|
2
2
|
type IFlashSurveysProps = {
|
|
3
3
|
surveyName?: string;
|
|
4
4
|
};
|
|
5
|
-
export declare const FlashSurveys: (props: IFlashSurveysProps) => import("react
|
|
5
|
+
export declare const FlashSurveys: (props: IFlashSurveysProps) => import("react").JSX.Element;
|
|
6
6
|
export default FlashSurveys;
|
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
4
|
-
* Distributed under the terms of the Modified BSD License.
|
|
5
|
-
*/
|
|
6
|
-
// import { AlertIcon } from '@primer/octicons-react';
|
|
7
|
-
// import { Box, Flash as PrimerFlash, Link } from '@primer/react';
|
|
8
2
|
import { Link } from '@primer/react';
|
|
9
3
|
import { Banner } from '@primer/react/experimental';
|
|
10
4
|
import { QuestionIcon } from '@primer/octicons-react';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
type IExternalTokenSilentLoginProps = {
|
|
2
2
|
message: string;
|
|
3
3
|
};
|
|
4
|
-
export declare const ExternalTokenSilentLogin: (props: IExternalTokenSilentLoginProps) => import("react
|
|
4
|
+
export declare const ExternalTokenSilentLogin: (props: IExternalTokenSilentLoginProps) => import("react").JSX.Element;
|
|
5
5
|
export default ExternalTokenSilentLogin;
|
package/lib/components/index.js
CHANGED
|
@@ -6,6 +6,8 @@ export * from './auth/index.js';
|
|
|
6
6
|
export * from './animation/index.js';
|
|
7
7
|
export * from './billing/index.js';
|
|
8
8
|
export * from './collaboration/index.js';
|
|
9
|
+
export * from './contents/index.js';
|
|
10
|
+
export * from './mcp/index.js';
|
|
9
11
|
export * from './sharing/index.js';
|
|
10
12
|
export * from './sparklines/index.js';
|
|
11
13
|
export * from './time/index.js';
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*
|
|
10
10
|
* @module components/labels/StatusLabels
|
|
11
11
|
*/
|
|
12
|
-
import type { ReactNode } from 'react';
|
|
12
|
+
import type { JSX, ReactNode } from 'react';
|
|
13
13
|
/** The tones a status pill is read in. */
|
|
14
14
|
export type StatusLabelTone = 'accent' | 'attention' | 'success' | 'neutral';
|
|
15
15
|
export type StatusLabelProps = {
|
|
@@ -39,13 +39,6 @@ export declare function AdminLabel(props?: StatusLabelProps): JSX.Element;
|
|
|
39
39
|
* The one that is taken when none is chosen — the default space of an account.
|
|
40
40
|
*/
|
|
41
41
|
export declare function DefaultLabel(props?: StatusLabelProps): JSX.Element;
|
|
42
|
-
/**
|
|
43
|
-
* Something announced and not there yet.
|
|
44
|
-
*
|
|
45
|
-
* A tone of its own, and deliberately not the accent an alpha wears: one says
|
|
46
|
-
* "you may try this, it may bite", the other "there is nothing to try". Read
|
|
47
|
-
* side by side in a navigation, two labels of one colour say the same thing
|
|
48
|
-
* about two entries that mean different things.
|
|
49
|
-
*/
|
|
42
|
+
/** "soon": what is announced but not yet there. */
|
|
50
43
|
export declare function SoonLabel(props?: StatusLabelProps): JSX.Element;
|
|
51
44
|
export default StatusLabel;
|
|
@@ -33,24 +33,7 @@ export function StatusLabel(props) {
|
|
|
33
33
|
return (_jsx(Label, { variant: "secondary", size: size, sx: {
|
|
34
34
|
textTransform: 'lowercase',
|
|
35
35
|
lineHeight: 1.2,
|
|
36
|
-
|
|
37
|
-
* The tone, under a doubled selector.
|
|
38
|
-
*
|
|
39
|
-
* Primer ships `NavList` and `ActionList` as CSS modules, and the
|
|
40
|
-
* colour they set on the contents of an item ties with the one Emotion
|
|
41
|
-
* generates for `sx` — so the same label came out in the colour of the
|
|
42
|
-
* navigation in one place and in its own colour in another, depending
|
|
43
|
-
* on which stylesheet happened to come last. `&&` raises the
|
|
44
|
-
* specificity enough that the tone always lands, wherever the label is
|
|
45
|
-
* put.
|
|
46
|
-
*/
|
|
47
|
-
'&&': {
|
|
48
|
-
...TONES[tone],
|
|
49
|
-
// The navigation of Primer colours the contents of its items, and
|
|
50
|
-
// its stylesheet is loaded after ours: a doubled selector was not
|
|
51
|
-
// enough on its own, so the colour of the tone is stated as final.
|
|
52
|
-
color: `${TONES[tone].color} !important`,
|
|
53
|
-
},
|
|
36
|
+
...TONES[tone],
|
|
54
37
|
...sx,
|
|
55
38
|
}, children: children }));
|
|
56
39
|
}
|
|
@@ -75,14 +58,7 @@ export function DefaultLabel(props = {}) {
|
|
|
75
58
|
const { children = 'default', ...rest } = props;
|
|
76
59
|
return (_jsx(StatusLabel, { tone: "accent", ...rest, children: children }));
|
|
77
60
|
}
|
|
78
|
-
/**
|
|
79
|
-
* Something announced and not there yet.
|
|
80
|
-
*
|
|
81
|
-
* A tone of its own, and deliberately not the accent an alpha wears: one says
|
|
82
|
-
* "you may try this, it may bite", the other "there is nothing to try". Read
|
|
83
|
-
* side by side in a navigation, two labels of one colour say the same thing
|
|
84
|
-
* about two entries that mean different things.
|
|
85
|
-
*/
|
|
61
|
+
/** "soon": what is announced but not yet there. */
|
|
86
62
|
export function SoonLabel(props = {}) {
|
|
87
63
|
const { children = 'soon', ...rest } = props;
|
|
88
64
|
return (_jsx(StatusLabel, { tone: "neutral", ...rest, children: children }));
|
|
@@ -7,5 +7,5 @@ type IStepBlockProps = {
|
|
|
7
7
|
colored?: boolean;
|
|
8
8
|
}>;
|
|
9
9
|
};
|
|
10
|
-
export declare const StepBlock: (props: IStepBlockProps) => import("react
|
|
10
|
+
export declare const StepBlock: (props: IStepBlockProps) => import("react").JSX.Element;
|
|
11
11
|
export default StepBlock;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which client this is, said the way its identity was established.
|
|
3
|
+
*
|
|
4
|
+
* A client that registered by Client ID Metadata Document *is* its URL: the
|
|
5
|
+
* host is the part of its identity nobody can invent, and it is what the
|
|
6
|
+
* consent screen showed — so the URL is the client id on screen, with the
|
|
7
|
+
* hostname read out beneath the name. A client registered through the
|
|
8
|
+
* deprecated dynamic path has an opaque id and gets it plainly, marked as
|
|
9
|
+
* such, because the two are not the same kind of fact.
|
|
10
|
+
*
|
|
11
|
+
* The badge explains itself through `title` and its accessible name rather
|
|
12
|
+
* than a Primer `Tooltip`. That component requires an interactive child and
|
|
13
|
+
* warns otherwise, because a tooltip on a label appears on hover and nowhere
|
|
14
|
+
* else — it does not exist for a keyboard or a screen reader. A `<button>`
|
|
15
|
+
* around the word would silence the warning by trading one problem for
|
|
16
|
+
* another: a tab stop that announces itself as a button and does nothing.
|
|
17
|
+
*
|
|
18
|
+
* The word alone is the part that needs explaining. "Document" read out on
|
|
19
|
+
* its own says nothing, so the accessible name is the whole sentence.
|
|
20
|
+
*
|
|
21
|
+
* @module components/mcp/ClientBadge
|
|
22
|
+
*/
|
|
23
|
+
import type { JSX } from 'react';
|
|
24
|
+
import type { ConnectedAgentRegistration } from '../../api/iam/connectedAgents';
|
|
25
|
+
export interface ClientBadgeProps {
|
|
26
|
+
clientId: string;
|
|
27
|
+
clientName?: string | null;
|
|
28
|
+
/**
|
|
29
|
+
* How the client registered, when IAM said. Without it the id's shape is
|
|
30
|
+
* used, which is what an audit row or a task leaves us with.
|
|
31
|
+
*/
|
|
32
|
+
registration?: ConnectedAgentRegistration;
|
|
33
|
+
/** The document's hostname, when IAM answered one. */
|
|
34
|
+
clientHostname?: string | null;
|
|
35
|
+
/** Without the second line, for a dense table. */
|
|
36
|
+
compact?: boolean;
|
|
37
|
+
}
|
|
38
|
+
/** The hostname of a document URL, or an empty string for anything else. */
|
|
39
|
+
export declare const clientHostnameOf: (clientId: string) => string;
|
|
40
|
+
export declare const ClientBadge: ({ clientId, clientName, registration, clientHostname, compact, }: ClientBadgeProps) => JSX.Element;
|
|
41
|
+
export default ClientBadge;
|