@datalayer/core 1.1.59 → 1.1.66
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 +2 -2
- package/lib/api/DatalayerApi.d.ts +42 -1
- package/lib/api/DatalayerApi.js +90 -3
- package/lib/api/constants.d.ts +18 -0
- package/lib/api/constants.js +18 -0
- package/lib/api/contents/attachments.d.ts +9 -0
- package/lib/api/contents/attachments.js +43 -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 +15 -0
- package/lib/api/contents/datasets.js +45 -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 +53 -0
- package/lib/api/contents/sandboxUid.js +78 -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/iam/connectedAgents.d.ts +39 -0
- package/lib/api/iam/connectedAgents.js +52 -0
- package/lib/api/iam/index.d.ts +2 -1
- package/lib/api/iam/index.js +2 -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 +80 -0
- package/lib/api/iam/mcpPolicy.js +132 -0
- package/lib/api/iam/organizationTeams.d.ts +13 -0
- package/lib/api/iam/organizationTeams.js +43 -0
- package/lib/api/iam/serviceAgents.d.ts +68 -0
- package/lib/api/iam/serviceAgents.js +119 -0
- package/lib/api/index.d.ts +4 -1
- package/lib/api/index.js +3 -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 +125 -0
- package/lib/api/mcp/observability.js +254 -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/utils/validation.d.ts +1 -1
- package/lib/api/utils/validation.js +1 -1
- 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/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 +1 -0
- package/lib/components/animation/AnimatedText.js +0 -4
- 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 +18 -1
- package/lib/components/avatars/UserAvatar.js +14 -14
- 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 +10 -0
- package/lib/components/billing/BillingEntitySelect.js +0 -17
- package/lib/components/billing/index.js +0 -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 +31 -0
- package/lib/components/collaboration/LiveEditorCollaborators.js +98 -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 -2
- package/lib/components/display/DatalayerBox.js +6 -6
- 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/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 +10 -0
- package/lib/components/labels/StatusLabels.js +30 -1
- 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 +1 -0
- package/lib/components/principal/PrincipalAppearance.js +0 -8
- package/lib/components/principal/PrincipalAvatar.d.ts +9 -1
- package/lib/components/principal/PrincipalAvatar.js +25 -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 +31 -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 +7 -15
- 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/ScreencaptureButton.d.ts +1 -1
- package/lib/components/sharing/ShareAccessComponent.d.ts +15 -1
- package/lib/components/sharing/ShareAccessComponent.js +36 -23
- package/lib/components/sharing/SharingEditor.d.ts +17 -0
- package/lib/components/sharing/SharingEditor.js +0 -24
- 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/index.d.ts +2 -0
- package/lib/hooks/index.js +2 -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/useCache.d.ts +310 -105
- package/lib/hooks/useCache.js +142 -355
- package/lib/hooks/useContainsFocus.d.ts +1 -1
- package/lib/hooks/useContents.d.ts +313 -0
- package/lib/hooks/useContents.js +964 -0
- package/lib/hooks/useFocusTrap.d.ts +4 -4
- package/lib/hooks/useFocusTrap.js +1 -1
- package/lib/hooks/useMcp.d.ts +229 -0
- package/lib/hooks/useMcp.js +656 -0
- package/lib/hooks/useMobile.js +0 -5
- 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/useToast.js +0 -4
- package/lib/hooks/useUser.js +42 -0
- 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/McpAuditEvent.d.ts +52 -0
- package/lib/models/McpAuditEvent.js +5 -0
- package/lib/models/McpBinding.d.ts +51 -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/StartedBy.d.ts +57 -0
- package/lib/models/StartedBy.js +81 -0
- package/lib/models/UserDTO.js +4 -2
- package/lib/models/contents/__fixtures__/solr-codec.json +57 -0
- package/lib/models/contents/__fixtures__/v1-contracts.json +66 -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/state/substates/CoreState.d.ts +15 -7
- package/lib/state/substates/CoreState.js +18 -14
- package/lib/state/substates/IAMState.d.ts +1 -1
- package/lib/state/substates/IAMState.js +5 -5
- package/lib/state/substates/ProfileState.js +0 -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/WithSuspense.d.ts +1 -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/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/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 +100 -0
- package/lib/views/mcp/EnterpriseConsole.d.ts +74 -0
- package/lib/views/mcp/EnterpriseConsole.js +173 -0
- package/lib/views/mcp/McpDashboard.d.ts +50 -0
- package/lib/views/mcp/McpDashboard.js +347 -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 +50 -0
- package/lib/views/mcp/McpObservability.js +150 -0
- package/lib/views/mcp/OrganizationPolicy.d.ts +45 -0
- package/lib/views/mcp/OrganizationPolicy.js +107 -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 +125 -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 +67 -0
- package/lib/views/mcp/PolicyForm.js +91 -0
- package/lib/views/mcp/PolicyHistory.d.ts +45 -0
- package/lib/views/mcp/PolicyHistory.js +62 -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 +98 -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 +29 -0
- package/lib/views/mcp/index.js +37 -0
- package/lib/views/mcp/types.d.ts +66 -0
- package/lib/views/mcp/types.js +5 -0
- package/lib/views/secrets/SecretEdit.d.ts +5 -1
- package/lib/views/secrets/SecretEdit.js +2 -2
- package/lib/views/secrets/SecretNew.d.ts +11 -1
- package/lib/views/secrets/SecretNew.js +2 -2
- package/lib/views/secrets/Secrets.d.ts +12 -1
- package/lib/views/secrets/Secrets.js +2 -2
- package/package.json +28 -24
- package/scripts/generate-contents-types.py +169 -0
- package/scripts/generate-mcp-types.py +233 -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
package/lib/client/index.js
CHANGED
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
*/
|
|
21
21
|
import { DatalayerClientBase, } from './base.js';
|
|
22
22
|
import { IAMMixin } from './mixins/IAMMixin.js';
|
|
23
|
+
import { ContentsMixin } from './mixins/ContentsMixin.js';
|
|
23
24
|
/**
|
|
24
25
|
* Helper function to compose mixins in a more readable way.
|
|
25
26
|
* Applies mixins in the order provided.
|
|
@@ -33,7 +34,7 @@ function composeMixins(...mixins) {
|
|
|
33
34
|
// Apply the IAM mixin to the base class. Runtime and content (Spacer) features
|
|
34
35
|
// live in @datalayer/agent-runtimes, which composes AgentRuntimesClient on top
|
|
35
36
|
// of this core client.
|
|
36
|
-
const DatalayerCoreClientWithMixins = composeMixins(IAMMixin);
|
|
37
|
+
const DatalayerCoreClientWithMixins = composeMixins(IAMMixin, ContentsMixin);
|
|
37
38
|
/**
|
|
38
39
|
* Core Datalayer Client providing access to identity, plans and account
|
|
39
40
|
* services (IAM). Runtime and workspace/content features are provided by
|
|
@@ -68,7 +69,6 @@ export { UserDTO as User } from './../models/UserDTO.js';
|
|
|
68
69
|
export { CreditsDTO as Credits } from '../models/CreditsDTO.js';
|
|
69
70
|
export { HealthCheck } from '../models/HealthCheck.js';
|
|
70
71
|
export { SecretDTO as Secret } from './../models/Secret.js';
|
|
71
|
-
export { DatasourceDTO as Datasource } from './../models/Datasource.js';
|
|
72
72
|
// Export auth types
|
|
73
73
|
export { AuthenticationManager } from './auth/AuthenticationManager.js';
|
|
74
74
|
// Constants
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/** Contents mixin providing the typed source catalog API. */
|
|
2
|
+
import { type ConditionalCatalogSource, type AttachmentCreate, type AttachmentList, type ContentAttachment, type ContentAttachmentManifest, type DatasetRevision, type DatasetRevisionCreate, type DatasetRevisionList, type DatasetPublication, type DatasetPublicationCreate, type DatasetPublicationList, type ContentSourceCreate, type ContentSourceUpdate, type EffectivePermissions, type ContentObject, type DownloadedObject, type ObjectList, type OperationView, type RestoreRequest, type Sharing, type SourceList, type TransferCreate, type TransferList, type TransferView, type UploadProgress, type HomeFolderObjectListOptions, type HomeFolderQuota, type VersionList } from '../../api/contents';
|
|
3
|
+
import type { Constructor } from '../utils/mixins';
|
|
4
|
+
export declare function ContentsMixin<TBase extends Constructor>(Base: TBase): {
|
|
5
|
+
new (...args: any[]): {
|
|
6
|
+
contentsRequestContext(): {
|
|
7
|
+
token: string;
|
|
8
|
+
baseUrl: string;
|
|
9
|
+
};
|
|
10
|
+
listContentSources(options?: {
|
|
11
|
+
kind?: string;
|
|
12
|
+
spaceUid?: string;
|
|
13
|
+
cursor?: string;
|
|
14
|
+
limit?: number;
|
|
15
|
+
}): Promise<SourceList>;
|
|
16
|
+
createContentAttachment(request: AttachmentCreate, idempotencyKey: string): Promise<ContentAttachment>;
|
|
17
|
+
createDatasetRevision(sourceUid: string, request: DatasetRevisionCreate, idempotencyKey: string): Promise<DatasetRevision>;
|
|
18
|
+
listDatasetRevisions(sourceUid: string): Promise<DatasetRevisionList>;
|
|
19
|
+
getDatasetRevision(sourceUid: string, revisionUid: string): Promise<DatasetRevision>;
|
|
20
|
+
createDatasetPublication(sourceUid: string, request: DatasetPublicationCreate, idempotencyKey: string): Promise<DatasetPublication>;
|
|
21
|
+
listDatasetPublications(sourceUid: string): Promise<DatasetPublicationList>;
|
|
22
|
+
unpublishDataset(sourceUid: string, publicationUid: string): Promise<DatasetPublication>;
|
|
23
|
+
listContentAttachments(options?: {
|
|
24
|
+
sandboxUid?: string;
|
|
25
|
+
sourceUid?: string;
|
|
26
|
+
active?: boolean;
|
|
27
|
+
}): Promise<AttachmentList>;
|
|
28
|
+
getContentAttachmentManifest(sandboxUid: string): Promise<ContentAttachmentManifest>;
|
|
29
|
+
revokeContentAttachment(attachmentUid: string): Promise<ContentAttachment>;
|
|
30
|
+
createContentSource(source: ContentSourceCreate, idempotencyKey: string): Promise<ConditionalCatalogSource>;
|
|
31
|
+
getContentSource(sourceUid: string): Promise<ConditionalCatalogSource>;
|
|
32
|
+
getHomeFolder(): Promise<ConditionalCatalogSource>;
|
|
33
|
+
listHomeFolderObjects(options?: HomeFolderObjectListOptions): Promise<ObjectList>;
|
|
34
|
+
getHomeFolderQuota(): Promise<HomeFolderQuota>;
|
|
35
|
+
statHomeFolderObject(path: string): Promise<ContentObject>;
|
|
36
|
+
listHomeFolderObjectVersions(objectUid: string, options?: {
|
|
37
|
+
cursor?: string;
|
|
38
|
+
limit?: number;
|
|
39
|
+
}): Promise<VersionList>;
|
|
40
|
+
deleteHomeFolderObject(objectUid: string, idempotencyKey: string): Promise<ContentObject>;
|
|
41
|
+
restoreHomeFolderObject(objectUid: string, request: RestoreRequest, idempotencyKey: string): Promise<ContentObject>;
|
|
42
|
+
createContentTransfer(request: TransferCreate, idempotencyKey: string): Promise<TransferView>;
|
|
43
|
+
getContentTransfer(transferUid: string): Promise<TransferView>;
|
|
44
|
+
listContentTransfers(options?: {
|
|
45
|
+
active?: boolean;
|
|
46
|
+
cursor?: string;
|
|
47
|
+
limit?: number;
|
|
48
|
+
}): Promise<TransferList>;
|
|
49
|
+
uploadContentTransferPart(transferUid: string, partNumber: number, content: Uint8Array, checksum: string): Promise<TransferView>;
|
|
50
|
+
completeContentTransfer(transferUid: string): Promise<TransferView>;
|
|
51
|
+
cancelContentTransfer(transferUid: string): Promise<TransferView>;
|
|
52
|
+
uploadHomeFolderFile(path: string, content: Blob | Uint8Array | ArrayBuffer, options: {
|
|
53
|
+
idempotencyKey: string;
|
|
54
|
+
mediaType?: string;
|
|
55
|
+
overwrite?: "reject" | "replace" | "new-version";
|
|
56
|
+
chunkSize?: number;
|
|
57
|
+
onProgress?: (progress: UploadProgress) => void;
|
|
58
|
+
}): Promise<TransferView>;
|
|
59
|
+
downloadHomeFolderObject(objectUid: string, options?: {
|
|
60
|
+
versionUid?: string;
|
|
61
|
+
range?: string;
|
|
62
|
+
}): Promise<DownloadedObject>;
|
|
63
|
+
updateContentSource(sourceUid: string, update: ContentSourceUpdate, etag: string): Promise<ConditionalCatalogSource>;
|
|
64
|
+
archiveContentSource(sourceUid: string, etag: string): Promise<ConditionalCatalogSource>;
|
|
65
|
+
getContentSourcePermissions(sourceUid: string): Promise<EffectivePermissions>;
|
|
66
|
+
getContentSourceSharing(sourceUid: string): Promise<Sharing>;
|
|
67
|
+
replaceContentSourceSharing(sourceUid: string, sharing: Sharing, etag: string): Promise<ConditionalCatalogSource>;
|
|
68
|
+
getContentOperation(operationUid: string): Promise<OperationView>;
|
|
69
|
+
cancelContentOperation(operationUid: string): Promise<OperationView>;
|
|
70
|
+
};
|
|
71
|
+
} & TBase;
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/** Contents mixin providing the typed source catalog API. */
|
|
6
|
+
import { createAttachment, createDatasetRevision, createDatasetPublication, archiveSource, cancelOperation, cancelTransfer, completeTransfer, createSource, createTransfer, downloadHomeFolderObject, getSource, getHomeFolderQuota, getHomeFolder, getAttachmentManifest, getDatasetRevision, getOperation, getTransfer, getSourcePermissions, getSourceSharing, listHomeFolderObjects, listHomeFolderObjectVersions, listSources, listTransfers, listAttachments, listDatasetRevisions, listDatasetPublications, deleteHomeFolderObject, replaceSourceSharing, restoreHomeFolderObject, revokeAttachment, unpublishDataset, statHomeFolderObject, uploadTransferPart, uploadHomeFolderFile, updateSource, } from '../../api/contents/index.js';
|
|
7
|
+
export function ContentsMixin(Base) {
|
|
8
|
+
return class extends Base {
|
|
9
|
+
contentsRequestContext() {
|
|
10
|
+
const client = this;
|
|
11
|
+
return {
|
|
12
|
+
token: client.getToken() ?? '',
|
|
13
|
+
baseUrl: client.getContentsUrl(),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
async listContentSources(options = {}) {
|
|
17
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
18
|
+
return listSources(token, options, baseUrl);
|
|
19
|
+
}
|
|
20
|
+
async createContentAttachment(request, idempotencyKey) {
|
|
21
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
22
|
+
return createAttachment(token, request, idempotencyKey, baseUrl);
|
|
23
|
+
}
|
|
24
|
+
async createDatasetRevision(sourceUid, request, idempotencyKey) {
|
|
25
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
26
|
+
return createDatasetRevision(token, sourceUid, request, idempotencyKey, baseUrl);
|
|
27
|
+
}
|
|
28
|
+
async listDatasetRevisions(sourceUid) {
|
|
29
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
30
|
+
return listDatasetRevisions(token, sourceUid, baseUrl);
|
|
31
|
+
}
|
|
32
|
+
async getDatasetRevision(sourceUid, revisionUid) {
|
|
33
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
34
|
+
return getDatasetRevision(token, sourceUid, revisionUid, baseUrl);
|
|
35
|
+
}
|
|
36
|
+
async createDatasetPublication(sourceUid, request, idempotencyKey) {
|
|
37
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
38
|
+
return createDatasetPublication(token, sourceUid, request, idempotencyKey, baseUrl);
|
|
39
|
+
}
|
|
40
|
+
async listDatasetPublications(sourceUid) {
|
|
41
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
42
|
+
return listDatasetPublications(token, sourceUid, baseUrl);
|
|
43
|
+
}
|
|
44
|
+
async unpublishDataset(sourceUid, publicationUid) {
|
|
45
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
46
|
+
return unpublishDataset(token, sourceUid, publicationUid, baseUrl);
|
|
47
|
+
}
|
|
48
|
+
async listContentAttachments(options = {}) {
|
|
49
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
50
|
+
return listAttachments(token, options, baseUrl);
|
|
51
|
+
}
|
|
52
|
+
async getContentAttachmentManifest(sandboxUid) {
|
|
53
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
54
|
+
return getAttachmentManifest(token, sandboxUid, baseUrl);
|
|
55
|
+
}
|
|
56
|
+
async revokeContentAttachment(attachmentUid) {
|
|
57
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
58
|
+
return revokeAttachment(token, attachmentUid, baseUrl);
|
|
59
|
+
}
|
|
60
|
+
async createContentSource(source, idempotencyKey) {
|
|
61
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
62
|
+
return createSource(token, source, idempotencyKey, baseUrl);
|
|
63
|
+
}
|
|
64
|
+
async getContentSource(sourceUid) {
|
|
65
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
66
|
+
return getSource(token, sourceUid, baseUrl);
|
|
67
|
+
}
|
|
68
|
+
async getHomeFolder() {
|
|
69
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
70
|
+
return getHomeFolder(token, baseUrl);
|
|
71
|
+
}
|
|
72
|
+
async listHomeFolderObjects(options = {}) {
|
|
73
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
74
|
+
return listHomeFolderObjects(token, options, baseUrl);
|
|
75
|
+
}
|
|
76
|
+
async getHomeFolderQuota() {
|
|
77
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
78
|
+
return getHomeFolderQuota(token, baseUrl);
|
|
79
|
+
}
|
|
80
|
+
async statHomeFolderObject(path) {
|
|
81
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
82
|
+
return statHomeFolderObject(token, path, baseUrl);
|
|
83
|
+
}
|
|
84
|
+
async listHomeFolderObjectVersions(objectUid, options = {}) {
|
|
85
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
86
|
+
return listHomeFolderObjectVersions(token, objectUid, options, baseUrl);
|
|
87
|
+
}
|
|
88
|
+
async deleteHomeFolderObject(objectUid, idempotencyKey) {
|
|
89
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
90
|
+
return deleteHomeFolderObject(token, objectUid, idempotencyKey, baseUrl);
|
|
91
|
+
}
|
|
92
|
+
async restoreHomeFolderObject(objectUid, request, idempotencyKey) {
|
|
93
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
94
|
+
return restoreHomeFolderObject(token, objectUid, request, idempotencyKey, baseUrl);
|
|
95
|
+
}
|
|
96
|
+
async createContentTransfer(request, idempotencyKey) {
|
|
97
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
98
|
+
return createTransfer(token, request, idempotencyKey, baseUrl);
|
|
99
|
+
}
|
|
100
|
+
async getContentTransfer(transferUid) {
|
|
101
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
102
|
+
return getTransfer(token, transferUid, baseUrl);
|
|
103
|
+
}
|
|
104
|
+
async listContentTransfers(options = {}) {
|
|
105
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
106
|
+
return listTransfers(token, options, baseUrl);
|
|
107
|
+
}
|
|
108
|
+
async uploadContentTransferPart(transferUid, partNumber, content, checksum) {
|
|
109
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
110
|
+
return uploadTransferPart(token, transferUid, partNumber, content, checksum, baseUrl);
|
|
111
|
+
}
|
|
112
|
+
async completeContentTransfer(transferUid) {
|
|
113
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
114
|
+
return completeTransfer(token, transferUid, baseUrl);
|
|
115
|
+
}
|
|
116
|
+
async cancelContentTransfer(transferUid) {
|
|
117
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
118
|
+
return cancelTransfer(token, transferUid, baseUrl);
|
|
119
|
+
}
|
|
120
|
+
async uploadHomeFolderFile(path, content, options) {
|
|
121
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
122
|
+
return uploadHomeFolderFile(token, path, content, options, baseUrl);
|
|
123
|
+
}
|
|
124
|
+
async downloadHomeFolderObject(objectUid, options = {}) {
|
|
125
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
126
|
+
return downloadHomeFolderObject(token, objectUid, options, baseUrl);
|
|
127
|
+
}
|
|
128
|
+
async updateContentSource(sourceUid, update, etag) {
|
|
129
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
130
|
+
return updateSource(token, sourceUid, update, etag, baseUrl);
|
|
131
|
+
}
|
|
132
|
+
async archiveContentSource(sourceUid, etag) {
|
|
133
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
134
|
+
return archiveSource(token, sourceUid, etag, baseUrl);
|
|
135
|
+
}
|
|
136
|
+
async getContentSourcePermissions(sourceUid) {
|
|
137
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
138
|
+
return getSourcePermissions(token, sourceUid, baseUrl);
|
|
139
|
+
}
|
|
140
|
+
async getContentSourceSharing(sourceUid) {
|
|
141
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
142
|
+
return getSourceSharing(token, sourceUid, baseUrl);
|
|
143
|
+
}
|
|
144
|
+
async replaceContentSourceSharing(sourceUid, sharing, etag) {
|
|
145
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
146
|
+
return replaceSourceSharing(token, sourceUid, sharing, etag, baseUrl);
|
|
147
|
+
}
|
|
148
|
+
async getContentOperation(operationUid) {
|
|
149
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
150
|
+
return getOperation(token, operationUid, baseUrl);
|
|
151
|
+
}
|
|
152
|
+
async cancelContentOperation(operationUid) {
|
|
153
|
+
const { token, baseUrl } = this.contentsRequestContext();
|
|
154
|
+
return cancelOperation(token, operationUid, baseUrl);
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
}
|
|
@@ -4,8 +4,6 @@ import { CreditsDTO } from '../../models/CreditsDTO';
|
|
|
4
4
|
import { HealthCheck } from '../../models/HealthCheck';
|
|
5
5
|
import { SecretDTO } from '../../models/Secret';
|
|
6
6
|
import type { CreateSecretRequest, UpdateSecretRequest } from '../../models/Secret';
|
|
7
|
-
import { DatasourceDTO } from '../../models/Datasource';
|
|
8
|
-
import type { CreateDatasourceRequest, UpdateDatasourceRequest } from '../../models/Datasource';
|
|
9
7
|
/** IAM mixin providing authentication and user management. */
|
|
10
8
|
export declare function IAMMixin<TBase extends Constructor>(Base: TBase): {
|
|
11
9
|
new (...args: any[]): {
|
|
@@ -83,34 +81,5 @@ export declare function IAMMixin<TBase extends Constructor>(Base: TBase): {
|
|
|
83
81
|
* @param secretId - Secret unique identifier
|
|
84
82
|
*/
|
|
85
83
|
deleteSecret(secretId: string): Promise<void>;
|
|
86
|
-
/**
|
|
87
|
-
* Create a new datasource.
|
|
88
|
-
* @param data - Datasource configuration
|
|
89
|
-
* @returns Created datasource instance
|
|
90
|
-
*/
|
|
91
|
-
createDatasource(data: CreateDatasourceRequest): Promise<DatasourceDTO>;
|
|
92
|
-
/**
|
|
93
|
-
* List all datasources.
|
|
94
|
-
* @returns Array of datasource instances
|
|
95
|
-
*/
|
|
96
|
-
listDatasources(): Promise<DatasourceDTO[]>;
|
|
97
|
-
/**
|
|
98
|
-
* Get a specific datasource by ID.
|
|
99
|
-
* @param datasourceId - Datasource unique identifier
|
|
100
|
-
* @returns Datasource instance
|
|
101
|
-
*/
|
|
102
|
-
getDatasource(datasourceId: string): Promise<DatasourceDTO>;
|
|
103
|
-
/**
|
|
104
|
-
* Update a datasource.
|
|
105
|
-
* @param datasourceId - Datasource unique identifier
|
|
106
|
-
* @param updates - Fields to update
|
|
107
|
-
* @returns Updated datasource instance
|
|
108
|
-
*/
|
|
109
|
-
updateDatasource(datasourceId: string, updates: UpdateDatasourceRequest): Promise<DatasourceDTO>;
|
|
110
|
-
/**
|
|
111
|
-
* Delete a datasource.
|
|
112
|
-
* @param datasourceId - Datasource unique identifier
|
|
113
|
-
*/
|
|
114
|
-
deleteDatasource(datasourceId: string): Promise<void>;
|
|
115
84
|
};
|
|
116
85
|
} & TBase;
|
|
@@ -10,12 +10,10 @@ import * as authentication from '../../api/iam/authentication.js';
|
|
|
10
10
|
import * as profile from '../../api/iam/profile.js';
|
|
11
11
|
import * as usage from '../../api/iam/usage.js';
|
|
12
12
|
import * as secrets from '../../api/iam/secrets.js';
|
|
13
|
-
import * as datasources from '../../api/iam/datasources.js';
|
|
14
13
|
import { UserDTO } from '../../models/UserDTO.js';
|
|
15
14
|
import { CreditsDTO } from '../../models/CreditsDTO.js';
|
|
16
15
|
import { HealthCheck } from '../../models/HealthCheck.js';
|
|
17
16
|
import { SecretDTO } from '../../models/Secret.js';
|
|
18
|
-
import { DatasourceDTO } from '../../models/Datasource.js';
|
|
19
17
|
/** IAM mixin providing authentication and user management. */
|
|
20
18
|
export function IAMMixin(Base) {
|
|
21
19
|
return class extends Base {
|
|
@@ -237,61 +235,5 @@ export function IAMMixin(Base) {
|
|
|
237
235
|
const iamUrl = this.getIamUrl();
|
|
238
236
|
await secrets.deleteSecret(token, secretId, iamUrl);
|
|
239
237
|
}
|
|
240
|
-
// ========================================================================
|
|
241
|
-
// Datasources Management
|
|
242
|
-
// ========================================================================
|
|
243
|
-
/**
|
|
244
|
-
* Create a new datasource.
|
|
245
|
-
* @param data - Datasource configuration
|
|
246
|
-
* @returns Created datasource instance
|
|
247
|
-
*/
|
|
248
|
-
async createDatasource(data) {
|
|
249
|
-
const token = this.getToken();
|
|
250
|
-
const iamUrl = this.getIamUrl();
|
|
251
|
-
const response = await datasources.createDatasource(token, data, iamUrl);
|
|
252
|
-
return new DatasourceDTO(response.datasource, this);
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* List all datasources.
|
|
256
|
-
* @returns Array of datasource instances
|
|
257
|
-
*/
|
|
258
|
-
async listDatasources() {
|
|
259
|
-
const token = this.getToken();
|
|
260
|
-
const iamUrl = this.getIamUrl();
|
|
261
|
-
const response = await datasources.listDatasources(token, iamUrl);
|
|
262
|
-
return response.datasources.map(d => new DatasourceDTO(d, this));
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Get a specific datasource by ID.
|
|
266
|
-
* @param datasourceId - Datasource unique identifier
|
|
267
|
-
* @returns Datasource instance
|
|
268
|
-
*/
|
|
269
|
-
async getDatasource(datasourceId) {
|
|
270
|
-
const token = this.getToken();
|
|
271
|
-
const iamUrl = this.getIamUrl();
|
|
272
|
-
const response = await datasources.getDatasource(token, datasourceId, iamUrl);
|
|
273
|
-
return new DatasourceDTO(response.datasource, this);
|
|
274
|
-
}
|
|
275
|
-
/**
|
|
276
|
-
* Update a datasource.
|
|
277
|
-
* @param datasourceId - Datasource unique identifier
|
|
278
|
-
* @param updates - Fields to update
|
|
279
|
-
* @returns Updated datasource instance
|
|
280
|
-
*/
|
|
281
|
-
async updateDatasource(datasourceId, updates) {
|
|
282
|
-
const token = this.getToken();
|
|
283
|
-
const iamUrl = this.getIamUrl();
|
|
284
|
-
const response = await datasources.updateDatasource(token, datasourceId, updates, iamUrl);
|
|
285
|
-
return new DatasourceDTO(response.datasource, this);
|
|
286
|
-
}
|
|
287
|
-
/**
|
|
288
|
-
* Delete a datasource.
|
|
289
|
-
* @param datasourceId - Datasource unique identifier
|
|
290
|
-
*/
|
|
291
|
-
async deleteDatasource(datasourceId) {
|
|
292
|
-
const token = this.getToken();
|
|
293
|
-
const iamUrl = this.getIamUrl();
|
|
294
|
-
await datasources.deleteDatasource(token, datasourceId, iamUrl);
|
|
295
|
-
}
|
|
296
238
|
};
|
|
297
239
|
}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx } 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 { useEffect, useMemo, useState } from 'react';
|
|
7
3
|
/** The Primer foreground tokens, which carry the theme with them. */
|
|
8
4
|
const THEME_COLORS = {
|
|
@@ -1,10 +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
|
-
* Datalayer License
|
|
7
|
-
*/
|
|
8
2
|
import { useState } from 'react';
|
|
9
3
|
import { Button, FormControl, TextInput } from '@primer/react';
|
|
10
4
|
import { Box } from '@datalayer/primer-addons';
|
|
@@ -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 { useEffect, useState } from 'react';
|
|
7
3
|
import { PageConfig, URLExt } from '@jupyterlab/coreutils';
|
|
8
4
|
import { EyeIcon, EyeClosedIcon, MarkGithubIcon } from '@primer/octicons-react';
|
|
@@ -9,7 +9,7 @@ import type { StoryObj } from '@storybook/react-vite';
|
|
|
9
9
|
*/
|
|
10
10
|
declare const meta: {
|
|
11
11
|
title: string;
|
|
12
|
-
component: (props: import("./SignIn").ISigninProps) => JSX.Element;
|
|
12
|
+
component: (props: import("./SignIn").ISigninProps) => import("react").JSX.Element;
|
|
13
13
|
parameters: {
|
|
14
14
|
layout: string;
|
|
15
15
|
};
|
|
@@ -24,7 +24,7 @@ declare const meta: {
|
|
|
24
24
|
showGitHubLogin?: boolean | undefined;
|
|
25
25
|
showGoogleLogin?: boolean | undefined;
|
|
26
26
|
showTokenLogin?: boolean | undefined;
|
|
27
|
-
}>) => import("react
|
|
27
|
+
}>) => import("react").JSX.Element)[];
|
|
28
28
|
tags: string[];
|
|
29
29
|
};
|
|
30
30
|
export default meta;
|
|
@@ -8,5 +8,5 @@ type IBoringAvatarProps = {
|
|
|
8
8
|
/** Custom color palette passed to boring-avatars. When omitted the default Datalayer palette is used. */
|
|
9
9
|
colors?: string[];
|
|
10
10
|
};
|
|
11
|
-
export declare const BoringAvatar: ({ displayName, variant, size, square, style, colors, }: IBoringAvatarProps) => import("react
|
|
11
|
+
export declare const BoringAvatar: ({ displayName, variant, size, square, style, colors, }: IBoringAvatarProps) => import("react").JSX.Element;
|
|
12
12
|
export default BoringAvatar;
|
|
@@ -20,5 +20,5 @@ export type DLAvatarProps = Omit<AvatarProps, 'src'> & {
|
|
|
20
20
|
* `lh3.googleusercontent.com` (Google), LinkedIn media, etc. do not
|
|
21
21
|
* deny the request based on the `Referer` header.
|
|
22
22
|
*/
|
|
23
|
-
export declare const DLAvatar: ({ src, ...rest }: DLAvatarProps) => import("react
|
|
23
|
+
export declare const DLAvatar: ({ src, ...rest }: DLAvatarProps) => import("react").JSX.Element;
|
|
24
24
|
export default DLAvatar;
|
|
@@ -3,10 +3,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
4
4
|
* Distributed under the terms of the Modified BSD License.
|
|
5
5
|
*/
|
|
6
|
-
/*
|
|
7
|
-
* Copyright (c) 2023-2026 Datalayer, Inc.
|
|
8
|
-
* Distributed under the terms of the Modified BSD License.
|
|
9
|
-
*/
|
|
10
6
|
import { Avatar } from '@primer/react';
|
|
11
7
|
import { getAvatarURL } from '../../utils/index.js';
|
|
12
8
|
/**
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UserAvatar – Single source of truth for rendering a user's avatar.
|
|
3
|
+
*
|
|
4
|
+
* When a real (non-Gravatar) avatar URL is available it renders a
|
|
5
|
+
* {@link DLAvatar}. Otherwise it falls back to a themed, colormoded
|
|
6
|
+
* {@link AlienIcon} placeholder so every consumer (profile, sidebar,
|
|
7
|
+
* principal overlay, …) shares the same default look.
|
|
8
|
+
*/
|
|
9
|
+
import type { JSX } from 'react';
|
|
1
10
|
/**
|
|
2
11
|
* Returns `true` when the given URL points to a real user avatar (i.e. not a
|
|
3
12
|
* Gravatar default placeholder).
|
|
@@ -16,7 +25,15 @@ export type UserAvatarProps = {
|
|
|
16
25
|
fallbackBackground?: string;
|
|
17
26
|
/** Optional icon foreground color override for the default avatar. */
|
|
18
27
|
fallbackForeground?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Whether a ring is drawn around the avatar.
|
|
30
|
+
*
|
|
31
|
+
* Off by default: an avatar sits on its own in most places, and a ring
|
|
32
|
+
* there is one more line for nothing. On, it gives the avatar an edge of
|
|
33
|
+
* its own against a background of the same colour — a profile page, a card.
|
|
34
|
+
*/
|
|
35
|
+
ring?: boolean;
|
|
19
36
|
className?: string;
|
|
20
37
|
};
|
|
21
|
-
export declare const UserAvatar: ({ avatarUrl, avatarIcon, size, square, iconSize, fallbackBackground, fallbackForeground, className, }: UserAvatarProps) => JSX.Element;
|
|
38
|
+
export declare const UserAvatar: ({ avatarUrl, avatarIcon, size, square, iconSize, fallbackBackground, fallbackForeground, ring, className, }: UserAvatarProps) => JSX.Element;
|
|
22
39
|
export default UserAvatar;
|
|
@@ -1,16 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
4
|
-
* Distributed under the terms of the Modified BSD License.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* UserAvatar – Single source of truth for rendering a user's avatar.
|
|
8
|
-
*
|
|
9
|
-
* When a real (non-Gravatar) avatar URL is available it renders a
|
|
10
|
-
* {@link DLAvatar}. Otherwise it falls back to a themed, colormoded
|
|
11
|
-
* {@link AlienIcon} placeholder so every consumer (profile, sidebar,
|
|
12
|
-
* principal overlay, …) shares the same default look.
|
|
13
|
-
*/
|
|
14
2
|
import { AlienIcon } from '@datalayer/icons-react';
|
|
15
3
|
import { Box, useColorPalette } from '@datalayer/primer-addons';
|
|
16
4
|
import { DLAvatar } from './DLAvatar.js';
|
|
@@ -28,8 +16,18 @@ export function hasRealAvatar(url) {
|
|
|
28
16
|
}
|
|
29
17
|
return true;
|
|
30
18
|
}
|
|
31
|
-
export const UserAvatar = ({ avatarUrl, avatarIcon, size = 100, square = true, iconSize, fallbackBackground, fallbackForeground, className, }) => {
|
|
19
|
+
export const UserAvatar = ({ avatarUrl, avatarIcon, size = 100, square = true, iconSize, fallbackBackground, fallbackForeground, ring = false, className, }) => {
|
|
32
20
|
const palette = useColorPalette();
|
|
21
|
+
/*
|
|
22
|
+
* The ring, as a shadow rather than a border.
|
|
23
|
+
*
|
|
24
|
+
* A border would take from the size asked for — the avatar is laid out
|
|
25
|
+
* against others of the same measure — so it is drawn just outside the
|
|
26
|
+
* edge instead, following whatever shape the avatar has.
|
|
27
|
+
*/
|
|
28
|
+
const ringSx = ring
|
|
29
|
+
? { boxShadow: '0 0 0 1px var(--borderColor-default, currentColor)' }
|
|
30
|
+
: undefined;
|
|
33
31
|
const SelectedIcon = getPrincipalAvatarIcon(avatarIcon);
|
|
34
32
|
if (SelectedIcon) {
|
|
35
33
|
return (_jsx(Box, { className: className, sx: {
|
|
@@ -42,10 +40,11 @@ export const UserAvatar = ({ avatarUrl, avatarIcon, size = 100, square = true, i
|
|
|
42
40
|
justifyContent: 'center',
|
|
43
41
|
bg: fallbackBackground || 'accent.subtle',
|
|
44
42
|
'--datalayer-icon-fg': fallbackForeground || palette.primary,
|
|
43
|
+
...ringSx,
|
|
45
44
|
}, children: _jsx(SelectedIcon, { size: iconSize ?? Math.round(size * 0.62), themed: true, colormode: true }) }));
|
|
46
45
|
}
|
|
47
46
|
if (hasRealAvatar(avatarUrl)) {
|
|
48
|
-
return _jsx(DLAvatar, { className: className, square: square, src: avatarUrl, size: size });
|
|
47
|
+
return (_jsx(DLAvatar, { className: className, square: square, src: avatarUrl, size: size, sx: ringSx }));
|
|
49
48
|
}
|
|
50
49
|
const resolvedIconSize = iconSize ?? Math.round(size * 0.48);
|
|
51
50
|
return (_jsx(Box, { className: className, sx: {
|
|
@@ -57,6 +56,7 @@ export const UserAvatar = ({ avatarUrl, avatarIcon, size = 100, square = true, i
|
|
|
57
56
|
alignItems: 'center',
|
|
58
57
|
justifyContent: 'center',
|
|
59
58
|
'--datalayer-icon-fg': fallbackForeground || palette.primary,
|
|
59
|
+
...ringSx,
|
|
60
60
|
}, children: _jsx(AlienIcon, { size: resolvedIconSize, themed: true, colormode: true }) }));
|
|
61
61
|
};
|
|
62
62
|
export default UserAvatar;
|
|
@@ -4,5 +4,5 @@ type IUserProfileAvatarProps = {
|
|
|
4
4
|
size?: number;
|
|
5
5
|
onClick?: React.MouseEventHandler<any>;
|
|
6
6
|
};
|
|
7
|
-
export declare const UserProfileAvatar: ({ onClick, user, size, }: IUserProfileAvatarProps) => import("react
|
|
7
|
+
export declare const UserProfileAvatar: ({ onClick, user, size, }: IUserProfileAvatarProps) => import("react").JSX.Element;
|
|
8
8
|
export default UserProfileAvatar;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const NoAutomationBanner: () => import("react
|
|
1
|
+
export declare const NoAutomationBanner: () => import("react").JSX.Element;
|
|
2
2
|
export default NoAutomationBanner;
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BillingEntitySelect — self-contained dropdown that lets the user pick a
|
|
3
|
+
* billing entity (personal, organization, or eligible team) for runs that
|
|
4
|
+
* consume wallet credits.
|
|
5
|
+
*
|
|
6
|
+
* Encapsulates eligibility merge logic and account-detail fetching. Callers
|
|
7
|
+
* only need to provide a value/onChange pair and optionally observe the full
|
|
8
|
+
* resolved account via `onSelectedAccountChange`.
|
|
9
|
+
*/
|
|
10
|
+
import type { JSX } from 'react';
|
|
1
11
|
export type BillingEntityType = 'user' | 'organization' | 'team';
|
|
2
12
|
export type BillingEntity = {
|
|
3
13
|
accountUid: string;
|
|
@@ -1,21 +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
|
-
/*
|
|
7
|
-
* Copyright (c) 2023-2026 Datalayer, Inc.
|
|
8
|
-
* Distributed under the terms of the Modified BSD License.
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* BillingEntitySelect — self-contained dropdown that lets the user pick a
|
|
12
|
-
* billing entity (personal, organization, or eligible team) for runs that
|
|
13
|
-
* consume wallet credits.
|
|
14
|
-
*
|
|
15
|
-
* Encapsulates eligibility merge logic and account-detail fetching. Callers
|
|
16
|
-
* only need to provide a value/onChange pair and optionally observe the full
|
|
17
|
-
* resolved account via `onSelectedAccountChange`.
|
|
18
|
-
*/
|
|
19
2
|
import { useCallback, useEffect, useMemo, useRef, Fragment } from 'react';
|
|
20
3
|
import { ActionList, ActionMenu, Button, FormControl, Label, Spinner, Text, } from '@primer/react';
|
|
21
4
|
import { OrganizationIcon, PeopleIcon, PersonIcon, } from '@primer/octicons-react';
|
|
@@ -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 './BillingEntitySelect.js';
|
|
@@ -4,5 +4,5 @@ type IDownloadCSVButtonProps = {
|
|
|
4
4
|
fileName: string;
|
|
5
5
|
variant?: VariantType;
|
|
6
6
|
};
|
|
7
|
-
export declare const DownloadCSVButton: ({ data, fileName, variant, }: IDownloadCSVButtonProps) => import("react
|
|
7
|
+
export declare const DownloadCSVButton: ({ data, fileName, variant, }: IDownloadCSVButtonProps) => import("react").JSX.Element;
|
|
8
8
|
export default DownloadCSVButton;
|
|
@@ -5,5 +5,5 @@ type IDownloadJsonButtonProps = {
|
|
|
5
5
|
extension?: string;
|
|
6
6
|
variant?: VariantType;
|
|
7
7
|
};
|
|
8
|
-
export declare const DownloadJsonButton: ({ data, fileName, variant, extension, }: IDownloadJsonButtonProps) => import("react
|
|
8
|
+
export declare const DownloadJsonButton: ({ data, fileName, variant, extension, }: IDownloadJsonButtonProps) => import("react").JSX.Element;
|
|
9
9
|
export default DownloadJsonButton;
|