@datalayer/core 1.1.60 → 1.2.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (496) hide show
  1. package/README.md +41 -18
  2. package/lib/api/DatalayerApi.d.ts +42 -1
  3. package/lib/api/DatalayerApi.js +90 -3
  4. package/lib/api/constants.d.ts +19 -1
  5. package/lib/api/constants.js +19 -1
  6. package/lib/api/contents/attachments.d.ts +9 -0
  7. package/lib/api/contents/attachments.js +39 -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 +63 -0
  17. package/lib/api/contents/datasets.js +82 -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 +21 -0
  32. package/lib/api/contents/sandboxUid.js +27 -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/evals/client.d.ts +402 -0
  40. package/lib/api/evals/client.js +359 -0
  41. package/lib/api/evals/index.d.ts +10 -0
  42. package/lib/api/evals/index.js +18 -0
  43. package/lib/api/evals/request.d.ts +43 -0
  44. package/lib/api/evals/request.js +67 -0
  45. package/lib/api/evals/status.d.ts +27 -0
  46. package/lib/api/evals/status.js +122 -0
  47. package/lib/api/evals/types.d.ts +1335 -0
  48. package/lib/api/evals/types.js +5 -0
  49. package/lib/api/iam/connectedAgents.d.ts +68 -0
  50. package/lib/api/iam/connectedAgents.js +87 -0
  51. package/lib/api/iam/identityProviders.d.ts +76 -0
  52. package/lib/api/iam/identityProviders.js +187 -0
  53. package/lib/api/iam/index.d.ts +3 -1
  54. package/lib/api/iam/index.js +3 -1
  55. package/lib/api/iam/mcpAlertRules.d.ts +51 -0
  56. package/lib/api/iam/mcpAlertRules.js +198 -0
  57. package/lib/api/iam/mcpAuditSettings.d.ts +46 -0
  58. package/lib/api/iam/mcpAuditSettings.js +120 -0
  59. package/lib/api/iam/mcpPolicy.d.ts +181 -0
  60. package/lib/api/iam/mcpPolicy.js +168 -0
  61. package/lib/api/iam/organizationTeams.d.ts +13 -0
  62. package/lib/api/iam/organizationTeams.js +43 -0
  63. package/lib/api/iam/profile.d.ts +17 -1
  64. package/lib/api/iam/profile.js +27 -0
  65. package/lib/api/iam/scimTokens.d.ts +79 -0
  66. package/lib/api/iam/scimTokens.js +141 -0
  67. package/lib/api/iam/secrets.js +9 -21
  68. package/lib/api/iam/serviceAgents.d.ts +68 -0
  69. package/lib/api/iam/serviceAgents.js +119 -0
  70. package/lib/api/iam/trials.d.ts +38 -0
  71. package/lib/api/iam/trials.js +66 -0
  72. package/lib/api/index.d.ts +8 -1
  73. package/lib/api/index.js +7 -1
  74. package/lib/api/mcp/activity.d.ts +37 -0
  75. package/lib/api/mcp/activity.js +26 -0
  76. package/lib/api/mcp/alerts.d.ts +25 -0
  77. package/lib/api/mcp/alerts.js +51 -0
  78. package/lib/api/mcp/audit.d.ts +29 -0
  79. package/lib/api/mcp/audit.js +55 -0
  80. package/lib/api/mcp/bindings.d.ts +18 -0
  81. package/lib/api/mcp/bindings.js +42 -0
  82. package/lib/api/mcp/forwarding.d.ts +25 -0
  83. package/lib/api/mcp/forwarding.js +46 -0
  84. package/lib/api/mcp/gateway.d.ts +16 -0
  85. package/lib/api/mcp/gateway.js +70 -0
  86. package/lib/api/mcp/generated.d.ts +22 -0
  87. package/lib/api/mcp/generated.js +213 -0
  88. package/lib/api/mcp/index.d.ts +17 -0
  89. package/lib/api/mcp/index.js +25 -0
  90. package/lib/api/mcp/observability.d.ts +141 -0
  91. package/lib/api/mcp/observability.js +267 -0
  92. package/lib/api/mcp/operations.d.ts +83 -0
  93. package/lib/api/mcp/operations.js +50 -0
  94. package/lib/api/mcp/organizations.d.ts +102 -0
  95. package/lib/api/mcp/organizations.js +46 -0
  96. package/lib/api/mcp/policy.d.ts +9 -0
  97. package/lib/api/mcp/policy.js +23 -0
  98. package/lib/api/mcp/tasks.d.ts +49 -0
  99. package/lib/api/mcp/tasks.js +147 -0
  100. package/lib/api/orchestration/client.d.ts +53 -0
  101. package/lib/api/orchestration/client.js +105 -0
  102. package/lib/api/orchestration/events.d.ts +88 -0
  103. package/lib/api/orchestration/events.js +245 -0
  104. package/lib/api/orchestration/generated.d.ts +693 -0
  105. package/lib/api/orchestration/generated.js +687 -0
  106. package/lib/api/orchestration/index.d.ts +30 -0
  107. package/lib/api/orchestration/index.js +34 -0
  108. package/lib/api/orchestration/lifecycle.d.ts +39 -0
  109. package/lib/api/orchestration/lifecycle.js +57 -0
  110. package/lib/api/orchestration/measures.d.ts +55 -0
  111. package/lib/api/orchestration/measures.js +99 -0
  112. package/lib/api/otel/dashboards.d.ts +56 -0
  113. package/lib/api/otel/dashboards.js +50 -0
  114. package/lib/api/otel/index.d.ts +1 -0
  115. package/lib/api/otel/index.js +1 -0
  116. package/lib/api/otel/metrics.d.ts +16 -0
  117. package/lib/api/otel/metrics.js +15 -0
  118. package/lib/api/scheduler/client.d.ts +32 -0
  119. package/lib/api/scheduler/client.js +42 -0
  120. package/lib/api/scheduler/index.d.ts +8 -0
  121. package/lib/api/scheduler/index.js +16 -0
  122. package/lib/api/scheduler/request.d.ts +28 -0
  123. package/lib/api/scheduler/request.js +50 -0
  124. package/lib/api/scheduler/types.d.ts +88 -0
  125. package/lib/api/scheduler/types.js +5 -0
  126. package/lib/api/spacer/comments.d.ts +97 -0
  127. package/lib/api/spacer/comments.js +45 -0
  128. package/lib/api/spacer/index.d.ts +9 -0
  129. package/lib/api/spacer/index.js +17 -0
  130. package/lib/api/spacer/notebooks.d.ts +33 -0
  131. package/lib/api/spacer/notebooks.js +39 -0
  132. package/lib/api/spacer/request.d.ts +25 -0
  133. package/lib/api/spacer/request.js +46 -0
  134. package/lib/api/spacer/spaces.d.ts +68 -0
  135. package/lib/api/spacer/spaces.js +45 -0
  136. package/lib/api/utils/validation.d.ts +4 -4
  137. package/lib/api/utils/validation.js +10 -7
  138. package/lib/client/auth/index.js +0 -5
  139. package/lib/client/auth/storage.js +0 -5
  140. package/lib/client/auth/strategies.js +0 -5
  141. package/lib/client/base.d.ts +6 -0
  142. package/lib/client/base.js +8 -0
  143. package/lib/client/constants.d.ts +1 -0
  144. package/lib/client/constants.js +1 -0
  145. package/lib/client/index.d.ts +0 -10
  146. package/lib/client/index.js +2 -2
  147. package/lib/client/mixins/ContentsMixin.d.ts +71 -0
  148. package/lib/client/mixins/ContentsMixin.js +157 -0
  149. package/lib/client/mixins/IAMMixin.d.ts +0 -31
  150. package/lib/client/mixins/IAMMixin.js +0 -58
  151. package/lib/components/animation/AnimatedText.d.ts +2 -44
  152. package/lib/components/animation/AnimatedText.js +6 -126
  153. package/lib/components/anonymous/AnonymousKeyExpired.d.ts +56 -0
  154. package/lib/components/anonymous/AnonymousKeyExpired.js +96 -0
  155. package/lib/components/anonymous/AnonymousKeyTimer.d.ts +63 -0
  156. package/lib/components/anonymous/AnonymousKeyTimer.js +140 -0
  157. package/lib/components/anonymous/index.d.ts +7 -0
  158. package/lib/components/anonymous/index.js +15 -0
  159. package/lib/components/auth/SigInAPIKey.d.ts +1 -0
  160. package/lib/components/auth/SigInAPIKey.js +0 -6
  161. package/lib/components/auth/SignIn.d.ts +1 -0
  162. package/lib/components/auth/SignIn.js +0 -4
  163. package/lib/components/auth/SignIn.stories.d.ts +2 -2
  164. package/lib/components/avatars/BoringAvatar.d.ts +1 -1
  165. package/lib/components/avatars/BoringAvatar.stories.d.ts +1 -1
  166. package/lib/components/avatars/DLAvatar.d.ts +1 -1
  167. package/lib/components/avatars/DLAvatar.js +0 -4
  168. package/lib/components/avatars/UserAvatar.d.ts +16 -1
  169. package/lib/components/avatars/UserAvatar.js +15 -13
  170. package/lib/components/avatars/UserProfileAvatar.d.ts +1 -1
  171. package/lib/components/banners/NoAutomationBanner.d.ts +1 -1
  172. package/lib/components/billing/BillingEntitySelect.d.ts +16 -0
  173. package/lib/components/billing/BillingEntitySelect.js +49 -27
  174. package/lib/components/billing/eligibility.d.ts +22 -0
  175. package/lib/components/billing/eligibility.js +27 -0
  176. package/lib/components/billing/index.d.ts +1 -0
  177. package/lib/components/billing/index.js +1 -4
  178. package/lib/components/buttons/DownloadCSVButton.d.ts +1 -1
  179. package/lib/components/buttons/DownloadJsonButton.d.ts +1 -1
  180. package/lib/components/buttons/LongActionButton.d.ts +1 -0
  181. package/lib/components/buttons/LongActionButton.js +0 -4
  182. package/lib/components/buttons/UploadButton.d.ts +1 -0
  183. package/lib/components/buttons/UploadButton.js +0 -4
  184. package/lib/components/checkout/StripeCheckout.d.ts +1 -1
  185. package/lib/components/collaboration/LiveEditorCollaborators.d.ts +36 -0
  186. package/lib/components/collaboration/LiveEditorCollaborators.js +88 -53
  187. package/lib/components/collaboration/index.js +0 -4
  188. package/lib/components/confetti/ConfettiSuccess.d.ts +1 -1
  189. package/lib/components/contents/ContentSourceCard.d.ts +8 -0
  190. package/lib/components/contents/ContentSourceCard.js +23 -0
  191. package/lib/components/contents/HomeFolderObjectsBrowser.d.ts +10 -0
  192. package/lib/components/contents/HomeFolderObjectsBrowser.js +148 -0
  193. package/lib/components/contents/index.d.ts +2 -0
  194. package/lib/components/contents/index.js +6 -0
  195. package/lib/components/context/OrganizationSelect.d.ts +1 -1
  196. package/lib/components/display/AvatarSkeleton.d.ts +1 -1
  197. package/lib/components/display/BusyDots.d.ts +1 -1
  198. package/lib/components/display/CenteredSpinner.d.ts +1 -1
  199. package/lib/components/display/CodePreview.d.ts +1 -1
  200. package/lib/components/display/DatalayerBox.d.ts +7 -3
  201. package/lib/components/display/DatalayerBox.js +7 -7
  202. package/lib/components/display/HorizontalCenter.d.ts +1 -1
  203. package/lib/components/display/JupyterDialog.d.ts +1 -0
  204. package/lib/components/display/JupyterDialog.js +1 -7
  205. package/lib/components/display/Markdown.d.ts +1 -0
  206. package/lib/components/display/NavLink.js +3 -2
  207. package/lib/components/display/NotebookSkeleton.d.ts +1 -1
  208. package/lib/components/display/Placeholder.d.ts +1 -1
  209. package/lib/components/display/ToTopBranded.d.ts +1 -1
  210. package/lib/components/echarts/EChartsReact.d.ts +1 -1
  211. package/lib/components/flashes/FlashClosable.d.ts +1 -0
  212. package/lib/components/flashes/FlashClosable.js +0 -4
  213. package/lib/components/flashes/FlashGuest.d.ts +1 -1
  214. package/lib/components/flashes/FlashSurveys.d.ts +1 -1
  215. package/lib/components/flashes/FlashUnauthorized.d.ts +1 -0
  216. package/lib/components/flashes/FlashUnauthorized.js +0 -6
  217. package/lib/components/flashes/surveys/Survey2025_1.d.ts +1 -1
  218. package/lib/components/iam/ExternalTokenSilentLogin.d.ts +1 -1
  219. package/lib/components/index.d.ts +2 -0
  220. package/lib/components/index.js +2 -0
  221. package/lib/components/labels/StatusLabels.d.ts +2 -9
  222. package/lib/components/labels/StatusLabels.js +2 -26
  223. package/lib/components/labels/VisibilityLabel.d.ts +1 -1
  224. package/lib/components/landings/StepBlock.d.ts +1 -1
  225. package/lib/components/mcp/ClientBadge.d.ts +41 -0
  226. package/lib/components/mcp/ClientBadge.js +33 -0
  227. package/lib/components/mcp/McpErrorBlankslate.d.ts +21 -0
  228. package/lib/components/mcp/McpErrorBlankslate.js +17 -0
  229. package/lib/components/mcp/ScopeList.d.ts +28 -0
  230. package/lib/components/mcp/ScopeList.js +14 -0
  231. package/lib/components/mcp/index.d.ts +10 -0
  232. package/lib/components/mcp/index.js +18 -0
  233. package/lib/components/navbar/NavigationVisbilityObserver.d.ts +2 -1
  234. package/lib/components/navbar/SubdomainNavBar.d.ts +10 -5
  235. package/lib/components/navbar/SubdomainNavBar.js +2 -1
  236. package/lib/components/notebooks/JupyterNotebook.d.ts +1 -1
  237. package/lib/components/notebooks/JupyterNotebookToolbar.d.ts +1 -1
  238. package/lib/components/principal/PrincipalAppearance.d.ts +22 -42
  239. package/lib/components/principal/PrincipalAppearance.js +232 -182
  240. package/lib/components/principal/PrincipalAvatar.d.ts +9 -1
  241. package/lib/components/principal/PrincipalAvatar.js +18 -10
  242. package/lib/components/principal/PrincipalBadge.d.ts +1 -1
  243. package/lib/components/principal/PrincipalBanner.d.ts +1 -1
  244. package/lib/components/principal/PrincipalDetailsOverlay.d.ts +38 -1
  245. package/lib/components/principal/PrincipalDetailsOverlay.js +64 -33
  246. package/lib/components/principal/PrincipalHoverCard.d.ts +31 -0
  247. package/lib/components/principal/PrincipalHoverCard.js +52 -0
  248. package/lib/components/principal/PrincipalSwitcherMenu.d.ts +1 -0
  249. package/lib/components/principal/PrincipalSwitcherMenu.js +5 -14
  250. package/lib/components/principal/index.d.ts +2 -1
  251. package/lib/components/principal/index.js +2 -1
  252. package/lib/components/progress/ConsumptionBar.d.ts +1 -0
  253. package/lib/components/progress/ConsumptionBar.js +0 -4
  254. package/lib/components/progress/ProgressRing.d.ts +1 -0
  255. package/lib/components/progress/SpinnerBar.d.ts +1 -1
  256. package/lib/components/progress/Timer.d.ts +1 -0
  257. package/lib/components/progress/Timer.js +0 -4
  258. package/lib/components/screencapture/Screencapture.js +46 -3
  259. package/lib/components/screencapture/ScreencaptureButton.d.ts +1 -1
  260. package/lib/components/sharing/ShareAccessComponent.d.ts +58 -3
  261. package/lib/components/sharing/ShareAccessComponent.js +143 -98
  262. package/lib/components/sharing/SharingEditor.d.ts +21 -0
  263. package/lib/components/sharing/SharingEditor.js +9 -28
  264. package/lib/components/sharing/index.d.ts +1 -0
  265. package/lib/components/sharing/index.js +1 -0
  266. package/lib/components/sharing/sandboxSharing.d.ts +26 -0
  267. package/lib/components/sharing/sandboxSharing.js +41 -0
  268. package/lib/components/spaces/SpaceDetailsOverlay.d.ts +39 -0
  269. package/lib/components/spaces/SpaceDetailsOverlay.js +80 -0
  270. package/lib/components/spaces/SpaceDisplay.d.ts +38 -0
  271. package/lib/components/spaces/SpaceDisplay.js +92 -0
  272. package/lib/components/spaces/index.d.ts +4 -0
  273. package/lib/components/spaces/index.js +7 -0
  274. package/lib/components/spaces/spaceDisplayModel.d.ts +93 -0
  275. package/lib/components/spaces/spaceDisplayModel.js +170 -0
  276. package/lib/components/sparklines/Sparklines.js +3 -4
  277. package/lib/components/sparklines/index.js +0 -4
  278. package/lib/components/storage/ContentsBrowser.d.ts +25 -1
  279. package/lib/components/storage/ContentsBrowser.js +145 -52
  280. package/lib/components/storage/ContentsBrowserMock.d.ts +3 -0
  281. package/lib/components/storage/ContentsBrowserMock.js +75 -0
  282. package/lib/components/storage/ContentsItems.d.ts +2 -1
  283. package/lib/components/storage/ContentsItems.js +0 -4
  284. package/lib/components/storage/ContentsTable.d.ts +50 -0
  285. package/lib/components/storage/ContentsTable.js +134 -0
  286. package/lib/components/storage/HomeFolderDrive.d.ts +71 -0
  287. package/lib/components/storage/HomeFolderDrive.js +248 -0
  288. package/lib/components/storage/index.d.ts +2 -0
  289. package/lib/components/storage/index.js +2 -0
  290. package/lib/components/students/StudentItemStatus.d.ts +1 -1
  291. package/lib/components/students/StudentResultCircle.d.ts +1 -1
  292. package/lib/components/subnav/SubNav.d.ts +5 -5
  293. package/lib/components/subnav/SubNav.js +11 -9
  294. package/lib/components/tables/DataTable.d.ts +1 -1
  295. package/lib/components/text-reveal/TextRevealAnimation.d.ts +2 -2
  296. package/lib/components/text-reveal/useTextRevealAnimationLines.d.ts +1 -1
  297. package/lib/components/time/LiveRelativeTime.d.ts +1 -0
  298. package/lib/components/time/LiveRelativeTime.js +0 -8
  299. package/lib/components/time/index.js +0 -4
  300. package/lib/components/timeline/Timeline.d.ts +1 -1
  301. package/lib/components/timeline/index.js +0 -4
  302. package/lib/components/users/PeerIndicator.d.ts +1 -0
  303. package/lib/components/users/PeerIndicator.js +0 -4
  304. package/lib/config/Configuration.d.ts +15 -17
  305. package/lib/config/Configuration.js +7 -0
  306. package/lib/hooks/cacheConverters.d.ts +0 -7
  307. package/lib/hooks/cacheConverters.js +0 -25
  308. package/lib/hooks/index.d.ts +3 -0
  309. package/lib/hooks/index.js +3 -0
  310. package/lib/hooks/layouts/LayoutBackdrop.d.ts +1 -1
  311. package/lib/hooks/layouts/LayoutScreencapture.d.ts +1 -1
  312. package/lib/hooks/useBackdrop.d.ts +1 -1
  313. package/lib/hooks/useBackdropJupyterLab.d.ts +3 -2
  314. package/lib/hooks/useBackdropJupyterLab.js +0 -4
  315. package/lib/hooks/useBillingEntityStore.js +3 -0
  316. package/lib/hooks/useCache.d.ts +478 -130
  317. package/lib/hooks/useCache.js +1580 -676
  318. package/lib/hooks/useContainsFocus.d.ts +1 -1
  319. package/lib/hooks/useContents.d.ts +334 -0
  320. package/lib/hooks/useContents.js +1033 -0
  321. package/lib/hooks/useFocusTrap.d.ts +4 -4
  322. package/lib/hooks/useFocusTrap.js +1 -1
  323. package/lib/hooks/useMcp.d.ts +315 -0
  324. package/lib/hooks/useMcp.js +891 -0
  325. package/lib/hooks/useMobile.js +0 -5
  326. package/lib/hooks/useNavigate.d.ts +41 -3
  327. package/lib/hooks/useNavigate.js +106 -52
  328. package/lib/hooks/usePrincipalCacheStore.js +3 -0
  329. package/lib/hooks/usePrincipalStore.js +3 -0
  330. package/lib/hooks/useProjectStore.d.ts +3 -3
  331. package/lib/hooks/useProjectStore.js +4 -4
  332. package/lib/hooks/useRef.d.ts +1 -1
  333. package/lib/hooks/useRef.js +3 -0
  334. package/lib/hooks/useScreencapture.d.ts +2 -1
  335. package/lib/hooks/useScreencapture.js +0 -4
  336. package/lib/hooks/useSpaceCacheStore.d.ts +50 -0
  337. package/lib/hooks/useSpaceCacheStore.js +85 -0
  338. package/lib/hooks/useToast.js +0 -4
  339. package/lib/hooks/useVisibilityObserver.d.ts +1 -1
  340. package/lib/index.d.ts +4 -1
  341. package/lib/index.js +3 -1
  342. package/lib/mocks/components/FlashMock.d.ts +1 -1
  343. package/lib/mocks/views/ActionMenuMock.d.ts +1 -1
  344. package/lib/mocks/views/ChartMock.d.ts +1 -1
  345. package/lib/mocks/views/DashboardMock.d.ts +1 -1
  346. package/lib/mocks/views/FormMock.d.ts +1 -1
  347. package/lib/mocks/views/TableMock.d.ts +1 -1
  348. package/lib/mocks/views/WipMock.d.ts +1 -1
  349. package/lib/models/Credits.d.ts +16 -0
  350. package/lib/models/Credits.js +22 -0
  351. package/lib/models/CreditsDTO.d.ts +6 -5
  352. package/lib/models/CreditsDTO.js +7 -5
  353. package/lib/models/McpAuditEvent.d.ts +52 -0
  354. package/lib/models/McpAuditEvent.js +5 -0
  355. package/lib/models/McpBinding.d.ts +57 -0
  356. package/lib/models/McpBinding.js +5 -0
  357. package/lib/models/McpPolicy.d.ts +77 -0
  358. package/lib/models/McpPolicy.js +5 -0
  359. package/lib/models/McpTask.d.ts +94 -0
  360. package/lib/models/McpTask.js +7 -0
  361. package/lib/models/Organization.d.ts +69 -0
  362. package/lib/models/Organization.js +96 -0
  363. package/lib/models/Secret.d.ts +1 -2
  364. package/lib/models/Secret.js +2 -18
  365. package/lib/models/StartedBy.d.ts +91 -0
  366. package/lib/models/StartedBy.js +117 -0
  367. package/lib/models/Team.d.ts +2 -0
  368. package/lib/models/Team.js +2 -0
  369. package/lib/models/User.d.ts +4 -0
  370. package/lib/models/User.js +3 -0
  371. package/lib/models/UserDTO.js +4 -2
  372. package/lib/models/UserSettings.d.ts +13 -0
  373. package/lib/models/UserSettings.js +9 -0
  374. package/lib/models/contents/__fixtures__/solr-codec.json +57 -0
  375. package/lib/models/contents/__fixtures__/v1-contracts.json +194 -0
  376. package/lib/models/contents/fieldCase.d.ts +8 -0
  377. package/lib/models/contents/fieldCase.js +37 -0
  378. package/lib/models/contents/index.d.ts +2 -0
  379. package/lib/models/contents/index.js +6 -0
  380. package/lib/models/contents/permissions.d.ts +16 -0
  381. package/lib/models/contents/permissions.js +34 -0
  382. package/lib/models/index.d.ts +5 -1
  383. package/lib/models/index.js +5 -1
  384. package/lib/navigation/components.js +2 -3
  385. package/lib/routes/publicPaths.js +4 -0
  386. package/lib/state/index.d.ts +1 -0
  387. package/lib/state/index.js +1 -0
  388. package/lib/state/sessionEnd.d.ts +55 -0
  389. package/lib/state/sessionEnd.js +162 -0
  390. package/lib/state/substates/CoreState.d.ts +15 -7
  391. package/lib/state/substates/CoreState.js +21 -17
  392. package/lib/state/substates/IAMState.d.ts +1 -1
  393. package/lib/state/substates/IAMState.js +12 -5
  394. package/lib/state/substates/LayoutState.js +12 -0
  395. package/lib/state/substates/ProfileState.d.ts +1 -0
  396. package/lib/state/substates/ProfileState.js +1 -4
  397. package/lib/state/substates/index.d.ts +0 -1
  398. package/lib/state/substates/index.js +0 -1
  399. package/lib/utils/Jwt.d.ts +26 -0
  400. package/lib/utils/Jwt.js +37 -0
  401. package/lib/utils/Lazy.d.ts +20 -0
  402. package/lib/utils/Lazy.js +32 -6
  403. package/lib/utils/Screencapture.js +3 -0
  404. package/lib/utils/WithSuspense.d.ts +11 -1
  405. package/lib/utils/WithSuspense.js +11 -1
  406. package/lib/views/api-keys/APIKeyEdit.d.ts +1 -1
  407. package/lib/views/api-keys/APIKeyNew.d.ts +1 -1
  408. package/lib/views/api-keys/APIKeys.d.ts +1 -1
  409. package/lib/views/api-keys/APIKeys.js +30 -4
  410. package/lib/views/api-keys/APIKeysStandalone.d.ts +5 -1
  411. package/lib/views/api-keys/APIKeysStandalone.js +2 -2
  412. package/lib/views/datasources/DatasourceDetail.d.ts +12 -5
  413. package/lib/views/datasources/DatasourceDetail.js +80 -110
  414. package/lib/views/datasources/DatasourceNew.d.ts +14 -8
  415. package/lib/views/datasources/DatasourceNew.js +129 -118
  416. package/lib/views/datasources/Datasources.d.ts +39 -7
  417. package/lib/views/datasources/Datasources.js +95 -40
  418. package/lib/views/datasources/DatasourcesMock.d.ts +3 -0
  419. package/lib/views/datasources/DatasourcesMock.js +57 -0
  420. package/lib/views/iam/SignInSimple.d.ts +12 -0
  421. package/lib/views/iam/SignInSimple.js +4 -4
  422. package/lib/views/index.d.ts +1 -0
  423. package/lib/views/index.js +1 -0
  424. package/lib/views/mcp/AdmittedClients.d.ts +44 -0
  425. package/lib/views/mcp/AdmittedClients.js +59 -0
  426. package/lib/views/mcp/AlertDestinations.d.ts +34 -0
  427. package/lib/views/mcp/AlertDestinations.js +75 -0
  428. package/lib/views/mcp/AlertRules.d.ts +32 -0
  429. package/lib/views/mcp/AlertRules.js +245 -0
  430. package/lib/views/mcp/ApprovalQueue.d.ts +66 -0
  431. package/lib/views/mcp/ApprovalQueue.js +95 -0
  432. package/lib/views/mcp/AuditLog.d.ts +42 -0
  433. package/lib/views/mcp/AuditLog.js +144 -0
  434. package/lib/views/mcp/ConnectedAgents.d.ts +34 -0
  435. package/lib/views/mcp/ConnectedAgents.js +135 -0
  436. package/lib/views/mcp/EnterpriseConsole.d.ts +74 -0
  437. package/lib/views/mcp/EnterpriseConsole.js +195 -0
  438. package/lib/views/mcp/IdentityProviders.d.ts +33 -0
  439. package/lib/views/mcp/IdentityProviders.js +299 -0
  440. package/lib/views/mcp/McpDashboard.d.ts +50 -0
  441. package/lib/views/mcp/McpDashboard.js +430 -0
  442. package/lib/views/mcp/McpHome.d.ts +92 -0
  443. package/lib/views/mcp/McpHome.js +153 -0
  444. package/lib/views/mcp/McpObservability.d.ts +79 -0
  445. package/lib/views/mcp/McpObservability.js +236 -0
  446. package/lib/views/mcp/NotebookRuns.d.ts +39 -0
  447. package/lib/views/mcp/NotebookRuns.js +44 -0
  448. package/lib/views/mcp/OrganizationPolicy.d.ts +45 -0
  449. package/lib/views/mcp/OrganizationPolicy.js +108 -0
  450. package/lib/views/mcp/OrganizationUsage.d.ts +69 -0
  451. package/lib/views/mcp/OrganizationUsage.js +113 -0
  452. package/lib/views/mcp/PersonalPolicy.d.ts +54 -0
  453. package/lib/views/mcp/PersonalPolicy.js +126 -0
  454. package/lib/views/mcp/Policies.d.ts +53 -0
  455. package/lib/views/mcp/Policies.js +210 -0
  456. package/lib/views/mcp/PolicyForm.d.ts +83 -0
  457. package/lib/views/mcp/PolicyForm.js +113 -0
  458. package/lib/views/mcp/PolicyHistory.d.ts +58 -0
  459. package/lib/views/mcp/PolicyHistory.js +75 -0
  460. package/lib/views/mcp/RunDetail.d.ts +87 -0
  461. package/lib/views/mcp/RunDetail.js +186 -0
  462. package/lib/views/mcp/ScimProvisioning.d.ts +54 -0
  463. package/lib/views/mcp/ScimProvisioning.js +173 -0
  464. package/lib/views/mcp/ServiceAgents.d.ts +46 -0
  465. package/lib/views/mcp/ServiceAgents.js +194 -0
  466. package/lib/views/mcp/TeamPolicies.d.ts +33 -0
  467. package/lib/views/mcp/TeamPolicies.js +159 -0
  468. package/lib/views/mcp/ToolAccess.d.ts +60 -0
  469. package/lib/views/mcp/ToolAccess.js +101 -0
  470. package/lib/views/mcp/TraceTimeline.d.ts +81 -0
  471. package/lib/views/mcp/TraceTimeline.js +132 -0
  472. package/lib/views/mcp/format.d.ts +25 -0
  473. package/lib/views/mcp/format.js +77 -0
  474. package/lib/views/mcp/index.d.ts +34 -0
  475. package/lib/views/mcp/index.js +42 -0
  476. package/lib/views/mcp/types.d.ts +66 -0
  477. package/lib/views/mcp/types.js +5 -0
  478. package/lib/views/otel/simpleAuthStore.js +3 -0
  479. package/lib/views/secrets/SecretEdit.d.ts +5 -1
  480. package/lib/views/secrets/SecretEdit.js +5 -4
  481. package/lib/views/secrets/SecretNew.d.ts +11 -1
  482. package/lib/views/secrets/SecretNew.js +7 -3
  483. package/lib/views/secrets/Secrets.d.ts +12 -1
  484. package/lib/views/secrets/Secrets.js +2 -2
  485. package/package.json +269 -260
  486. package/scripts/generate-contents-types.py +169 -0
  487. package/scripts/generate-mcp-types.py +233 -0
  488. package/scripts/generate-orchestration-types.py +920 -0
  489. package/lib/api/iam/datasources.d.ts +0 -86
  490. package/lib/api/iam/datasources.js +0 -185
  491. package/lib/components/toolbars/index.d.ts +0 -1
  492. package/lib/models/Datasource.d.ts +0 -181
  493. package/lib/models/Datasource.js +0 -154
  494. package/lib/state/substates/DatasourceState.d.ts +0 -11
  495. package/lib/state/substates/DatasourceState.js +0 -16
  496. /package/lib/{components/toolbars/index.js → api/contents/generated.js} +0 -0
