@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.
Files changed (366) hide show
  1. package/README.md +2 -2
  2. package/lib/api/DatalayerApi.d.ts +42 -1
  3. package/lib/api/DatalayerApi.js +90 -3
  4. package/lib/api/constants.d.ts +18 -0
  5. package/lib/api/constants.js +18 -0
  6. package/lib/api/contents/attachments.d.ts +9 -0
  7. package/lib/api/contents/attachments.js +43 -0
  8. package/lib/api/contents/bridges.d.ts +22 -0
  9. package/lib/api/contents/bridges.js +79 -0
  10. package/lib/api/contents/capabilities.d.ts +11 -0
  11. package/lib/api/contents/capabilities.js +21 -0
  12. package/lib/api/contents/cloudStorage.d.ts +31 -0
  13. package/lib/api/contents/cloudStorage.js +89 -0
  14. package/lib/api/contents/dataservers.d.ts +37 -0
  15. package/lib/api/contents/dataservers.js +121 -0
  16. package/lib/api/contents/datasets.d.ts +15 -0
  17. package/lib/api/contents/datasets.js +45 -0
  18. package/lib/api/contents/datasources.d.ts +70 -0
  19. package/lib/api/contents/datasources.js +149 -0
  20. package/lib/api/contents/generated.d.ts +1070 -0
  21. package/lib/api/contents/index.d.ts +16 -0
  22. package/lib/api/contents/index.js +20 -0
  23. package/lib/api/contents/mcp.d.ts +46 -0
  24. package/lib/api/contents/mcp.js +157 -0
  25. package/lib/api/contents/objects.d.ts +31 -0
  26. package/lib/api/contents/objects.js +88 -0
  27. package/lib/api/contents/operations.d.ts +3 -0
  28. package/lib/api/contents/operations.js +19 -0
  29. package/lib/api/contents/runtimeMounts.d.ts +40 -0
  30. package/lib/api/contents/runtimeMounts.js +59 -0
  31. package/lib/api/contents/sandboxUid.d.ts +53 -0
  32. package/lib/api/contents/sandboxUid.js +78 -0
  33. package/lib/api/contents/sources.d.ts +19 -0
  34. package/lib/api/contents/sources.js +119 -0
  35. package/lib/api/contents/sync.d.ts +18 -0
  36. package/lib/api/contents/sync.js +69 -0
  37. package/lib/api/contents/transfers.d.ts +38 -0
  38. package/lib/api/contents/transfers.js +123 -0
  39. package/lib/api/iam/connectedAgents.d.ts +39 -0
  40. package/lib/api/iam/connectedAgents.js +52 -0
  41. package/lib/api/iam/index.d.ts +2 -1
  42. package/lib/api/iam/index.js +2 -1
  43. package/lib/api/iam/mcpAlertRules.d.ts +51 -0
  44. package/lib/api/iam/mcpAlertRules.js +198 -0
  45. package/lib/api/iam/mcpAuditSettings.d.ts +46 -0
  46. package/lib/api/iam/mcpAuditSettings.js +120 -0
  47. package/lib/api/iam/mcpPolicy.d.ts +80 -0
  48. package/lib/api/iam/mcpPolicy.js +132 -0
  49. package/lib/api/iam/organizationTeams.d.ts +13 -0
  50. package/lib/api/iam/organizationTeams.js +43 -0
  51. package/lib/api/iam/serviceAgents.d.ts +68 -0
  52. package/lib/api/iam/serviceAgents.js +119 -0
  53. package/lib/api/index.d.ts +4 -1
  54. package/lib/api/index.js +3 -1
  55. package/lib/api/mcp/activity.d.ts +37 -0
  56. package/lib/api/mcp/activity.js +26 -0
  57. package/lib/api/mcp/alerts.d.ts +25 -0
  58. package/lib/api/mcp/alerts.js +51 -0
  59. package/lib/api/mcp/audit.d.ts +29 -0
  60. package/lib/api/mcp/audit.js +55 -0
  61. package/lib/api/mcp/bindings.d.ts +18 -0
  62. package/lib/api/mcp/bindings.js +42 -0
  63. package/lib/api/mcp/forwarding.d.ts +25 -0
  64. package/lib/api/mcp/forwarding.js +46 -0
  65. package/lib/api/mcp/gateway.d.ts +16 -0
  66. package/lib/api/mcp/gateway.js +70 -0
  67. package/lib/api/mcp/generated.d.ts +22 -0
  68. package/lib/api/mcp/generated.js +213 -0
  69. package/lib/api/mcp/index.d.ts +17 -0
  70. package/lib/api/mcp/index.js +25 -0
  71. package/lib/api/mcp/observability.d.ts +125 -0
  72. package/lib/api/mcp/observability.js +254 -0
  73. package/lib/api/mcp/operations.d.ts +83 -0
  74. package/lib/api/mcp/operations.js +50 -0
  75. package/lib/api/mcp/organizations.d.ts +102 -0
  76. package/lib/api/mcp/organizations.js +46 -0
  77. package/lib/api/mcp/policy.d.ts +9 -0
  78. package/lib/api/mcp/policy.js +23 -0
  79. package/lib/api/mcp/tasks.d.ts +49 -0
  80. package/lib/api/mcp/tasks.js +147 -0
  81. package/lib/api/utils/validation.d.ts +1 -1
  82. package/lib/api/utils/validation.js +1 -1
  83. package/lib/client/auth/index.js +0 -5
  84. package/lib/client/auth/storage.js +0 -5
  85. package/lib/client/auth/strategies.js +0 -5
  86. package/lib/client/base.d.ts +6 -0
  87. package/lib/client/base.js +8 -0
  88. package/lib/client/index.d.ts +0 -10
  89. package/lib/client/index.js +2 -2
  90. package/lib/client/mixins/ContentsMixin.d.ts +71 -0
  91. package/lib/client/mixins/ContentsMixin.js +157 -0
  92. package/lib/client/mixins/IAMMixin.d.ts +0 -31
  93. package/lib/client/mixins/IAMMixin.js +0 -58
  94. package/lib/components/animation/AnimatedText.d.ts +1 -0
  95. package/lib/components/animation/AnimatedText.js +0 -4
  96. package/lib/components/auth/SigInAPIKey.d.ts +1 -0
  97. package/lib/components/auth/SigInAPIKey.js +0 -6
  98. package/lib/components/auth/SignIn.d.ts +1 -0
  99. package/lib/components/auth/SignIn.js +0 -4
  100. package/lib/components/auth/SignIn.stories.d.ts +2 -2
  101. package/lib/components/avatars/BoringAvatar.d.ts +1 -1
  102. package/lib/components/avatars/BoringAvatar.stories.d.ts +1 -1
  103. package/lib/components/avatars/DLAvatar.d.ts +1 -1
  104. package/lib/components/avatars/DLAvatar.js +0 -4
  105. package/lib/components/avatars/UserAvatar.d.ts +18 -1
  106. package/lib/components/avatars/UserAvatar.js +14 -14
  107. package/lib/components/avatars/UserProfileAvatar.d.ts +1 -1
  108. package/lib/components/banners/NoAutomationBanner.d.ts +1 -1
  109. package/lib/components/billing/BillingEntitySelect.d.ts +10 -0
  110. package/lib/components/billing/BillingEntitySelect.js +0 -17
  111. package/lib/components/billing/index.js +0 -4
  112. package/lib/components/buttons/DownloadCSVButton.d.ts +1 -1
  113. package/lib/components/buttons/DownloadJsonButton.d.ts +1 -1
  114. package/lib/components/buttons/LongActionButton.d.ts +1 -0
  115. package/lib/components/buttons/LongActionButton.js +0 -4
  116. package/lib/components/buttons/UploadButton.d.ts +1 -0
  117. package/lib/components/buttons/UploadButton.js +0 -4
  118. package/lib/components/checkout/StripeCheckout.d.ts +1 -1
  119. package/lib/components/collaboration/LiveEditorCollaborators.d.ts +31 -0
  120. package/lib/components/collaboration/LiveEditorCollaborators.js +98 -53
  121. package/lib/components/collaboration/index.js +0 -4
  122. package/lib/components/confetti/ConfettiSuccess.d.ts +1 -1
  123. package/lib/components/contents/ContentSourceCard.d.ts +8 -0
  124. package/lib/components/contents/ContentSourceCard.js +23 -0
  125. package/lib/components/contents/HomeFolderObjectsBrowser.d.ts +10 -0
  126. package/lib/components/contents/HomeFolderObjectsBrowser.js +148 -0
  127. package/lib/components/contents/index.d.ts +2 -0
  128. package/lib/components/contents/index.js +6 -0
  129. package/lib/components/context/OrganizationSelect.d.ts +1 -1
  130. package/lib/components/display/AvatarSkeleton.d.ts +1 -1
  131. package/lib/components/display/BusyDots.d.ts +1 -1
  132. package/lib/components/display/CenteredSpinner.d.ts +1 -1
  133. package/lib/components/display/CodePreview.d.ts +1 -1
  134. package/lib/components/display/DatalayerBox.d.ts +7 -2
  135. package/lib/components/display/DatalayerBox.js +6 -6
  136. package/lib/components/display/HorizontalCenter.d.ts +1 -1
  137. package/lib/components/display/JupyterDialog.d.ts +1 -0
  138. package/lib/components/display/JupyterDialog.js +1 -7
  139. package/lib/components/display/Markdown.d.ts +1 -0
  140. package/lib/components/display/NotebookSkeleton.d.ts +1 -1
  141. package/lib/components/display/Placeholder.d.ts +1 -1
  142. package/lib/components/display/ToTopBranded.d.ts +1 -1
  143. package/lib/components/echarts/EChartsReact.d.ts +1 -1
  144. package/lib/components/flashes/FlashClosable.d.ts +1 -0
  145. package/lib/components/flashes/FlashClosable.js +0 -4
  146. package/lib/components/flashes/FlashGuest.d.ts +1 -1
  147. package/lib/components/flashes/FlashSurveys.d.ts +1 -1
  148. package/lib/components/flashes/FlashUnauthorized.d.ts +1 -0
  149. package/lib/components/flashes/FlashUnauthorized.js +0 -6
  150. package/lib/components/flashes/surveys/Survey2025_1.d.ts +1 -1
  151. package/lib/components/iam/ExternalTokenSilentLogin.d.ts +1 -1
  152. package/lib/components/index.d.ts +2 -0
  153. package/lib/components/index.js +2 -0
  154. package/lib/components/labels/StatusLabels.d.ts +10 -0
  155. package/lib/components/labels/StatusLabels.js +30 -1
  156. package/lib/components/labels/VisibilityLabel.d.ts +1 -1
  157. package/lib/components/landings/StepBlock.d.ts +1 -1
  158. package/lib/components/mcp/ClientBadge.d.ts +41 -0
  159. package/lib/components/mcp/ClientBadge.js +33 -0
  160. package/lib/components/mcp/McpErrorBlankslate.d.ts +21 -0
  161. package/lib/components/mcp/McpErrorBlankslate.js +17 -0
  162. package/lib/components/mcp/ScopeList.d.ts +28 -0
  163. package/lib/components/mcp/ScopeList.js +14 -0
  164. package/lib/components/mcp/index.d.ts +10 -0
  165. package/lib/components/mcp/index.js +18 -0
  166. package/lib/components/navbar/NavigationVisbilityObserver.d.ts +2 -1
  167. package/lib/components/navbar/SubdomainNavBar.d.ts +10 -5
  168. package/lib/components/navbar/SubdomainNavBar.js +2 -1
  169. package/lib/components/notebooks/JupyterNotebook.d.ts +1 -1
  170. package/lib/components/notebooks/JupyterNotebookToolbar.d.ts +1 -1
  171. package/lib/components/principal/PrincipalAppearance.d.ts +1 -0
  172. package/lib/components/principal/PrincipalAppearance.js +0 -8
  173. package/lib/components/principal/PrincipalAvatar.d.ts +9 -1
  174. package/lib/components/principal/PrincipalAvatar.js +25 -10
  175. package/lib/components/principal/PrincipalBadge.d.ts +1 -1
  176. package/lib/components/principal/PrincipalBanner.d.ts +1 -1
  177. package/lib/components/principal/PrincipalDetailsOverlay.d.ts +31 -1
  178. package/lib/components/principal/PrincipalDetailsOverlay.js +64 -33
  179. package/lib/components/principal/PrincipalHoverCard.d.ts +31 -0
  180. package/lib/components/principal/PrincipalHoverCard.js +52 -0
  181. package/lib/components/principal/PrincipalSwitcherMenu.d.ts +1 -0
  182. package/lib/components/principal/PrincipalSwitcherMenu.js +7 -15
  183. package/lib/components/principal/index.d.ts +2 -1
  184. package/lib/components/principal/index.js +2 -1
  185. package/lib/components/progress/ConsumptionBar.d.ts +1 -0
  186. package/lib/components/progress/ConsumptionBar.js +0 -4
  187. package/lib/components/progress/ProgressRing.d.ts +1 -0
  188. package/lib/components/progress/SpinnerBar.d.ts +1 -1
  189. package/lib/components/progress/Timer.d.ts +1 -0
  190. package/lib/components/progress/Timer.js +0 -4
  191. package/lib/components/screencapture/ScreencaptureButton.d.ts +1 -1
  192. package/lib/components/sharing/ShareAccessComponent.d.ts +15 -1
  193. package/lib/components/sharing/ShareAccessComponent.js +36 -23
  194. package/lib/components/sharing/SharingEditor.d.ts +17 -0
  195. package/lib/components/sharing/SharingEditor.js +0 -24
  196. package/lib/components/sparklines/Sparklines.js +3 -4
  197. package/lib/components/sparklines/index.js +0 -4
  198. package/lib/components/storage/ContentsBrowser.d.ts +25 -1
  199. package/lib/components/storage/ContentsBrowser.js +145 -52
  200. package/lib/components/storage/ContentsBrowserMock.d.ts +3 -0
  201. package/lib/components/storage/ContentsBrowserMock.js +75 -0
  202. package/lib/components/storage/ContentsItems.d.ts +2 -1
  203. package/lib/components/storage/ContentsItems.js +0 -4
  204. package/lib/components/storage/ContentsTable.d.ts +50 -0
  205. package/lib/components/storage/ContentsTable.js +134 -0
  206. package/lib/components/storage/HomeFolderDrive.d.ts +71 -0
  207. package/lib/components/storage/HomeFolderDrive.js +248 -0
  208. package/lib/components/storage/index.d.ts +2 -0
  209. package/lib/components/storage/index.js +2 -0
  210. package/lib/components/students/StudentItemStatus.d.ts +1 -1
  211. package/lib/components/students/StudentResultCircle.d.ts +1 -1
  212. package/lib/components/subnav/SubNav.d.ts +5 -5
  213. package/lib/components/subnav/SubNav.js +11 -9
  214. package/lib/components/tables/DataTable.d.ts +1 -1
  215. package/lib/components/text-reveal/TextRevealAnimation.d.ts +2 -2
  216. package/lib/components/text-reveal/useTextRevealAnimationLines.d.ts +1 -1
  217. package/lib/components/time/LiveRelativeTime.d.ts +1 -0
  218. package/lib/components/time/LiveRelativeTime.js +0 -8
  219. package/lib/components/time/index.js +0 -4
  220. package/lib/components/timeline/Timeline.d.ts +1 -1
  221. package/lib/components/timeline/index.js +0 -4
  222. package/lib/components/users/PeerIndicator.d.ts +1 -0
  223. package/lib/components/users/PeerIndicator.js +0 -4
  224. package/lib/config/Configuration.d.ts +15 -17
  225. package/lib/config/Configuration.js +7 -0
  226. package/lib/hooks/index.d.ts +2 -0
  227. package/lib/hooks/index.js +2 -0
  228. package/lib/hooks/layouts/LayoutBackdrop.d.ts +1 -1
  229. package/lib/hooks/layouts/LayoutScreencapture.d.ts +1 -1
  230. package/lib/hooks/useBackdrop.d.ts +1 -1
  231. package/lib/hooks/useBackdropJupyterLab.d.ts +3 -2
  232. package/lib/hooks/useBackdropJupyterLab.js +0 -4
  233. package/lib/hooks/useCache.d.ts +310 -105
  234. package/lib/hooks/useCache.js +142 -355
  235. package/lib/hooks/useContainsFocus.d.ts +1 -1
  236. package/lib/hooks/useContents.d.ts +313 -0
  237. package/lib/hooks/useContents.js +964 -0
  238. package/lib/hooks/useFocusTrap.d.ts +4 -4
  239. package/lib/hooks/useFocusTrap.js +1 -1
  240. package/lib/hooks/useMcp.d.ts +229 -0
  241. package/lib/hooks/useMcp.js +656 -0
  242. package/lib/hooks/useMobile.js +0 -5
  243. package/lib/hooks/useProjectStore.d.ts +3 -3
  244. package/lib/hooks/useProjectStore.js +4 -4
  245. package/lib/hooks/useRef.d.ts +1 -1
  246. package/lib/hooks/useRef.js +3 -0
  247. package/lib/hooks/useScreencapture.d.ts +2 -1
  248. package/lib/hooks/useScreencapture.js +0 -4
  249. package/lib/hooks/useToast.js +0 -4
  250. package/lib/hooks/useUser.js +42 -0
  251. package/lib/hooks/useVisibilityObserver.d.ts +1 -1
  252. package/lib/index.d.ts +4 -1
  253. package/lib/index.js +3 -1
  254. package/lib/mocks/components/FlashMock.d.ts +1 -1
  255. package/lib/mocks/views/ActionMenuMock.d.ts +1 -1
  256. package/lib/mocks/views/ChartMock.d.ts +1 -1
  257. package/lib/mocks/views/DashboardMock.d.ts +1 -1
  258. package/lib/mocks/views/FormMock.d.ts +1 -1
  259. package/lib/mocks/views/TableMock.d.ts +1 -1
  260. package/lib/mocks/views/WipMock.d.ts +1 -1
  261. package/lib/models/Credits.d.ts +16 -0
  262. package/lib/models/Credits.js +22 -0
  263. package/lib/models/McpAuditEvent.d.ts +52 -0
  264. package/lib/models/McpAuditEvent.js +5 -0
  265. package/lib/models/McpBinding.d.ts +51 -0
  266. package/lib/models/McpBinding.js +5 -0
  267. package/lib/models/McpPolicy.d.ts +77 -0
  268. package/lib/models/McpPolicy.js +5 -0
  269. package/lib/models/McpTask.d.ts +94 -0
  270. package/lib/models/McpTask.js +7 -0
  271. package/lib/models/StartedBy.d.ts +57 -0
  272. package/lib/models/StartedBy.js +81 -0
  273. package/lib/models/UserDTO.js +4 -2
  274. package/lib/models/contents/__fixtures__/solr-codec.json +57 -0
  275. package/lib/models/contents/__fixtures__/v1-contracts.json +66 -0
  276. package/lib/models/contents/fieldCase.d.ts +8 -0
  277. package/lib/models/contents/fieldCase.js +37 -0
  278. package/lib/models/contents/index.d.ts +2 -0
  279. package/lib/models/contents/index.js +6 -0
  280. package/lib/models/contents/permissions.d.ts +16 -0
  281. package/lib/models/contents/permissions.js +34 -0
  282. package/lib/models/index.d.ts +5 -1
  283. package/lib/models/index.js +5 -1
  284. package/lib/state/substates/CoreState.d.ts +15 -7
  285. package/lib/state/substates/CoreState.js +18 -14
  286. package/lib/state/substates/IAMState.d.ts +1 -1
  287. package/lib/state/substates/IAMState.js +5 -5
  288. package/lib/state/substates/ProfileState.js +0 -4
  289. package/lib/state/substates/index.d.ts +0 -1
  290. package/lib/state/substates/index.js +0 -1
  291. package/lib/utils/Jwt.d.ts +26 -0
  292. package/lib/utils/Jwt.js +37 -0
  293. package/lib/utils/WithSuspense.d.ts +1 -1
  294. package/lib/views/api-keys/APIKeyEdit.d.ts +1 -1
  295. package/lib/views/api-keys/APIKeyNew.d.ts +1 -1
  296. package/lib/views/api-keys/APIKeys.d.ts +1 -1
  297. package/lib/views/api-keys/APIKeys.js +30 -4
  298. package/lib/views/api-keys/APIKeysStandalone.d.ts +5 -1
  299. package/lib/views/api-keys/APIKeysStandalone.js +2 -2
  300. package/lib/views/datasources/DatasourceDetail.d.ts +12 -5
  301. package/lib/views/datasources/DatasourceDetail.js +80 -110
  302. package/lib/views/datasources/DatasourceNew.d.ts +14 -8
  303. package/lib/views/datasources/DatasourceNew.js +129 -118
  304. package/lib/views/datasources/Datasources.d.ts +39 -7
  305. package/lib/views/datasources/Datasources.js +95 -40
  306. package/lib/views/datasources/DatasourcesMock.d.ts +3 -0
  307. package/lib/views/datasources/DatasourcesMock.js +57 -0
  308. package/lib/views/iam/SignInSimple.d.ts +12 -0
  309. package/lib/views/iam/SignInSimple.js +4 -4
  310. package/lib/views/index.d.ts +1 -0
  311. package/lib/views/index.js +1 -0
  312. package/lib/views/mcp/AlertDestinations.d.ts +34 -0
  313. package/lib/views/mcp/AlertDestinations.js +75 -0
  314. package/lib/views/mcp/AlertRules.d.ts +32 -0
  315. package/lib/views/mcp/AlertRules.js +245 -0
  316. package/lib/views/mcp/AuditLog.d.ts +42 -0
  317. package/lib/views/mcp/AuditLog.js +144 -0
  318. package/lib/views/mcp/ConnectedAgents.d.ts +34 -0
  319. package/lib/views/mcp/ConnectedAgents.js +100 -0
  320. package/lib/views/mcp/EnterpriseConsole.d.ts +74 -0
  321. package/lib/views/mcp/EnterpriseConsole.js +173 -0
  322. package/lib/views/mcp/McpDashboard.d.ts +50 -0
  323. package/lib/views/mcp/McpDashboard.js +347 -0
  324. package/lib/views/mcp/McpHome.d.ts +92 -0
  325. package/lib/views/mcp/McpHome.js +153 -0
  326. package/lib/views/mcp/McpObservability.d.ts +50 -0
  327. package/lib/views/mcp/McpObservability.js +150 -0
  328. package/lib/views/mcp/OrganizationPolicy.d.ts +45 -0
  329. package/lib/views/mcp/OrganizationPolicy.js +107 -0
  330. package/lib/views/mcp/OrganizationUsage.d.ts +69 -0
  331. package/lib/views/mcp/OrganizationUsage.js +113 -0
  332. package/lib/views/mcp/PersonalPolicy.d.ts +54 -0
  333. package/lib/views/mcp/PersonalPolicy.js +125 -0
  334. package/lib/views/mcp/Policies.d.ts +53 -0
  335. package/lib/views/mcp/Policies.js +210 -0
  336. package/lib/views/mcp/PolicyForm.d.ts +67 -0
  337. package/lib/views/mcp/PolicyForm.js +91 -0
  338. package/lib/views/mcp/PolicyHistory.d.ts +45 -0
  339. package/lib/views/mcp/PolicyHistory.js +62 -0
  340. package/lib/views/mcp/ServiceAgents.d.ts +46 -0
  341. package/lib/views/mcp/ServiceAgents.js +194 -0
  342. package/lib/views/mcp/TeamPolicies.d.ts +33 -0
  343. package/lib/views/mcp/TeamPolicies.js +98 -0
  344. package/lib/views/mcp/format.d.ts +25 -0
  345. package/lib/views/mcp/format.js +77 -0
  346. package/lib/views/mcp/index.d.ts +29 -0
  347. package/lib/views/mcp/index.js +37 -0
  348. package/lib/views/mcp/types.d.ts +66 -0
  349. package/lib/views/mcp/types.js +5 -0
  350. package/lib/views/secrets/SecretEdit.d.ts +5 -1
  351. package/lib/views/secrets/SecretEdit.js +2 -2
  352. package/lib/views/secrets/SecretNew.d.ts +11 -1
  353. package/lib/views/secrets/SecretNew.js +2 -2
  354. package/lib/views/secrets/Secrets.d.ts +12 -1
  355. package/lib/views/secrets/Secrets.js +2 -2
  356. package/package.json +28 -24
  357. package/scripts/generate-contents-types.py +169 -0
  358. package/scripts/generate-mcp-types.py +233 -0
  359. package/lib/api/iam/datasources.d.ts +0 -86
  360. package/lib/api/iam/datasources.js +0 -185
  361. package/lib/components/toolbars/index.d.ts +0 -1
  362. package/lib/models/Datasource.d.ts +0 -181
  363. package/lib/models/Datasource.js +0 -154
  364. package/lib/state/substates/DatasourceState.d.ts +0 -11
  365. package/lib/state/substates/DatasourceState.js +0 -16
  366. /package/lib/{components/toolbars/index.js → api/contents/generated.js} +0 -0
