@datalayer/core 1.0.25 → 1.1.41

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 (339) hide show
  1. package/README.md +14 -26
  2. package/lib/api/index.d.ts +0 -9
  3. package/lib/api/index.js +0 -9
  4. package/lib/cli-login.js +167 -0
  5. package/lib/client/base.d.ts +0 -3
  6. package/lib/client/base.js +0 -2
  7. package/lib/client/index.d.ts +10 -98
  8. package/lib/client/index.js +12 -21
  9. package/lib/components/avatars/UserAvatar.d.ts +16 -0
  10. package/lib/components/avatars/UserAvatar.js +47 -0
  11. package/lib/components/avatars/index.d.ts +1 -0
  12. package/lib/components/avatars/index.js +1 -0
  13. package/lib/components/billing/BillableAccountSelect.js +4 -0
  14. package/lib/components/billing/index.js +4 -0
  15. package/lib/components/context/index.d.ts +0 -1
  16. package/lib/components/context/index.js +0 -1
  17. package/lib/components/display/DisplayHandle.d.ts +12 -0
  18. package/lib/components/display/DisplayHandle.js +11 -0
  19. package/lib/components/display/LiveRelativeTime.js +4 -0
  20. package/lib/components/display/index.d.ts +1 -0
  21. package/lib/components/display/index.js +1 -0
  22. package/lib/components/flashes/index.d.ts +0 -1
  23. package/lib/components/flashes/index.js +0 -1
  24. package/lib/components/index.d.ts +0 -1
  25. package/lib/components/index.js +0 -1
  26. package/lib/components/principal/Principal.d.ts +7 -0
  27. package/lib/components/principal/Principal.js +153 -16
  28. package/lib/components/principal/PrincipalAvatar.d.ts +1 -1
  29. package/lib/components/principal/PrincipalAvatar.js +4 -28
  30. package/lib/components/principal/PrincipalBadge.js +4 -4
  31. package/lib/components/principal/PrincipalDetailsOverlay.d.ts +4 -2
  32. package/lib/components/principal/PrincipalDetailsOverlay.js +27 -7
  33. package/lib/components/principal/PrincipalSwitcherMenu.js +76 -39
  34. package/lib/components/progress/index.d.ts +0 -1
  35. package/lib/components/progress/index.js +0 -1
  36. package/lib/components/sharing/ShareAccessComponent.d.ts +3 -2
  37. package/lib/components/sharing/ShareAccessComponent.js +180 -133
  38. package/lib/components/sharing/SharingEditor.js +4 -0
  39. package/lib/components/snippets/index.d.ts +1 -1
  40. package/lib/components/snippets/index.js +1 -1
  41. package/lib/components/students/StudentResultCircle.d.ts +21 -0
  42. package/lib/components/students/StudentResultCircle.js +59 -0
  43. package/lib/components/students/index.d.ts +1 -1
  44. package/lib/components/students/index.js +1 -1
  45. package/lib/components/time/LiveRelativeTime.js +4 -0
  46. package/lib/components/time/index.js +4 -0
  47. package/lib/components/timeline/index.js +4 -0
  48. package/lib/components/tokens/index.d.ts +1 -1
  49. package/lib/components/tokens/index.js +1 -1
  50. package/lib/components/toolbars/index.d.ts +1 -3
  51. package/lib/components/toolbars/index.js +1 -3
  52. package/lib/hooks/cacheConverters.d.ts +21 -0
  53. package/lib/hooks/cacheConverters.js +110 -0
  54. package/lib/hooks/index.d.ts +0 -2
  55. package/lib/hooks/index.js +0 -2
  56. package/lib/hooks/useCache.d.ts +64 -35
  57. package/lib/hooks/useCache.js +407 -52
  58. package/lib/hooks/useDatalayer.js +3 -1
  59. package/lib/hooks/useIAM.js +1 -3
  60. package/lib/hooks/useLocationHandles.d.ts +3 -1
  61. package/lib/hooks/useLocationHandles.js +2 -1
  62. package/lib/hooks/usePrincipalStore.d.ts +2 -2
  63. package/lib/hooks/usePrincipalStore.js +97 -14
  64. package/lib/hooks/useSelectedPrincipal.js +1 -1
  65. package/lib/hooks/useUser.js +19 -2
  66. package/lib/index.d.ts +1 -6
  67. package/lib/index.js +1 -13
  68. package/lib/main.js +3 -3
  69. package/lib/mocks/index.js +1 -1
  70. package/lib/mocks/models/index.d.ts +0 -1
  71. package/lib/mocks/models/index.js +0 -1
  72. package/lib/models/Datasource.d.ts +2 -2
  73. package/lib/models/IAM.d.ts +1 -1
  74. package/lib/models/School.d.ts +12 -3
  75. package/lib/models/Secret.d.ts +2 -2
  76. package/lib/models/Student.d.ts +13 -3
  77. package/lib/models/Usage.d.ts +11 -1
  78. package/lib/models/UserDTO.d.ts +2 -2
  79. package/lib/models/index.d.ts +0 -30
  80. package/lib/models/index.js +0 -30
  81. package/lib/routes/index.d.ts +1 -0
  82. package/lib/routes/index.js +1 -0
  83. package/lib/routes/publicPaths.d.ts +23 -0
  84. package/lib/routes/publicPaths.js +74 -0
  85. package/lib/state/State.d.ts +0 -12
  86. package/lib/state/State.js +0 -12
  87. package/lib/state/substates/LayoutState.d.ts +12 -1
  88. package/lib/state/substates/index.d.ts +0 -7
  89. package/lib/state/substates/index.js +0 -7
  90. package/lib/utils/Handles.js +3 -1
  91. package/lib/utils/index.d.ts +0 -1
  92. package/lib/utils/index.js +0 -1
  93. package/lib/views/api-keys/APIKeys.js +12 -3
  94. package/lib/views/datasources/DatasourceDetail.d.ts +1 -1
  95. package/lib/views/datasources/DatasourceNew.d.ts +1 -1
  96. package/lib/views/datasources/Datasources.d.ts +1 -1
  97. package/lib/views/datasources/Datasources.js +12 -3
  98. package/lib/views/iam/SignInSimple.d.ts +37 -1
  99. package/lib/views/iam/SignInSimple.js +110 -12
  100. package/package.json +5 -3
  101. package/lib/App.css +0 -47
  102. package/lib/App.d.ts +0 -3
  103. package/lib/App.js +0 -21
  104. package/lib/api/runtimes/checkpoints.d.ts +0 -122
  105. package/lib/api/runtimes/checkpoints.js +0 -118
  106. package/lib/api/runtimes/environments.d.ts +0 -9
  107. package/lib/api/runtimes/environments.js +0 -29
  108. package/lib/api/runtimes/healthz.d.ts +0 -15
  109. package/lib/api/runtimes/healthz.js +0 -44
  110. package/lib/api/runtimes/index.d.ts +0 -12
  111. package/lib/api/runtimes/index.js +0 -16
  112. package/lib/api/runtimes/runtimes.d.ts +0 -138
  113. package/lib/api/runtimes/runtimes.js +0 -230
  114. package/lib/api/runtimes/snapshots.d.ts +0 -38
  115. package/lib/api/runtimes/snapshots.js +0 -82
  116. package/lib/api/scheduler/index.d.ts +0 -6
  117. package/lib/api/scheduler/index.js +0 -10
  118. package/lib/api/scheduler/schedules.d.ts +0 -85
  119. package/lib/api/scheduler/schedules.js +0 -78
  120. package/lib/api/spacer/documents.d.ts +0 -12
  121. package/lib/api/spacer/documents.js +0 -43
  122. package/lib/api/spacer/healthz.d.ts +0 -15
  123. package/lib/api/spacer/healthz.js +0 -44
  124. package/lib/api/spacer/index.d.ts +0 -15
  125. package/lib/api/spacer/index.js +0 -19
  126. package/lib/api/spacer/items.d.ts +0 -25
  127. package/lib/api/spacer/items.js +0 -55
  128. package/lib/api/spacer/lexicals.d.ts +0 -34
  129. package/lib/api/spacer/lexicals.js +0 -89
  130. package/lib/api/spacer/notebooks.d.ts +0 -34
  131. package/lib/api/spacer/notebooks.js +0 -89
  132. package/lib/api/spacer/spaces.d.ts +0 -84
  133. package/lib/api/spacer/spaces.js +0 -170
  134. package/lib/api/spacer/users.d.ts +0 -9
  135. package/lib/api/spacer/users.js +0 -29
  136. package/lib/client/mixins/RuntimesMixin.d.ts +0 -93
  137. package/lib/client/mixins/RuntimesMixin.js +0 -229
  138. package/lib/client/mixins/SpacerMixin.d.ts +0 -210
  139. package/lib/client/mixins/SpacerMixin.js +0 -615
  140. package/lib/client/utils/spacerUtils.d.ts +0 -18
  141. package/lib/client/utils/spacerUtils.js +0 -32
  142. package/lib/collaboration/DatalayerCollaboration.d.ts +0 -13
  143. package/lib/collaboration/DatalayerCollaboration.js +0 -28
  144. package/lib/collaboration/DatalayerCollaborationProvider.d.ts +0 -60
  145. package/lib/collaboration/DatalayerCollaborationProvider.js +0 -163
  146. package/lib/collaboration/index.d.ts +0 -2
  147. package/lib/collaboration/index.js +0 -6
  148. package/lib/components/context/SpaceSelect.d.ts +0 -2
  149. package/lib/components/context/SpaceSelect.js +0 -42
  150. package/lib/components/flashes/FlashDisclaimer.d.ts +0 -2
  151. package/lib/components/flashes/FlashDisclaimer.js +0 -17
  152. package/lib/components/icons/ArtifactIcon.d.ts +0 -10
  153. package/lib/components/icons/ArtifactIcon.js +0 -58
  154. package/lib/components/icons/index.d.ts +0 -1
  155. package/lib/components/icons/index.js +0 -5
  156. package/lib/components/nbgrader/NbGradesDetails.d.ts +0 -5
  157. package/lib/components/nbgrader/NbGradesDetails.js +0 -14
  158. package/lib/components/nbgrader/index.d.ts +0 -1
  159. package/lib/components/nbgrader/index.js +0 -5
  160. package/lib/components/progress/CreditsIndicator.d.ts +0 -33
  161. package/lib/components/progress/CreditsIndicator.js +0 -23
  162. package/lib/components/runtimes/RuntimeCellVariables.d.ts +0 -39
  163. package/lib/components/runtimes/RuntimeCellVariables.js +0 -172
  164. package/lib/components/runtimes/RuntimeCellVariablesDialog.d.ts +0 -37
  165. package/lib/components/runtimes/RuntimeCellVariablesDialog.js +0 -101
  166. package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +0 -57
  167. package/lib/components/runtimes/RuntimeLauncherDialog.js +0 -275
  168. package/lib/components/runtimes/RuntimePickerBase.d.ts +0 -69
  169. package/lib/components/runtimes/RuntimePickerBase.js +0 -122
  170. package/lib/components/runtimes/RuntimePickerCell.d.ts +0 -34
  171. package/lib/components/runtimes/RuntimePickerCell.js +0 -104
  172. package/lib/components/runtimes/RuntimePickerNotebook.d.ts +0 -42
  173. package/lib/components/runtimes/RuntimePickerNotebook.js +0 -232
  174. package/lib/components/runtimes/RuntimeReservationControl.d.ts +0 -47
  175. package/lib/components/runtimes/RuntimeReservationControl.js +0 -42
  176. package/lib/components/runtimes/RuntimeSimplePicker.d.ts +0 -38
  177. package/lib/components/runtimes/RuntimeSimplePicker.js +0 -155
  178. package/lib/components/runtimes/RuntimeTransfer.d.ts +0 -16
  179. package/lib/components/runtimes/RuntimeTransfer.js +0 -5
  180. package/lib/components/runtimes/RuntimeUtils.d.ts +0 -17
  181. package/lib/components/runtimes/RuntimeUtils.js +0 -178
  182. package/lib/components/runtimes/RuntimeVariables.d.ts +0 -38
  183. package/lib/components/runtimes/RuntimeVariables.js +0 -75
  184. package/lib/components/runtimes/index.d.ts +0 -11
  185. package/lib/components/runtimes/index.js +0 -15
  186. package/lib/components/scheduler/ScheduleMenu.d.ts +0 -54
  187. package/lib/components/scheduler/ScheduleMenu.js +0 -154
  188. package/lib/components/scheduler/index.d.ts +0 -1
  189. package/lib/components/scheduler/index.js +0 -5
  190. package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +0 -33
  191. package/lib/components/snapshots/SandboxSnapshotMenu.js +0 -169
  192. package/lib/components/snapshots/index.d.ts +0 -1
  193. package/lib/components/snapshots/index.js +0 -5
  194. package/lib/components/snippets/SnippetDialog.d.ts +0 -42
  195. package/lib/components/snippets/SnippetDialog.js +0 -42
  196. package/lib/components/students/StudentItemStatus.d.ts +0 -7
  197. package/lib/components/students/StudentItemStatus.js +0 -66
  198. package/lib/components/tokens/SpaceVariantToken.d.ts +0 -5
  199. package/lib/components/tokens/SpaceVariantToken.js +0 -23
  200. package/lib/components/toolbars/AssignmentEditorToolbar.d.ts +0 -4
  201. package/lib/components/toolbars/AssignmentEditorToolbar.js +0 -18
  202. package/lib/components/toolbars/DocumentEditorToolbar.d.ts +0 -2
  203. package/lib/components/toolbars/DocumentEditorToolbar.js +0 -12
  204. package/lib/components/toolbars/NotebookEditorToolbar.d.ts +0 -29
  205. package/lib/components/toolbars/NotebookEditorToolbar.js +0 -30
  206. package/lib/examples/CellExample.d.ts +0 -6
  207. package/lib/examples/CellExample.js +0 -20
  208. package/lib/examples/NotebookExample.d.ts +0 -6
  209. package/lib/examples/NotebookExample.js +0 -19
  210. package/lib/examples/lexical-theme.css +0 -436
  211. package/lib/examples/notebooks/IPyWidgetsExample.ipynb.json +0 -101
  212. package/lib/examples/notebooks/IPyWidgetsExampleWithState.ipynb.json +0 -112
  213. package/lib/examples/notebooks/Lite.ipynb.json +0 -128
  214. package/lib/examples/notebooks/Matplotlib.ipynb.json +0 -137
  215. package/lib/examples/notebooks/NotebookExample1.ipynb.json +0 -126
  216. package/lib/examples/notebooks/NotebookExample2.ipynb.json +0 -48
  217. package/lib/examples/notebooks/NotebookOutputs.ipynb.json +0 -49
  218. package/lib/examples/notebooks/NotebookToCExample.ipynb.json +0 -102
  219. package/lib/examples/notebooks/PyGWalker.ipynb.json +0 -55
  220. package/lib/hooks/useCellOutputshot.d.ts +0 -4
  221. package/lib/hooks/useCellOutputshot.js +0 -25
  222. package/lib/hooks/useProjects.d.ts +0 -628
  223. package/lib/hooks/useProjects.js +0 -190
  224. package/lib/hooks/useRuntimes.d.ts +0 -5
  225. package/lib/hooks/useRuntimes.js +0 -34
  226. package/lib/mocks/jupyter/index.js +0 -5
  227. package/lib/mocks/models/CourseMock.d.ts +0 -6
  228. package/lib/mocks/models/CourseMock.js +0 -29
  229. package/lib/mocks/models/SpaceMock.d.ts +0 -6
  230. package/lib/mocks/models/SpaceMock.js +0 -25
  231. package/lib/models/Assignment.d.ts +0 -7
  232. package/lib/models/Assignment.js +0 -5
  233. package/lib/models/Cell.d.ts +0 -8
  234. package/lib/models/Cell.js +0 -5
  235. package/lib/models/CodeBlock.d.ts +0 -10
  236. package/lib/models/CodeBlock.js +0 -5
  237. package/lib/models/CodeSandboxSnapshot.d.ts +0 -92
  238. package/lib/models/CodeSandboxSnapshot.js +0 -13
  239. package/lib/models/CodeSandboxSnapshotDTO.d.ts +0 -173
  240. package/lib/models/CodeSandboxSnapshotDTO.js +0 -139
  241. package/lib/models/CodefeedBlocks.d.ts +0 -7
  242. package/lib/models/CodefeedBlocks.js +0 -5
  243. package/lib/models/Content.d.ts +0 -5
  244. package/lib/models/Content.js +0 -5
  245. package/lib/models/Course.d.ts +0 -17
  246. package/lib/models/Course.js +0 -5
  247. package/lib/models/Dataset.d.ts +0 -16
  248. package/lib/models/Dataset.js +0 -5
  249. package/lib/models/Document.d.ts +0 -8
  250. package/lib/models/Document.js +0 -5
  251. package/lib/models/Environment.d.ts +0 -86
  252. package/lib/models/Environment.js +0 -5
  253. package/lib/models/EnvironmentDTO.d.ts +0 -125
  254. package/lib/models/EnvironmentDTO.js +0 -88
  255. package/lib/models/Exercise.d.ts +0 -16
  256. package/lib/models/Exercise.js +0 -5
  257. package/lib/models/Item.d.ts +0 -20
  258. package/lib/models/Item.js +0 -5
  259. package/lib/models/ItemDTO.d.ts +0 -74
  260. package/lib/models/ItemDTO.js +0 -186
  261. package/lib/models/ItemType.d.ts +0 -2
  262. package/lib/models/ItemType.js +0 -5
  263. package/lib/models/Lesson.d.ts +0 -5
  264. package/lib/models/Lesson.js +0 -5
  265. package/lib/models/LexicalDTO.d.ts +0 -155
  266. package/lib/models/LexicalDTO.js +0 -157
  267. package/lib/models/Library.d.ts +0 -10
  268. package/lib/models/Library.js +0 -5
  269. package/lib/models/Notebook.d.ts +0 -11
  270. package/lib/models/Notebook.js +0 -5
  271. package/lib/models/NotebookDTO.d.ts +0 -96
  272. package/lib/models/NotebookDTO.js +0 -153
  273. package/lib/models/Page.d.ts +0 -41
  274. package/lib/models/Page.js +0 -25
  275. package/lib/models/PageTag.d.ts +0 -19
  276. package/lib/models/PageTag.js +0 -94
  277. package/lib/models/ProjectDTO.d.ts +0 -89
  278. package/lib/models/ProjectDTO.js +0 -131
  279. package/lib/models/Runtime.d.ts +0 -123
  280. package/lib/models/Runtime.js +0 -18
  281. package/lib/models/RuntimeDTO.d.ts +0 -191
  282. package/lib/models/RuntimeDTO.js +0 -204
  283. package/lib/models/Space.d.ts +0 -35
  284. package/lib/models/Space.js +0 -66
  285. package/lib/models/SpaceDTO.d.ts +0 -334
  286. package/lib/models/SpaceDTO.js +0 -244
  287. package/lib/models/SpaceItem.d.ts +0 -10
  288. package/lib/models/SpaceItem.js +0 -5
  289. package/lib/models/SpaceMember.d.ts +0 -6
  290. package/lib/models/SpaceMember.js +0 -5
  291. package/lib/models/StudentItem.d.ts +0 -21
  292. package/lib/models/StudentItem.js +0 -5
  293. package/lib/services/DatalayerServiceManager.d.ts +0 -22
  294. package/lib/services/DatalayerServiceManager.js +0 -69
  295. package/lib/services/index.d.ts +0 -4
  296. package/lib/services/index.js +0 -7
  297. package/lib/services/reconnectToRuntime.d.ts +0 -32
  298. package/lib/services/reconnectToRuntime.js +0 -59
  299. package/lib/state/substates/CellState.d.ts +0 -12
  300. package/lib/state/substates/CellState.js +0 -22
  301. package/lib/state/substates/DocumentState.d.ts +0 -10
  302. package/lib/state/substates/DocumentState.js +0 -14
  303. package/lib/state/substates/GradeState.d.ts +0 -10
  304. package/lib/state/substates/GradeState.js +0 -14
  305. package/lib/state/substates/JupyterLabState.d.ts +0 -16
  306. package/lib/state/substates/JupyterLabState.js +0 -17
  307. package/lib/state/substates/NbformatState.d.ts +0 -13
  308. package/lib/state/substates/NbformatState.js +0 -16
  309. package/lib/state/substates/RuntimesState.d.ts +0 -79
  310. package/lib/state/substates/RuntimesState.js +0 -180
  311. package/lib/state/substates/SpaceState.d.ts +0 -11
  312. package/lib/state/substates/SpaceState.js +0 -16
  313. package/lib/stateful/index.d.ts +0 -2
  314. package/lib/stateful/index.js +0 -6
  315. package/lib/stateful/jupyter/exec/Python.d.ts +0 -5
  316. package/lib/stateful/jupyter/exec/Python.js +0 -100
  317. package/lib/stateful/jupyter/exec/Snippets.d.ts +0 -105
  318. package/lib/stateful/jupyter/exec/Snippets.js +0 -101
  319. package/lib/stateful/jupyter/exec/index.d.ts +0 -2
  320. package/lib/stateful/jupyter/exec/index.js +0 -6
  321. package/lib/stateful/jupyter/index.d.ts +0 -2
  322. package/lib/stateful/jupyter/index.js +0 -6
  323. package/lib/stateful/jupyter/kernelsHandler.d.ts +0 -8
  324. package/lib/stateful/jupyter/kernelsHandler.js +0 -39
  325. package/lib/stateful/runtimes/actions.d.ts +0 -102
  326. package/lib/stateful/runtimes/actions.js +0 -249
  327. package/lib/stateful/runtimes/apis.d.ts +0 -273
  328. package/lib/stateful/runtimes/apis.js +0 -5
  329. package/lib/stateful/runtimes/index.d.ts +0 -5
  330. package/lib/stateful/runtimes/index.js +0 -9
  331. package/lib/stateful/runtimes/settings.d.ts +0 -15
  332. package/lib/stateful/runtimes/settings.js +0 -31
  333. package/lib/stateful/runtimes/snapshots.d.ts +0 -25
  334. package/lib/stateful/runtimes/snapshots.js +0 -150
  335. package/lib/stateful/runtimes/utils.d.ts +0 -7
  336. package/lib/stateful/runtimes/utils.js +0 -14
  337. package/lib/utils/Cells.d.ts +0 -2
  338. package/lib/utils/Cells.js +0 -28
  339. /package/lib/{mocks/jupyter/index.d.ts → cli-login.d.ts} +0 -0