@@ -2,8 +2,4 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2023-2026 Datalayer, Inc.
7
- * Distributed under the terms of the Modified BSD License.
8
- */
9
5
  export * from './LiveEditorCollaborators.js';
@@ -1,2 +1,2 @@
1
- export declare const ConfettiSuccess: () => import("react/jsx-runtime").JSX.Element;
1
+ export declare const ConfettiSuccess: () => import("react").JSX.Element;
2
2
  export default ConfettiSuccess;
@@ -0,0 +1,8 @@
1
+ import type { CatalogSource } from '../../api/contents';
2
+ export type ContentSourceCardProps = {
3
+ item: CatalogSource;
4
+ onOpen?: (sourceUid: string) => void;
5
+ };
6
+ /** Compact, host-neutral catalog row shared by Datalayer clients. */
7
+ export declare const ContentSourceCard: ({ item, onOpen }: ContentSourceCardProps) => import("react").JSX.Element;
8
+ export default ContentSourceCard;
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /*
3
+ * Copyright (c) 2023-2025 Datalayer, Inc.
4
+ * Distributed under the terms of the Modified BSD License.
5
+ */
6
+ import { Label, Text } from '@primer/react';
7
+ import { Box } from '@datalayer/primer-addons';
8
+ import { contentSourceEffectiveRole, contentSourceLabel, } from '../../models/contents/index.js';
9
+ /** Compact, host-neutral catalog row shared by Datalayer clients. */
10
+ export const ContentSourceCard = ({ item, onOpen }) => (_jsx(Box, { as: "li", onClick: () => onOpen?.(item.source.uid), sx: {
11
+ p: 3,
12
+ borderBottom: '1px solid',
13
+ borderColor: 'border.muted',
14
+ cursor: onOpen ? 'pointer' : 'default',
15
+ ':last-child': { borderBottom: 0 },
16
+ ':hover': onOpen ? { bg: 'canvas.subtle' } : undefined,
17
+ }, children: _jsxs(Box, { sx: { display: 'flex', justifyContent: 'space-between', gap: 3 }, children: [_jsxs(Box, { sx: { minWidth: 0 }, children: [_jsx(Text, { sx: { fontWeight: 600 }, children: item.source.name }), _jsx(Text, { as: "p", sx: { color: 'fg.muted', fontSize: 0, m: 0, mt: 1 }, children: item.source.description || contentSourceLabel(item.source.kind) }), _jsx(Text, { as: "p", sx: { color: 'fg.subtle', fontSize: 0, m: 0, mt: 1 }, children: item.source.uid })] }), _jsxs(Box, { sx: {
18
+ display: 'flex',
19
+ alignItems: 'center',
20
+ gap: 2,
21
+ flexShrink: 0,
22
+ }, children: [_jsx(Label, { children: contentSourceLabel(item.source.kind) }), _jsx(Label, { variant: item.source.status === 'ready' ? 'success' : 'secondary', children: item.source.status }), _jsx(Label, { variant: "accent", children: contentSourceEffectiveRole(item) })] })] }) }));
23
+ export default ContentSourceCard;
@@ -0,0 +1,10 @@
1
+ import type { ContentObject } from '../../api/contents';
2
+ export type HomeFolderObjectsBrowserProps = {
3
+ prefix?: string;
4
+ selectedObjectUids?: readonly string[];
5
+ onSelectedObjectsChange?: (objects: ContentObject[]) => void;
6
+ selectionDisabled?: boolean;
7
+ };
8
+ /** Browser for the server-managed Home Folder metadata and version history. */
9
+ export declare const HomeFolderObjectsBrowser: ({ prefix, selectedObjectUids, onSelectedObjectsChange, selectionDisabled }: HomeFolderObjectsBrowserProps) => import("react").JSX.Element;
10
+ export default HomeFolderObjectsBrowser;
@@ -0,0 +1,148 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /*
3
+ * Copyright (c) 2023-2025 Datalayer, Inc.
4
+ * Distributed under the terms of the Modified BSD License.
5
+ */
6
+ import { useRef, useState } from 'react';
7
+ import { Button, Checkbox, Heading, Label, ProgressBar, Spinner, Text, } from '@primer/react';
8
+ import { DownloadIcon, FileIcon, HistoryIcon, SyncIcon, TrashIcon, UploadIcon, } from '@primer/octicons-react';
9
+ import { Box } from '@datalayer/primer-addons';
10
+ import { useDeleteHomeFolderObject, useDownloadHomeFolderObject, useRestoreHomeFolderObject, useUploadHomeFolderFile, useHomeFolderObjects, useHomeFolderObjectVersions, } from '../../hooks/useContents.js';
11
+ const formatBytes = (bytes) => {
12
+ if (bytes < 1024)
13
+ return `${bytes} B`;
14
+ if (bytes < 1024 ** 2)
15
+ return `${(bytes / 1024).toFixed(1)} KB`;
16
+ if (bytes < 1024 ** 3)
17
+ return `${(bytes / 1024 ** 2).toFixed(1)} MB`;
18
+ return `${(bytes / 1024 ** 3).toFixed(1)} GB`;
19
+ };
20
+ const mutationKey = (action, uid) => {
21
+ const random = typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function'
22
+ ? crypto.randomUUID()
23
+ : `${Date.now()}-${Math.random().toString(36).slice(2)}`;
24
+ return `${action}:${uid}:${random}`;
25
+ };
26
+ /** Browser for the server-managed Home Folder metadata and version history. */
27
+ export const HomeFolderObjectsBrowser = ({ prefix, selectedObjectUids = [], onSelectedObjectsChange, selectionDisabled = false }) => {
28
+ const objects = useHomeFolderObjects({ prefix, limit: 100 });
29
+ const [selected, setSelected] = useState();
30
+ const [uploadProgress, setUploadProgress] = useState();
31
+ const [failedUpload, setFailedUpload] = useState();
32
+ const fileInput = useRef(null);
33
+ const versions = useHomeFolderObjectVersions(selected?.uid);
34
+ const deleteObject = useDeleteHomeFolderObject();
35
+ const restoreObject = useRestoreHomeFolderObject();
36
+ const uploadObject = useUploadHomeFolderFile();
37
+ const downloadObject = useDownloadHomeFolderObject();
38
+ const selectable = Boolean(onSelectedObjectsChange);
39
+ const toggleSelection = (object) => {
40
+ if (!onSelectedObjectsChange)
41
+ return;
42
+ const selectedUids = new Set(selectedObjectUids);
43
+ selectedUids.has(object.uid) ? selectedUids.delete(object.uid) : selectedUids.add(object.uid);
44
+ onSelectedObjectsChange((objects.data?.items ?? []).filter(item => selectedUids.has(item.uid)));
45
+ };
46
+ const onUpload = (file, overwrite = 'reject') => {
47
+ if (!file)
48
+ return;
49
+ setFailedUpload(undefined);
50
+ setUploadProgress({ uploaded: 0, total: file.size });
51
+ uploadObject.mutate({
52
+ path: prefix ? `${prefix.replace(/\/$/, '')}/${file.name}` : file.name,
53
+ content: file,
54
+ mediaType: file.type || 'application/octet-stream',
55
+ overwrite,
56
+ idempotencyKey: mutationKey('upload', file.name),
57
+ onProgress: progress => setUploadProgress({
58
+ uploaded: progress.uploadedBytes,
59
+ total: progress.totalBytes,
60
+ }),
61
+ }, {
62
+ onError: () => setFailedUpload(file),
63
+ onSettled: () => setUploadProgress(undefined),
64
+ });
65
+ };
66
+ const onDownload = (object) => {
67
+ downloadObject.mutate({ objectUid: object.uid }, {
68
+ onSuccess: response => {
69
+ const url = URL.createObjectURL(new Blob([response.data], { type: object.mediaType }));
70
+ const anchor = document.createElement('a');
71
+ anchor.href = url;
72
+ anchor.download = object.path.split('/').pop() || 'download';
73
+ anchor.click();
74
+ URL.revokeObjectURL(url);
75
+ },
76
+ });
77
+ };
78
+ const onDelete = (object) => {
79
+ if (typeof window !== 'undefined' &&
80
+ !window.confirm(`Delete ${object.path}? You can restore an earlier version.`)) {
81
+ return;
82
+ }
83
+ deleteObject.mutate({
84
+ objectUid: object.uid,
85
+ idempotencyKey: mutationKey('delete', object.uid),
86
+ });
87
+ };
88
+ if (objects.isPending) {
89
+ return (_jsx(Box, { sx: { p: 4, display: 'flex', justifyContent: 'center' }, children: _jsx(Spinner, {}) }));
90
+ }
91
+ if (objects.isError) {
92
+ return (_jsxs(Box, { sx: { p: 3, border: '1px solid', borderColor: 'danger.muted' }, children: [_jsx(Text, { sx: { color: 'danger.fg' }, children: objects.error instanceof Error
93
+ ? objects.error.message
94
+ : 'The Home Folder could not be loaded.' }), _jsx(Button, { sx: { ml: 2 }, onClick: () => objects.refetch(), children: "Retry" })] }));
95
+ }
96
+ return (_jsxs(Box, { children: [_jsxs(Box, { sx: {
97
+ mb: 3,
98
+ display: 'flex',
99
+ alignItems: 'center',
100
+ justifyContent: 'space-between',
101
+ gap: 3,
102
+ }, children: [_jsx(Text, { sx: { color: 'fg.muted' }, children: prefix ? `home-folder:///${prefix}` : 'home-folder:///' }), _jsxs(_Fragment, { children: [_jsx("input", { ref: fileInput, type: "file", hidden: true, onChange: event => {
103
+ onUpload(event.target.files?.[0]);
104
+ event.target.value = '';
105
+ } }), _jsx(Button, { leadingVisual: UploadIcon, disabled: uploadObject.isPending, onClick: () => fileInput.current?.click(), children: "Upload" })] })] }), uploadProgress && (_jsxs(Box, { sx: { mb: 3 }, children: [_jsx(ProgressBar, { progress: uploadProgress.total
106
+ ? (uploadProgress.uploaded / uploadProgress.total) * 100
107
+ : 100, "aria-label": "Upload progress" }), _jsxs(Text, { sx: { color: 'fg.muted', fontSize: 0 }, children: [formatBytes(uploadProgress.uploaded), " of", ' ', formatBytes(uploadProgress.total)] })] })), uploadObject.isError && (_jsxs(Box, { sx: { mb: 3 }, children: [_jsx(Text, { as: "p", sx: { color: 'danger.fg', mb: 2 }, children: uploadObject.error.message }), failedUpload && (_jsxs(Box, { sx: { display: 'flex', gap: 2 }, children: [_jsx(Button, { size: "small", onClick: () => onUpload(failedUpload), children: "Retry" }), _jsx(Button, { size: "small", variant: "primary", onClick: () => onUpload(failedUpload, 'new-version'), children: "Upload as new version" })] }))] })), (objects.data?.items.length ?? 0) === 0 ? (_jsxs(Box, { sx: {
108
+ p: 4,
109
+ textAlign: 'center',
110
+ border: '1px dashed',
111
+ borderColor: 'border.default',
112
+ borderRadius: 2,
113
+ }, children: [_jsx(FileIcon, { size: 24 }), _jsx(Heading, { as: "h3", sx: { fontSize: 2, mt: 2 }, children: "Your Home Folder is empty" }), _jsx(Text, { as: "p", sx: { color: 'fg.muted', mb: 0 }, children: "Uploaded and transferred files will appear here." })] })) : (_jsxs(Box, { as: "table", sx: {
114
+ width: '100%',
115
+ borderCollapse: 'collapse',
116
+ 'th, td': {
117
+ px: 3,
118
+ py: 2,
119
+ textAlign: 'left',
120
+ borderBottom: '1px solid',
121
+ borderColor: 'border.muted',
122
+ },
123
+ th: { color: 'fg.muted', fontSize: 0, fontWeight: 600 },
124
+ }, children: [_jsx("thead", { children: _jsxs("tr", { children: [selectable && _jsx("th", { "aria-label": "Select" }), _jsx("th", { children: "Path" }), _jsx("th", { children: "Size" }), _jsx("th", { children: "Updated" }), _jsx("th", { "aria-label": "Actions" })] }) }), _jsx("tbody", { children: objects.data?.items.map(object => (_jsxs("tr", { children: [selectable && (_jsx("td", { children: _jsx(Checkbox, { "aria-label": `Select ${object.path}`, checked: selectedObjectUids.includes(object.uid), disabled: selectionDisabled || !object.currentVersionUid, onChange: () => toggleSelection(object) }) })), _jsx("td", { children: _jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(FileIcon, {}), _jsx(Text, { sx: { fontFamily: 'mono' }, children: object.path })] }) }), _jsx("td", { children: formatBytes(object.size) }), _jsx("td", { children: new Date(object.updatedAt).toLocaleString() }), _jsx("td", { children: _jsxs(Box, { sx: { display: 'flex', justifyContent: 'flex-end', gap: 2 }, children: [_jsx(Button, { size: "small", leadingVisual: HistoryIcon, onClick: () => setSelected(object), children: "Versions" }), _jsx(Button, { size: "small", leadingVisual: DownloadIcon, disabled: downloadObject.isPending, onClick: () => onDownload(object), children: "Download" }), _jsx(Button, { size: "small", variant: "danger", leadingVisual: TrashIcon, disabled: deleteObject.isPending, onClick: () => onDelete(object), children: "Delete" })] }) })] }, object.uid))) })] })), selected && (_jsxs(Box, { sx: {
125
+ mt: 3,
126
+ p: 3,
127
+ border: '1px solid',
128
+ borderColor: 'border.default',
129
+ borderRadius: 2,
130
+ }, children: [_jsxs(Box, { sx: { display: 'flex', justifyContent: 'space-between', gap: 2 }, children: [_jsxs(Heading, { as: "h3", sx: { fontSize: 2 }, children: ["Versions of ", selected.path] }), _jsx(Button, { size: "small", onClick: () => setSelected(undefined), children: "Close" })] }), versions.isPending ? (_jsx(Spinner, { size: "small" })) : versions.isError ? (_jsx(Text, { sx: { color: 'danger.fg' }, children: "Version history could not be loaded." })) : (_jsx(Box, { as: "ul", sx: { listStyle: 'none', p: 0, mb: 0 }, children: versions.data?.items.map(version => {
131
+ const isCurrent = version.uid === selected.currentVersionUid;
132
+ return (_jsxs(Box, { as: "li", sx: {
133
+ py: 2,
134
+ display: 'flex',
135
+ alignItems: 'center',
136
+ justifyContent: 'space-between',
137
+ gap: 3,
138
+ borderBottom: '1px solid',
139
+ borderColor: 'border.muted',
140
+ ':last-child': { borderBottom: 0 },
141
+ }, children: [_jsxs(Box, { children: [_jsx(Text, { sx: { fontFamily: 'mono', fontSize: 0 }, children: version.uid }), _jsxs(Text, { as: "p", sx: { color: 'fg.muted', m: 0, fontSize: 0 }, children: [new Date(version.createdAt).toLocaleString(), " \u00B7", ' ', formatBytes(version.size)] })] }), isCurrent ? (_jsx(Label, { variant: "success", children: "Current" })) : version.deleted ? (_jsx(Label, { children: "Deletion marker" })) : (_jsx(Button, { size: "small", leadingVisual: SyncIcon, disabled: restoreObject.isPending, onClick: () => restoreObject.mutate({
142
+ objectUid: selected.uid,
143
+ versionUid: version.uid,
144
+ idempotencyKey: mutationKey('restore', version.uid),
145
+ }), children: "Restore" }))] }, version.uid));
146
+ }) }))] }))] }));
147
+ };
148
+ export default HomeFolderObjectsBrowser;
@@ -0,0 +1,2 @@
1
+ export * from './ContentSourceCard';
2
+ export * from './HomeFolderObjectsBrowser';
@@ -0,0 +1,6 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ export * from './ContentSourceCard.js';
6
+ export * from './HomeFolderObjectsBrowser.js';
@@ -1,2 +1,2 @@
1
- export declare const OrganizationSelect: () => import("react/jsx-runtime").JSX.Element;
1
+ export declare const OrganizationSelect: () => import("react").JSX.Element;
2
2
  export default OrganizationSelect;