@@ -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,3 +1,4 @@
1
+ import type { JSX } from 'react';
1
2
  /**
2
3
  * One piece of an animated line.
3
4
  *
@@ -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,3 +1,4 @@
1
+ import type { JSX } from 'react';
1
2
  export interface ISigninAPIKeyProps {
2
3
  /**
3
4
  * Home page route to navigate to after successful login
@@ -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,3 +1,4 @@
1
+ import type { JSX } from 'react';
1
2
  export interface ISigninProps {
2
3
  /**
3
4
  * Page heading
@@ -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/jsx-runtime").JSX.Element)[];
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/jsx-runtime").JSX.Element;
11
+ export declare const BoringAvatar: ({ displayName, variant, size, square, style, colors, }: IBoringAvatarProps) => import("react").JSX.Element;
12
12
  export default BoringAvatar;
@@ -8,7 +8,7 @@ declare const meta: {
8
8
  square?: boolean;
9
9
  style?: object;
10
10
  colors?: string[];
11
- }) => import("react/jsx-runtime").JSX.Element;
11
+ }) => import("react").JSX.Element;
12
12
  tags: string[];
13
13
  parameters: {
14
14
  layout: string;
@@ -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/jsx-runtime").JSX.Element;
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/jsx-runtime").JSX.Element;
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/jsx-runtime").JSX.Element;
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/jsx-runtime").JSX.Element;
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/jsx-runtime").JSX.Element;
8
+ export declare const DownloadJsonButton: ({ data, fileName, variant, extension, }: IDownloadJsonButtonProps) => import("react").JSX.Element;
9
9
  export default DownloadJsonButton;
@@ -1,3 +1,4 @@
1
+ import type { JSX } from 'react';
1
2
  import { type ElementType } from 'react';
2
3
  type ILongActionButtonProps = {
3
4
  /**