@@ -1,150 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { KernelExecutor } from '@datalayer/jupyter-react';
6
- import { createSandboxSnapshotDownloadURL, uploadCodeSandboxSnapshot } from './index.js';
7
- /**
8
- * Snapshot a runtime through the frontend and upload it to the cloud.
9
- *
10
- * Note: You should use this only for browser runtimes.
11
- */
12
- export async function createSandboxSnapshot(props) {
13
- const { connection, metadata, onUploadProgress } = props;
14
- const dump = await new KernelExecutor({ connection }).execute(GET_RUNTIME_SNAPSHOT_SNIPPET, {
15
- storeHistory: false,
16
- });
17
- const serializedData = (dump.get(0)?.data['application/vnd.jupyter.stdout'] ??
18
- '');
19
- // Convert the data to blob.
20
- const bytes = base64ToBytes(serializedData);
21
- const file = new Blob([bytes.buffer]);
22
- return uploadCodeSandboxSnapshot({
23
- file,
24
- metadata,
25
- onProgress: onUploadProgress,
26
- });
27
- }
28
- function base64ToBytes(base64) {
29
- // Taken from https://developer.mozilla.org/en-US/docs/Web/API/Window/btoa#unicode_strings
30
- const binString = atob(base64);
31
- // @ts-expect-error TypeScript does not like this
32
- return Uint8Array.from(binString, m => m.codePointAt(0));
33
- }
34
- /**
35
- * Load a snapshot within a browser kernel.
36
- *
37
- * Note: You should use this only for browser kernels.
38
- */
39
- export async function loadBrowserSandboxSnapshot({ connection, id, }) {
40
- const downloadURL = createSandboxSnapshotDownloadURL(id);
41
- const response = await fetch(downloadURL);
42
- const buffer = await response.arrayBuffer();
43
- const base64 = bytesToBase64(new Uint8Array(buffer));
44
- await new KernelExecutor({
45
- connection,
46
- }).execute(getLoadSandboxSnapshotSnippet(base64), {
47
- storeHistory: false,
48
- silent: true,
49
- });
50
- }
51
- function bytesToBase64(bytes) {
52
- // Taken from https://developer.mozilla.org/en-US/docs/Web/API/Window/btoa#unicode_strings
53
- const binString = Array.from(bytes, byte => String.fromCodePoint(byte)).join('');
54
- return btoa(binString);
55
- }
56
- const GET_RUNTIME_SNAPSHOT_SNIPPET = `def _create_snapshot():
57
- import logging
58
- import os
59
- import pickle
60
- from base64 import encodebytes
61
- from tempfile import TemporaryFile
62
- from types import BuiltinFunctionType, BuiltinMethodType, FunctionType, MethodType, MethodWrapperType, ModuleType, TracebackType
63
-
64
- # print(pickle.DEFAULT_PROTOCOL)
65
-
66
- class NotFound:
67
- pass
68
-
69
- missing = NotFound()
70
-
71
- FORBIDDEN_TYPES = [type, BuiltinFunctionType, BuiltinMethodType, FunctionType, MethodType, MethodWrapperType, ModuleType, TracebackType, NotFound]
72
- try:
73
- from IPython.core.autocall import ExitAutocall
74
- from IPython.core.interactiveshell import InteractiveShell
75
- FORBIDDEN_TYPES.extend([ExitAutocall, InteractiveShell])
76
- except ImportError:
77
- pass
78
- exclude = tuple(FORBIDDEN_TYPES)
79
-
80
- all = frozenset(filter(lambda n: not n.startswith("_"), globals()))
81
-
82
- line_separator = bytes(os.linesep, "utf-8")
83
- with TemporaryFile() as dump:
84
- for _n in all:
85
- _v = globals().get(_n, missing)
86
-
87
- if not (
88
- isinstance(_v, exclude) or
89
- # Special IPython variables
90
- (_n == "In" and isinstance(_v, list)) or
91
- (_n == "Out" and isinstance(_v, dict))
92
- ):
93
- try:
94
- dumped_n = _n.encode("utf-8") + line_separator + pickle.dumps(_v) + line_separator + b"\\x00" + line_separator
95
- dump.write(dumped_n)
96
- except BaseException as e:
97
- logging.warning("Failed to dump variable [%s ([%s])].", _n, type(_v).__qualname__, exc_info=e)
98
- else:
99
- logging.debug("Variable [%s] dumped", _n)
100
-
101
- dump.seek(0)
102
- print(encodebytes(dump.read()).decode("ascii"))
103
-
104
- _create_snapshot()
105
- del _create_snapshot
106
- `;
107
- function getLoadSandboxSnapshotSnippet(content) {
108
- return `async def _load_snapshot():
109
- import os
110
- import logging
111
- import platform
112
- import pickle
113
- from base64 import decodebytes
114
- is_pyodide = platform.node() == "emscripten"
115
-
116
- snapshot = decodebytes("${content}".encode("ascii"))
117
- line_sep = bytes(os.linesep, "utf-8")
118
- variable_separator = b"\\x00" + line_sep
119
- name = b""
120
- value = b""
121
- for line in snapshot.splitlines():
122
- line += line_sep
123
- if line == variable_separator:
124
- name_s = name.strip().decode("utf-8")
125
- try:
126
- try:
127
- globals()[name_s] = pickle.loads(value)
128
- except ModuleNotFoundError as m:
129
- if is_pyodide:
130
- import micropip
131
- logging.info(f'Installing %s...', m.name)
132
- await micropip.install(m.name)
133
- globals()[name_s] = pickle.loads(value)
134
- else:
135
- raise m
136
- except BaseException as e:
137
- logging.warning("Failed to load variable [%s].", name_s, exc_info=e)
138
- else:
139
- logging.debug("Variable [%s] loaded", name_s)
140
-
141
- name = b""
142
- value = b""
143
- else:
144
- if not name:
145
- name = line
146
- else:
147
- value += line
148
- await _load_snapshot()
149
- del _load_snapshot`;
150
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * Check whether the location is remote or not.
3
- *
4
- * @param location The location to test
5
- * @returns The result
6
- */
7
- export declare function isRuntimeRemote(location: string): boolean;
@@ -1,14 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- const NON_REMOTE_LOCATION = ['browser', 'local'];
6
- /**
7
- * Check whether the location is remote or not.
8
- *
9
- * @param location The location to test
10
- * @returns The result
11
- */
12
- export function isRuntimeRemote(location) {
13
- return !NON_REMOTE_LOCATION.includes(location);
14
- }
@@ -1,2 +0,0 @@
1
- import { IDataset } from '../models';
2
- export declare const getDatasetCell: (dataset: IDataset) => string;
@@ -1,28 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export const getDatasetCell = (dataset) => {
6
- switch (dataset.contentType) {
7
- case 'application/vnd.ms-excel':
8
- case 'text/csv':
9
- return `# --- ✅ Load the ${dataset.fileName}.${dataset.datasetExtension} dataset (${dataset.mimeType})
10
- import pandas as pd
11
- ${dataset.fileName}_${dataset.datasetExtension} = pd.read_csv("${dataset.cdnUrl}")
12
- ${dataset.fileName}_${dataset.datasetExtension}
13
-
14
- `;
15
- case 'image/png':
16
- case 'image/jpg':
17
- case 'image/jpeg':
18
- return `# --- ✅ Display the ${dataset.fileName}.${dataset.datasetExtension} dataset (${dataset.mimeType})
19
- from IPython.display import Image
20
- url = "${dataset.cdnUrl}"
21
- Image(url, width=300)
22
-
23
- `;
24
- default:
25
- return `# --- 😞 File of type ${dataset.contentType} is not supported for now.
26
- `;
27
- }
28
- };