@@ -1,5 +1,5 @@
1
1
  type IAvatarSkeletonProps = {
2
2
  size?: number;
3
3
  };
4
- export declare const AvatarSkeleton: (props: IAvatarSkeletonProps) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const AvatarSkeleton: (props: IAvatarSkeletonProps) => import("react").JSX.Element;
5
5
  export default AvatarSkeleton;
@@ -5,5 +5,5 @@ type BusyDotsProps = {
5
5
  ariaLabel?: string;
6
6
  intervalMs?: number;
7
7
  };
8
- export declare function BusyDots({ color, fontSize, ml, ariaLabel, intervalMs, }: BusyDotsProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function BusyDots({ color, fontSize, ml, ariaLabel, intervalMs, }: BusyDotsProps): import("react").JSX.Element;
9
9
  export default BusyDots;
@@ -7,5 +7,5 @@ type ICenteredSpinnerProps = {
7
7
  message?: string;
8
8
  size?: keyof typeof sizeMap;
9
9
  };
10
- export declare const CenteredSpinner: ({ message, size, }: ICenteredSpinnerProps) => import("react/jsx-runtime").JSX.Element;
10
+ export declare const CenteredSpinner: ({ message, size, }: ICenteredSpinnerProps) => import("react").JSX.Element;
11
11
  export default CenteredSpinner;
@@ -1,4 +1,4 @@
1
1
  export declare const CodePreview: (props: {
2
2
  code: string;
3
- }) => import("react/jsx-runtime").JSX.Element;
3
+ }) => import("react").JSX.Element;
4
4
  export default CodePreview;
@@ -1,10 +1,14 @@
1
- import type { PropsWithChildren, ReactNode } from 'react';
2
1
  type DatalayerBoxProps = {
3
2
  id?: string;
4
3
  title: string;
5
- titleAction?: ReactNode;
6
4
  linkLabel?: string;
7
5
  linkRoute?: string;
6
+ /**
7
+ * What sits next to the title, e.g. the mark that explains the box.
8
+ *
9
+ * The link on the trailing edge leads somewhere; this stays here.
10
+ */
11
+ titleAction?: React.ReactNode;
8
12
  };
9
- export declare const DatalayerBox: (props: PropsWithChildren<DatalayerBoxProps>) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const DatalayerBox: (props: React.PropsWithChildren<DatalayerBoxProps>) => import("react").JSX.Element;
10
14
  export default DatalayerBox;
@@ -8,19 +8,19 @@ import { Box } from '@datalayer/primer-addons';
8
8
  import { ArrowRightIcon } from '@primer/octicons-react';
9
9
  import { useNavigate } from '../../hooks/index.js';
10
10
  export const DatalayerBox = (props) => {
11
- const { title, titleAction, linkLabel, linkRoute, children } = props;
11
+ const { title, linkLabel, linkRoute, titleAction, children } = props;
12
12
  const navigate = useNavigate();
13
13
  return (_jsxs(_Fragment, { children: [_jsxs(Box, { sx: {
14
14
  display: 'flex',
15
15
  alignItems: 'center',
16
16
  justifyContent: 'space-between',
17
17
  paddingRight: 4,
18
- }, children: [_jsx(Text, { as: "h2", sx: { borderLeft: '6px solid #28b899', paddingLeft: 2 }, children: title }), (titleAction || (linkRoute && linkLabel)) && (_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [titleAction, linkRoute && linkLabel && (_jsxs(Link, { href: "javascript: return false;", onClick: e => navigate(linkRoute), sx: {
19
- display: 'inline-flex',
20
- alignItems: 'center',
21
- gap: 1,
22
- whiteSpace: 'nowrap',
23
- }, children: [linkLabel, _jsx(ArrowRightIcon, {})] }))] }))] }), _jsx(Box, { sx: {
18
+ }, children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 1 }, children: [_jsx(Text, { as: "h2", sx: { borderLeft: '6px solid #28b899', paddingLeft: 2 }, children: title }), titleAction] }), linkRoute && linkLabel && (_jsxs(Link, { href: "javascript: return false;", onClick: e => navigate(linkRoute), sx: {
19
+ display: 'inline-flex',
20
+ alignItems: 'center',
21
+ gap: 1,
22
+ whiteSpace: 'nowrap',
23
+ }, children: [linkLabel, _jsx(ArrowRightIcon, {})] }))] }), _jsx(Box, { sx: {
24
24
  borderColor: 'border.default',
25
25
  borderStyle: 'solid',
26
26
  borderWidth: '1',
@@ -2,5 +2,5 @@ import { PropsWithChildren } from 'react';
2
2
  type IHorizontalCenterProps = {
3
3
  margin?: string;
4
4
  };
5
- export declare const HorizontalCenter: ({ children, margin, }: PropsWithChildren<IHorizontalCenterProps>) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const HorizontalCenter: ({ children, margin, }: PropsWithChildren<IHorizontalCenterProps>) => import("react").JSX.Element;
6
6
  export default HorizontalCenter;
@@ -1,3 +1,4 @@
1
+ import type { JSX } from 'react';
1
2
  import { JSXElementConstructor, PropsWithChildren } from 'react';
2
3
  import { Dialog } from '@jupyterlab/apputils';
3
4
  import { ReactWidget } from '@jupyterlab/ui-components';
@@ -1,8 +1,4 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /*
3
- * Copyright (c) 2023-2025 Datalayer, Inc.
4
- * Distributed under the terms of the Modified BSD License.
5
- */
6
2
  import { createElement, useState, } from 'react';
7
3
  import { Dialog } from '@jupyterlab/apputils';
8
4
  import { ReactWidget } from '@jupyterlab/ui-components';
@@ -58,9 +54,7 @@ export class JupyterDialog extends ReactWidget {
58
54
  }
59
55
  _renderBody = (props) => {
60
56
  const pending = this._pendingButtonIndex !== null;
61
- return (_jsx(PrimerDialog.Body, { children: _jsx("div", { "aria-busy": pending, ...(pending ? { inert: '' } : {}), style: pending
62
- ? { pointerEvents: 'none', opacity: 0.6 }
63
- : undefined, children: createElement(this.body, {
57
+ return (_jsx(PrimerDialog.Body, { children: _jsx("div", { "aria-busy": pending, ...(pending ? { inert: '' } : {}), style: pending ? { pointerEvents: 'none', opacity: 0.6 } : undefined, children: createElement(this.body, {
64
58
  ...props,
65
59
  setValue: this.setValue,
66
60
  pending,
@@ -1,3 +1,4 @@
1
+ import type { JSX } from 'react';
1
2
  import type { IMarkdownParser, IRenderMime } from '@jupyterlab/rendermime';
2
3
  /**
3
4
  * {@link Markdown} properties
@@ -11,9 +11,10 @@ import { useNavigate } from '../../hooks/index.js';
11
11
  */
12
12
  export const NavLink = forwardRef(({ to, children, ...props }, ref) => {
13
13
  const navigate = useNavigate();
14
+ // The hook decides: a plain click navigates here, a modifier click lets
15
+ // the browser open the link in a new tab.
14
16
  const onClick = useCallback((e) => {
15
- e.preventDefault();
16
- navigate(to);
17
+ navigate(to, e);
17
18
  }, [to, navigate]);
18
19
  return (_jsx("a", { ref: ref, href: to, ...props, onClick: onClick, children: children }));
19
20
  });
@@ -1,2 +1,2 @@
1
- export declare const NotebookSkeleton: () => import("react/jsx-runtime").JSX.Element;
1
+ export declare const NotebookSkeleton: () => import("react").JSX.Element;
2
2
  export default NotebookSkeleton;
@@ -1,2 +1,2 @@
1
- export declare const Placeholder: () => import("react/jsx-runtime").JSX.Element;
1
+ export declare const Placeholder: () => import("react").JSX.Element;
2
2
  export default Placeholder;
@@ -1,2 +1,2 @@
1
- export declare const ToTopBranded: () => import("react/jsx-runtime").JSX.Element;
1
+ export declare const ToTopBranded: () => import("react").JSX.Element;
2
2
  export default ToTopBranded;
@@ -7,5 +7,5 @@ export interface EChartsProps {
7
7
  loading?: boolean;
8
8
  theme?: 'light' | 'dark';
9
9
  }
10
- export declare const EChartsReact: ({ options, style, settings, loading, theme, }: EChartsProps) => import("react/jsx-runtime").JSX.Element;
10
+ export declare const EChartsReact: ({ options, style, settings, loading, theme, }: EChartsProps) => import("react").JSX.Element;
11
11
  export default EChartsReact;
@@ -1,3 +1,4 @@
1
+ import type { JSX } from 'react';
1
2
  import { FlashProps } from '@primer/react';
2
3
  /**
3
4
  * {@link FlashClosable} component properties
@@ -1,8 +1,4 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /*
3
- * Copyright (c) 2023-2025 Datalayer, Inc.
4
- * Distributed under the terms of the Modified BSD License.
5
- */
6
2
  import { AlertIcon, CheckIcon, InfoIcon, StopIcon, XIcon, } from '@primer/octicons-react';
7
3
  import { Flash as PrimerFlash, IconButton } from '@primer/react';
8
4
  import { Box } from '@datalayer/primer-addons';
@@ -1,2 +1,2 @@
1
- export declare const FlashGuest: () => import("react/jsx-runtime").JSX.Element;
1
+ export declare const FlashGuest: () => import("react").JSX.Element;
2
2
  export default FlashGuest;
@@ -2,5 +2,5 @@ export declare const SURVEY_2025_1_NAME = "2025-1";
2
2
  type IFlashSurveysProps = {
3
3
  surveyName?: string;
4
4
  };
5
- export declare const FlashSurveys: (props: IFlashSurveysProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const FlashSurveys: (props: IFlashSurveysProps) => import("react").JSX.Element;
6
6
  export default FlashSurveys;
@@ -1,2 +1,3 @@
1
+ import type { JSX } from 'react';
1
2
  export declare const FlashUnauthorized: () => JSX.Element;
2
3
  export default FlashUnauthorized;
@@ -1,10 +1,4 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- /*
3
- * Copyright (c) 2023-2025 Datalayer, Inc.
4
- * Distributed under the terms of the Modified BSD License.
5
- */
6
- // import { AlertIcon } from '@primer/octicons-react';
7
- // import { Box, Flash as PrimerFlash, Link } from '@primer/react';
8
2
  import { Link } from '@primer/react';
9
3
  import { Banner } from '@primer/react/experimental';
10
4
  import { QuestionIcon } from '@primer/octicons-react';
@@ -1,3 +1,3 @@
1
1
  import { ISurveyProps } from './SurveyProps';
2
- export declare const Survey2025_1: (props: ISurveyProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const Survey2025_1: (props: ISurveyProps) => import("react").JSX.Element;
3
3
  export default Survey2025_1;
@@ -1,5 +1,5 @@
1
1
  type IExternalTokenSilentLoginProps = {
2
2
  message: string;
3
3
  };
4
- export declare const ExternalTokenSilentLogin: (props: IExternalTokenSilentLoginProps) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const ExternalTokenSilentLogin: (props: IExternalTokenSilentLoginProps) => import("react").JSX.Element;
5
5
  export default ExternalTokenSilentLogin;
@@ -2,6 +2,8 @@ export * from './auth';
2
2
  export * from './animation';
3
3
  export * from './billing';
4
4
  export * from './collaboration';
5
+ export * from './contents';
6
+ export * from './mcp';
5
7
  export * from './sharing';
6
8
  export * from './sparklines';
7
9
  export * from './time';
@@ -6,6 +6,8 @@ export * from './auth/index.js';
6
6
  export * from './animation/index.js';
7
7
  export * from './billing/index.js';
8
8
  export * from './collaboration/index.js';
9
+ export * from './contents/index.js';
10
+ export * from './mcp/index.js';
9
11
  export * from './sharing/index.js';
10
12
  export * from './sparklines/index.js';
11
13
  export * from './time/index.js';
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * @module components/labels/StatusLabels
11
11
  */
12
- import type { ReactNode } from 'react';
12
+ import type { JSX, ReactNode } from 'react';
13
13
  /** The tones a status pill is read in. */
14
14
  export type StatusLabelTone = 'accent' | 'attention' | 'success' | 'neutral';
15
15
  export type StatusLabelProps = {
@@ -39,13 +39,6 @@ export declare function AdminLabel(props?: StatusLabelProps): JSX.Element;
39
39
  * The one that is taken when none is chosen — the default space of an account.
40
40
  */
41
41
  export declare function DefaultLabel(props?: StatusLabelProps): JSX.Element;
42
- /**
43
- * Something announced and not there yet.
44
- *
45
- * A tone of its own, and deliberately not the accent an alpha wears: one says
46
- * "you may try this, it may bite", the other "there is nothing to try". Read
47
- * side by side in a navigation, two labels of one colour say the same thing
48
- * about two entries that mean different things.
49
- */
42
+ /** "soon": what is announced but not yet there. */
50
43
  export declare function SoonLabel(props?: StatusLabelProps): JSX.Element;
51
44
  export default StatusLabel;
@@ -33,24 +33,7 @@ export function StatusLabel(props) {
33
33
  return (_jsx(Label, { variant: "secondary", size: size, sx: {
34
34
  textTransform: 'lowercase',
35
35
  lineHeight: 1.2,
36
- /*
37
- * The tone, under a doubled selector.
38
- *
39
- * Primer ships `NavList` and `ActionList` as CSS modules, and the
40
- * colour they set on the contents of an item ties with the one Emotion
41
- * generates for `sx` — so the same label came out in the colour of the
42
- * navigation in one place and in its own colour in another, depending
43
- * on which stylesheet happened to come last. `&&` raises the
44
- * specificity enough that the tone always lands, wherever the label is
45
- * put.
46
- */
47
- '&&': {
48
- ...TONES[tone],
49
- // The navigation of Primer colours the contents of its items, and
50
- // its stylesheet is loaded after ours: a doubled selector was not
51
- // enough on its own, so the colour of the tone is stated as final.
52
- color: `${TONES[tone].color} !important`,
53
- },
36
+ ...TONES[tone],
54
37
  ...sx,
55
38
  }, children: children }));
56
39
  }
@@ -75,14 +58,7 @@ export function DefaultLabel(props = {}) {
75
58
  const { children = 'default', ...rest } = props;
76
59
  return (_jsx(StatusLabel, { tone: "accent", ...rest, children: children }));
77
60
  }
78
- /**
79
- * Something announced and not there yet.
80
- *
81
- * A tone of its own, and deliberately not the accent an alpha wears: one says
82
- * "you may try this, it may bite", the other "there is nothing to try". Read
83
- * side by side in a navigation, two labels of one colour say the same thing
84
- * about two entries that mean different things.
85
- */
61
+ /** "soon": what is announced but not yet there. */
86
62
  export function SoonLabel(props = {}) {
87
63
  const { children = 'soon', ...rest } = props;
88
64
  return (_jsx(StatusLabel, { tone: "neutral", ...rest, children: children }));
@@ -1,4 +1,4 @@
1
1
  export declare const VisibilityLabel: (props: {
2
2
  isPublic: boolean | undefined;
3
- }) => import("react/jsx-runtime").JSX.Element;
3
+ }) => import("react").JSX.Element;
4
4
  export default VisibilityLabel;
@@ -7,5 +7,5 @@ type IStepBlockProps = {
7
7
  colored?: boolean;
8
8
  }>;
9
9
  };
10
- export declare const StepBlock: (props: IStepBlockProps) => import("react/jsx-runtime").JSX.Element;
10
+ export declare const StepBlock: (props: IStepBlockProps) => import("react").JSX.Element;
11
11
  export default StepBlock;
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Which client this is, said the way its identity was established.
3
+ *
4
+ * A client that registered by Client ID Metadata Document *is* its URL: the
5
+ * host is the part of its identity nobody can invent, and it is what the
6
+ * consent screen showed — so the URL is the client id on screen, with the
7
+ * hostname read out beneath the name. A client registered through the
8
+ * deprecated dynamic path has an opaque id and gets it plainly, marked as
9
+ * such, because the two are not the same kind of fact.
10
+ *
11
+ * The badge explains itself through `title` and its accessible name rather
12
+ * than a Primer `Tooltip`. That component requires an interactive child and
13
+ * warns otherwise, because a tooltip on a label appears on hover and nowhere
14
+ * else — it does not exist for a keyboard or a screen reader. A `<button>`
15
+ * around the word would silence the warning by trading one problem for
16
+ * another: a tab stop that announces itself as a button and does nothing.
17
+ *
18
+ * The word alone is the part that needs explaining. "Document" read out on
19
+ * its own says nothing, so the accessible name is the whole sentence.
20
+ *
21
+ * @module components/mcp/ClientBadge
22
+ */
23
+ import type { JSX } from 'react';
24
+ import type { ConnectedAgentRegistration } from '../../api/iam/connectedAgents';
25
+ export interface ClientBadgeProps {
26
+ clientId: string;
27
+ clientName?: string | null;
28
+ /**
29
+ * How the client registered, when IAM said. Without it the id's shape is
30
+ * used, which is what an audit row or a task leaves us with.
31
+ */
32
+ registration?: ConnectedAgentRegistration;
33
+ /** The document's hostname, when IAM answered one. */
34
+ clientHostname?: string | null;
35
+ /** Without the second line, for a dense table. */
36
+ compact?: boolean;
37
+ }
38
+ /** The hostname of a document URL, or an empty string for anything else. */
39
+ export declare const clientHostnameOf: (clientId: string) => string;
40
+ export declare const ClientBadge: ({ clientId, clientName, registration, clientHostname, compact, }: ClientBadgeProps) => JSX.Element;
41
+ export default ClientBadge;