@datalayer/core 1.0.25 → 1.1.43

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 (359) hide show
  1. package/README.md +11 -134
  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/auth/AuthenticationManager.d.ts +3 -3
  6. package/lib/client/auth/AuthenticationManager.js +13 -13
  7. package/lib/client/auth/strategies.d.ts +2 -2
  8. package/lib/client/auth/strategies.js +6 -6
  9. package/lib/client/base.d.ts +9 -12
  10. package/lib/client/base.js +17 -19
  11. package/lib/client/index.d.ts +10 -98
  12. package/lib/client/index.js +12 -21
  13. package/lib/client/mixins/IAMMixin.js +26 -26
  14. package/lib/components/auth/Login.js +2 -2
  15. package/lib/components/avatars/UserAvatar.d.ts +16 -0
  16. package/lib/components/avatars/UserAvatar.js +47 -0
  17. package/lib/components/avatars/index.d.ts +1 -0
  18. package/lib/components/avatars/index.js +1 -0
  19. package/lib/components/billing/BillableAccountSelect.js +4 -0
  20. package/lib/components/billing/index.js +4 -0
  21. package/lib/components/context/index.d.ts +0 -1
  22. package/lib/components/context/index.js +0 -1
  23. package/lib/components/display/DisplayHandle.d.ts +12 -0
  24. package/lib/components/display/DisplayHandle.js +11 -0
  25. package/lib/components/display/LiveRelativeTime.js +4 -0
  26. package/lib/components/display/index.d.ts +1 -0
  27. package/lib/components/display/index.js +1 -0
  28. package/lib/components/flashes/index.d.ts +0 -1
  29. package/lib/components/flashes/index.js +0 -1
  30. package/lib/components/index.d.ts +0 -1
  31. package/lib/components/index.js +0 -1
  32. package/lib/components/principal/Principal.d.ts +7 -0
  33. package/lib/components/principal/Principal.js +153 -16
  34. package/lib/components/principal/PrincipalAvatar.d.ts +1 -1
  35. package/lib/components/principal/PrincipalAvatar.js +4 -28
  36. package/lib/components/principal/PrincipalBadge.js +4 -4
  37. package/lib/components/principal/PrincipalDetailsOverlay.d.ts +4 -2
  38. package/lib/components/principal/PrincipalDetailsOverlay.js +27 -7
  39. package/lib/components/principal/PrincipalSwitcherMenu.js +79 -42
  40. package/lib/components/progress/index.d.ts +0 -1
  41. package/lib/components/progress/index.js +0 -1
  42. package/lib/components/sharing/ShareAccessComponent.d.ts +3 -2
  43. package/lib/components/sharing/ShareAccessComponent.js +194 -147
  44. package/lib/components/sharing/SharingEditor.js +4 -0
  45. package/lib/components/snippets/index.d.ts +1 -1
  46. package/lib/components/snippets/index.js +1 -1
  47. package/lib/components/students/StudentResultCircle.d.ts +21 -0
  48. package/lib/components/students/StudentResultCircle.js +59 -0
  49. package/lib/components/students/index.d.ts +1 -1
  50. package/lib/components/students/index.js +1 -1
  51. package/lib/components/time/LiveRelativeTime.js +4 -0
  52. package/lib/components/time/index.js +4 -0
  53. package/lib/components/timeline/index.js +4 -0
  54. package/lib/components/tokens/index.d.ts +1 -1
  55. package/lib/components/tokens/index.js +1 -1
  56. package/lib/components/toolbars/index.d.ts +1 -3
  57. package/lib/components/toolbars/index.js +1 -3
  58. package/lib/config/Configuration.d.ts +13 -13
  59. package/lib/config/Configuration.js +5 -5
  60. package/lib/hooks/cacheConverters.d.ts +21 -0
  61. package/lib/hooks/cacheConverters.js +110 -0
  62. package/lib/hooks/index.d.ts +0 -2
  63. package/lib/hooks/index.js +0 -2
  64. package/lib/hooks/useCache.d.ts +64 -35
  65. package/lib/hooks/useCache.js +661 -306
  66. package/lib/hooks/useDatalayer.js +3 -1
  67. package/lib/hooks/useIAM.js +2 -4
  68. package/lib/hooks/useLocationHandles.d.ts +3 -1
  69. package/lib/hooks/useLocationHandles.js +2 -1
  70. package/lib/hooks/usePrincipalStore.d.ts +2 -2
  71. package/lib/hooks/usePrincipalStore.js +97 -14
  72. package/lib/hooks/useSelectedPrincipal.js +1 -1
  73. package/lib/hooks/useUser.js +19 -2
  74. package/lib/index.d.ts +1 -6
  75. package/lib/index.js +1 -13
  76. package/lib/main.js +3 -3
  77. package/lib/mocks/index.js +1 -1
  78. package/lib/mocks/models/index.d.ts +0 -1
  79. package/lib/mocks/models/index.js +0 -1
  80. package/lib/models/Datasource.d.ts +2 -2
  81. package/lib/models/IAM.d.ts +1 -1
  82. package/lib/models/School.d.ts +12 -3
  83. package/lib/models/Secret.d.ts +2 -2
  84. package/lib/models/Student.d.ts +13 -3
  85. package/lib/models/Usage.d.ts +11 -1
  86. package/lib/models/UserDTO.d.ts +2 -2
  87. package/lib/models/UserSettings.d.ts +1 -1
  88. package/lib/models/UserSettings.js +1 -1
  89. package/lib/models/index.d.ts +0 -30
  90. package/lib/models/index.js +0 -30
  91. package/lib/otel/client/OtelClient.d.ts +2 -2
  92. package/lib/otel/client/OtelClient.js +2 -2
  93. package/lib/otel/hooks/index.js +5 -5
  94. package/lib/otel/types.d.ts +1 -1
  95. package/lib/otel/views/OtelLive.js +1 -1
  96. package/lib/routes/index.d.ts +1 -0
  97. package/lib/routes/index.js +1 -0
  98. package/lib/routes/publicPaths.d.ts +23 -0
  99. package/lib/routes/publicPaths.js +74 -0
  100. package/lib/state/State.d.ts +0 -12
  101. package/lib/state/State.js +0 -12
  102. package/lib/state/substates/CoreState.js +13 -13
  103. package/lib/state/substates/IAMState.d.ts +1 -1
  104. package/lib/state/substates/IAMState.js +14 -14
  105. package/lib/state/substates/LayoutState.d.ts +12 -1
  106. package/lib/state/substates/SurveysState.d.ts +1 -1
  107. package/lib/state/substates/SurveysState.js +10 -10
  108. package/lib/state/substates/index.d.ts +0 -7
  109. package/lib/state/substates/index.js +0 -7
  110. package/lib/utils/Handles.js +3 -1
  111. package/lib/utils/index.d.ts +0 -1
  112. package/lib/utils/index.js +0 -1
  113. package/lib/views/api-keys/APIKeys.js +12 -3
  114. package/lib/views/datasources/DatasourceDetail.d.ts +1 -1
  115. package/lib/views/datasources/DatasourceNew.d.ts +1 -1
  116. package/lib/views/datasources/Datasources.d.ts +1 -1
  117. package/lib/views/datasources/Datasources.js +12 -3
  118. package/lib/views/iam/SignInSimple.d.ts +37 -1
  119. package/lib/views/iam/SignInSimple.js +111 -13
  120. package/package.json +5 -3
  121. package/lib/App.css +0 -47
  122. package/lib/App.d.ts +0 -3
  123. package/lib/App.js +0 -21
  124. package/lib/api/runtimes/checkpoints.d.ts +0 -122
  125. package/lib/api/runtimes/checkpoints.js +0 -118
  126. package/lib/api/runtimes/environments.d.ts +0 -9
  127. package/lib/api/runtimes/environments.js +0 -29
  128. package/lib/api/runtimes/healthz.d.ts +0 -15
  129. package/lib/api/runtimes/healthz.js +0 -44
  130. package/lib/api/runtimes/index.d.ts +0 -12
  131. package/lib/api/runtimes/index.js +0 -16
  132. package/lib/api/runtimes/runtimes.d.ts +0 -138
  133. package/lib/api/runtimes/runtimes.js +0 -230
  134. package/lib/api/runtimes/snapshots.d.ts +0 -38
  135. package/lib/api/runtimes/snapshots.js +0 -82
  136. package/lib/api/scheduler/index.d.ts +0 -6
  137. package/lib/api/scheduler/index.js +0 -10
  138. package/lib/api/scheduler/schedules.d.ts +0 -85
  139. package/lib/api/scheduler/schedules.js +0 -78
  140. package/lib/api/spacer/documents.d.ts +0 -12
  141. package/lib/api/spacer/documents.js +0 -43
  142. package/lib/api/spacer/healthz.d.ts +0 -15
  143. package/lib/api/spacer/healthz.js +0 -44
  144. package/lib/api/spacer/index.d.ts +0 -15
  145. package/lib/api/spacer/index.js +0 -19
  146. package/lib/api/spacer/items.d.ts +0 -25
  147. package/lib/api/spacer/items.js +0 -55
  148. package/lib/api/spacer/lexicals.d.ts +0 -34
  149. package/lib/api/spacer/lexicals.js +0 -89
  150. package/lib/api/spacer/notebooks.d.ts +0 -34
  151. package/lib/api/spacer/notebooks.js +0 -89
  152. package/lib/api/spacer/spaces.d.ts +0 -84
  153. package/lib/api/spacer/spaces.js +0 -170
  154. package/lib/api/spacer/users.d.ts +0 -9
  155. package/lib/api/spacer/users.js +0 -29
  156. package/lib/client/mixins/RuntimesMixin.d.ts +0 -93
  157. package/lib/client/mixins/RuntimesMixin.js +0 -229
  158. package/lib/client/mixins/SpacerMixin.d.ts +0 -210
  159. package/lib/client/mixins/SpacerMixin.js +0 -615
  160. package/lib/client/utils/spacerUtils.d.ts +0 -18
  161. package/lib/client/utils/spacerUtils.js +0 -32
  162. package/lib/collaboration/DatalayerCollaboration.d.ts +0 -13
  163. package/lib/collaboration/DatalayerCollaboration.js +0 -28
  164. package/lib/collaboration/DatalayerCollaborationProvider.d.ts +0 -60
  165. package/lib/collaboration/DatalayerCollaborationProvider.js +0 -163
  166. package/lib/collaboration/index.d.ts +0 -2
  167. package/lib/collaboration/index.js +0 -6
  168. package/lib/components/context/SpaceSelect.d.ts +0 -2
  169. package/lib/components/context/SpaceSelect.js +0 -42
  170. package/lib/components/flashes/FlashDisclaimer.d.ts +0 -2
  171. package/lib/components/flashes/FlashDisclaimer.js +0 -17
  172. package/lib/components/icons/ArtifactIcon.d.ts +0 -10
  173. package/lib/components/icons/ArtifactIcon.js +0 -58
  174. package/lib/components/icons/index.d.ts +0 -1
  175. package/lib/components/icons/index.js +0 -5
  176. package/lib/components/nbgrader/NbGradesDetails.d.ts +0 -5
  177. package/lib/components/nbgrader/NbGradesDetails.js +0 -14
  178. package/lib/components/nbgrader/index.d.ts +0 -1
  179. package/lib/components/nbgrader/index.js +0 -5
  180. package/lib/components/progress/CreditsIndicator.d.ts +0 -33
  181. package/lib/components/progress/CreditsIndicator.js +0 -23
  182. package/lib/components/runtimes/RuntimeCellVariables.d.ts +0 -39
  183. package/lib/components/runtimes/RuntimeCellVariables.js +0 -172
  184. package/lib/components/runtimes/RuntimeCellVariablesDialog.d.ts +0 -37
  185. package/lib/components/runtimes/RuntimeCellVariablesDialog.js +0 -101
  186. package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +0 -57
  187. package/lib/components/runtimes/RuntimeLauncherDialog.js +0 -275
  188. package/lib/components/runtimes/RuntimePickerBase.d.ts +0 -69
  189. package/lib/components/runtimes/RuntimePickerBase.js +0 -122
  190. package/lib/components/runtimes/RuntimePickerCell.d.ts +0 -34
  191. package/lib/components/runtimes/RuntimePickerCell.js +0 -104
  192. package/lib/components/runtimes/RuntimePickerNotebook.d.ts +0 -42
  193. package/lib/components/runtimes/RuntimePickerNotebook.js +0 -232
  194. package/lib/components/runtimes/RuntimeReservationControl.d.ts +0 -47
  195. package/lib/components/runtimes/RuntimeReservationControl.js +0 -42
  196. package/lib/components/runtimes/RuntimeSimplePicker.d.ts +0 -38
  197. package/lib/components/runtimes/RuntimeSimplePicker.js +0 -155
  198. package/lib/components/runtimes/RuntimeTransfer.d.ts +0 -16
  199. package/lib/components/runtimes/RuntimeTransfer.js +0 -5
  200. package/lib/components/runtimes/RuntimeUtils.d.ts +0 -17
  201. package/lib/components/runtimes/RuntimeUtils.js +0 -178
  202. package/lib/components/runtimes/RuntimeVariables.d.ts +0 -38
  203. package/lib/components/runtimes/RuntimeVariables.js +0 -75
  204. package/lib/components/runtimes/index.d.ts +0 -11
  205. package/lib/components/runtimes/index.js +0 -15
  206. package/lib/components/scheduler/ScheduleMenu.d.ts +0 -54
  207. package/lib/components/scheduler/ScheduleMenu.js +0 -154
  208. package/lib/components/scheduler/index.d.ts +0 -1
  209. package/lib/components/scheduler/index.js +0 -5
  210. package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +0 -33
  211. package/lib/components/snapshots/SandboxSnapshotMenu.js +0 -169
  212. package/lib/components/snapshots/index.d.ts +0 -1
  213. package/lib/components/snapshots/index.js +0 -5
  214. package/lib/components/snippets/SnippetDialog.d.ts +0 -42
  215. package/lib/components/snippets/SnippetDialog.js +0 -42
  216. package/lib/components/students/StudentItemStatus.d.ts +0 -7
  217. package/lib/components/students/StudentItemStatus.js +0 -66
  218. package/lib/components/tokens/SpaceVariantToken.d.ts +0 -5
  219. package/lib/components/tokens/SpaceVariantToken.js +0 -23
  220. package/lib/components/toolbars/AssignmentEditorToolbar.d.ts +0 -4
  221. package/lib/components/toolbars/AssignmentEditorToolbar.js +0 -18
  222. package/lib/components/toolbars/DocumentEditorToolbar.d.ts +0 -2
  223. package/lib/components/toolbars/DocumentEditorToolbar.js +0 -12
  224. package/lib/components/toolbars/NotebookEditorToolbar.d.ts +0 -29
  225. package/lib/components/toolbars/NotebookEditorToolbar.js +0 -30
  226. package/lib/examples/CellExample.d.ts +0 -6
  227. package/lib/examples/CellExample.js +0 -20
  228. package/lib/examples/NotebookExample.d.ts +0 -6
  229. package/lib/examples/NotebookExample.js +0 -19
  230. package/lib/examples/lexical-theme.css +0 -436
  231. package/lib/examples/notebooks/IPyWidgetsExample.ipynb.json +0 -101
  232. package/lib/examples/notebooks/IPyWidgetsExampleWithState.ipynb.json +0 -112
  233. package/lib/examples/notebooks/Lite.ipynb.json +0 -128
  234. package/lib/examples/notebooks/Matplotlib.ipynb.json +0 -137
  235. package/lib/examples/notebooks/NotebookExample1.ipynb.json +0 -126
  236. package/lib/examples/notebooks/NotebookExample2.ipynb.json +0 -48
  237. package/lib/examples/notebooks/NotebookOutputs.ipynb.json +0 -49
  238. package/lib/examples/notebooks/NotebookToCExample.ipynb.json +0 -102
  239. package/lib/examples/notebooks/PyGWalker.ipynb.json +0 -55
  240. package/lib/hooks/useCellOutputshot.d.ts +0 -4
  241. package/lib/hooks/useCellOutputshot.js +0 -25
  242. package/lib/hooks/useProjects.d.ts +0 -628
  243. package/lib/hooks/useProjects.js +0 -190
  244. package/lib/hooks/useRuntimes.d.ts +0 -5
  245. package/lib/hooks/useRuntimes.js +0 -34
  246. package/lib/mocks/jupyter/index.js +0 -5
  247. package/lib/mocks/models/CourseMock.d.ts +0 -6
  248. package/lib/mocks/models/CourseMock.js +0 -29
  249. package/lib/mocks/models/SpaceMock.d.ts +0 -6
  250. package/lib/mocks/models/SpaceMock.js +0 -25
  251. package/lib/models/Assignment.d.ts +0 -7
  252. package/lib/models/Assignment.js +0 -5
  253. package/lib/models/Cell.d.ts +0 -8
  254. package/lib/models/Cell.js +0 -5
  255. package/lib/models/CodeBlock.d.ts +0 -10
  256. package/lib/models/CodeBlock.js +0 -5
  257. package/lib/models/CodeSandboxSnapshot.d.ts +0 -92
  258. package/lib/models/CodeSandboxSnapshot.js +0 -13
  259. package/lib/models/CodeSandboxSnapshotDTO.d.ts +0 -173
  260. package/lib/models/CodeSandboxSnapshotDTO.js +0 -139
  261. package/lib/models/CodefeedBlocks.d.ts +0 -7
  262. package/lib/models/CodefeedBlocks.js +0 -5
  263. package/lib/models/Content.d.ts +0 -5
  264. package/lib/models/Content.js +0 -5
  265. package/lib/models/Course.d.ts +0 -17
  266. package/lib/models/Course.js +0 -5
  267. package/lib/models/Dataset.d.ts +0 -16
  268. package/lib/models/Dataset.js +0 -5
  269. package/lib/models/Document.d.ts +0 -8
  270. package/lib/models/Document.js +0 -5
  271. package/lib/models/Environment.d.ts +0 -86
  272. package/lib/models/Environment.js +0 -5
  273. package/lib/models/EnvironmentDTO.d.ts +0 -125
  274. package/lib/models/EnvironmentDTO.js +0 -88
  275. package/lib/models/Exercise.d.ts +0 -16
  276. package/lib/models/Exercise.js +0 -5
  277. package/lib/models/Item.d.ts +0 -20
  278. package/lib/models/Item.js +0 -5
  279. package/lib/models/ItemDTO.d.ts +0 -74
  280. package/lib/models/ItemDTO.js +0 -186
  281. package/lib/models/ItemType.d.ts +0 -2
  282. package/lib/models/ItemType.js +0 -5
  283. package/lib/models/Lesson.d.ts +0 -5
  284. package/lib/models/Lesson.js +0 -5
  285. package/lib/models/LexicalDTO.d.ts +0 -155
  286. package/lib/models/LexicalDTO.js +0 -157
  287. package/lib/models/Library.d.ts +0 -10
  288. package/lib/models/Library.js +0 -5
  289. package/lib/models/Notebook.d.ts +0 -11
  290. package/lib/models/Notebook.js +0 -5
  291. package/lib/models/NotebookDTO.d.ts +0 -96
  292. package/lib/models/NotebookDTO.js +0 -153
  293. package/lib/models/Page.d.ts +0 -41
  294. package/lib/models/Page.js +0 -25
  295. package/lib/models/PageTag.d.ts +0 -19
  296. package/lib/models/PageTag.js +0 -94
  297. package/lib/models/ProjectDTO.d.ts +0 -89
  298. package/lib/models/ProjectDTO.js +0 -131
  299. package/lib/models/Runtime.d.ts +0 -123
  300. package/lib/models/Runtime.js +0 -18
  301. package/lib/models/RuntimeDTO.d.ts +0 -191
  302. package/lib/models/RuntimeDTO.js +0 -204
  303. package/lib/models/Space.d.ts +0 -35
  304. package/lib/models/Space.js +0 -66
  305. package/lib/models/SpaceDTO.d.ts +0 -334
  306. package/lib/models/SpaceDTO.js +0 -244
  307. package/lib/models/SpaceItem.d.ts +0 -10
  308. package/lib/models/SpaceItem.js +0 -5
  309. package/lib/models/SpaceMember.d.ts +0 -6
  310. package/lib/models/SpaceMember.js +0 -5
  311. package/lib/models/StudentItem.d.ts +0 -21
  312. package/lib/models/StudentItem.js +0 -5
  313. package/lib/services/DatalayerServiceManager.d.ts +0 -22
  314. package/lib/services/DatalayerServiceManager.js +0 -69
  315. package/lib/services/index.d.ts +0 -4
  316. package/lib/services/index.js +0 -7
  317. package/lib/services/reconnectToRuntime.d.ts +0 -32
  318. package/lib/services/reconnectToRuntime.js +0 -59
  319. package/lib/state/substates/CellState.d.ts +0 -12
  320. package/lib/state/substates/CellState.js +0 -22
  321. package/lib/state/substates/DocumentState.d.ts +0 -10
  322. package/lib/state/substates/DocumentState.js +0 -14
  323. package/lib/state/substates/GradeState.d.ts +0 -10
  324. package/lib/state/substates/GradeState.js +0 -14
  325. package/lib/state/substates/JupyterLabState.d.ts +0 -16
  326. package/lib/state/substates/JupyterLabState.js +0 -17
  327. package/lib/state/substates/NbformatState.d.ts +0 -13
  328. package/lib/state/substates/NbformatState.js +0 -16
  329. package/lib/state/substates/RuntimesState.d.ts +0 -79
  330. package/lib/state/substates/RuntimesState.js +0 -180
  331. package/lib/state/substates/SpaceState.d.ts +0 -11
  332. package/lib/state/substates/SpaceState.js +0 -16
  333. package/lib/stateful/index.d.ts +0 -2
  334. package/lib/stateful/index.js +0 -6
  335. package/lib/stateful/jupyter/exec/Python.d.ts +0 -5
  336. package/lib/stateful/jupyter/exec/Python.js +0 -100
  337. package/lib/stateful/jupyter/exec/Snippets.d.ts +0 -105
  338. package/lib/stateful/jupyter/exec/Snippets.js +0 -101
  339. package/lib/stateful/jupyter/exec/index.d.ts +0 -2
  340. package/lib/stateful/jupyter/exec/index.js +0 -6
  341. package/lib/stateful/jupyter/index.d.ts +0 -2
  342. package/lib/stateful/jupyter/index.js +0 -6
  343. package/lib/stateful/jupyter/kernelsHandler.d.ts +0 -8
  344. package/lib/stateful/jupyter/kernelsHandler.js +0 -39
  345. package/lib/stateful/runtimes/actions.d.ts +0 -102
  346. package/lib/stateful/runtimes/actions.js +0 -249
  347. package/lib/stateful/runtimes/apis.d.ts +0 -273
  348. package/lib/stateful/runtimes/apis.js +0 -5
  349. package/lib/stateful/runtimes/index.d.ts +0 -5
  350. package/lib/stateful/runtimes/index.js +0 -9
  351. package/lib/stateful/runtimes/settings.d.ts +0 -15
  352. package/lib/stateful/runtimes/settings.js +0 -31
  353. package/lib/stateful/runtimes/snapshots.d.ts +0 -25
  354. package/lib/stateful/runtimes/snapshots.js +0 -150
  355. package/lib/stateful/runtimes/utils.d.ts +0 -7
  356. package/lib/stateful/runtimes/utils.js +0 -14
  357. package/lib/utils/Cells.d.ts +0 -2
  358. package/lib/utils/Cells.js +0 -28
  359. /package/lib/{mocks/jupyter/index.d.ts → cli-login.d.ts} +0 -0
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Become a Sponsor](https://img.shields.io/static/v1?label=Become%20a%20Sponsor&message=%E2%9D%A4&logo=GitHub&style=flat&color=1ABC9C)](https://github.com/sponsors/datalayer)
4
4
 
5
- # ☰ 🌀 Datalayer Core
5
+ # ☰ Datalayer Core
6
6
 
7
7
  <p align="center">
8
8
  <strong>Python and Typescript libraries for Datalayer</strong>
@@ -25,12 +25,10 @@ This package serves as the base foundation used by many other Datalayer packages
25
25
  ## Key Features
26
26
 
27
27
  - **🔐 Simple Authentication**: Easy token-based authentication with environment variable support
28
- - **⚡ Runtime Management**: Create and manage scalable compute runtimes (CPU/GPU) for code execution
29
- - **📸 Snapshot Management**: Create and manage compute snapshots of your runtimes for reproducible environments
30
28
  - **🔒 Secrets Management**: Securely handle sensitive data and credentials in your workflows
31
29
  - **🐍 Python Client**: Programmatic access to Datalayer platform with context managers and clean resource management
32
30
  - **🌐 TypeScript/React Client**: React components and services for building Jupyter-based applications
33
- - **💻 Command Line Interface**: CLI tools for managing runtimes, snapshots, and platform resources
31
+ - **💻 Command Line Interface**: CLI tools for account and platform operations
34
32
  - **🔧 Base Classes**: Core application classes and configuration inherited by other Datalayer projects
35
33
  - **📓 Jupyter Integration**: ServiceManager and collaboration providers for notebook experiences
36
34
  - **🧭 Universal Navigation**: Smart navigation hooks that auto-detect and work with React Router, Next.js, or native browser
@@ -85,148 +83,27 @@ from datalayer_core import DatalayerClient
85
83
  client = DatalayerClient()
86
84
 
87
85
  # Or pass token directly
88
- client = DatalayerClient(token="your-token-here")
86
+ client = DatalayerClient(api_key="your-api-key-here")
89
87
 
90
88
  if client.authenticate():
91
89
  print("Successfully authenticated!")
92
90
  ```
93
91
 
94
- ### 2. Execute Code in a Runtime
92
+ ### 2. Runtime, Snapshots, and Evals
95
93
 
96
- Use context managers to create runtimes and ensure proper resource cleanup:
94
+ Runtime execution, snapshot workflows, and evals CLI are now documented and maintained in:
97
95
 
98
- ```python
99
- from datalayer_core import DatalayerClient
100
-
101
- client = DatalayerClient()
102
-
103
- # Execute code in a managed runtime
104
- with client.create_runtime() as runtime:
105
- response = runtime.execute("print('Hello from Datalayer!')")
106
- print(response.stdout)
107
- ```
108
-
109
- ### 3. Using the CLI
110
-
111
- The CLI provides command-line access to Datalayer platform features:
112
-
113
- ```bash
114
- # List available runtimes
115
- datalayer runtime list
116
-
117
- # Create a new runtime
118
- datalayer runtime create ai-env --given-name my-runtime-123
119
-
120
- # Execute a script in a runtime
121
- datalayer runtime exec my-script.py --agent <agent-id>
122
-
123
- # Create a snapshot from a runtime but do not terminate the runtime
124
- datalayer snapshots create <pod-name> my-snapshot 'AI work!' False
125
- ```
126
-
127
- ### 4. Subscription and Credits CLI
128
-
129
- Use these commands to inspect billing and manage credits distribution.
130
-
131
- ```bash
132
- # End-user billing view
133
- datalayer subscriptions show
134
- datalayer subscriptions available
135
- datalayer subscriptions move
136
- datalayer subscriptions topups
137
- datalayer subscriptions dry-run
138
-
139
- # Organization and team credits visibility
140
- datalayer usage org-overview --organization-uid <org_uid>
141
- datalayer usage team-overview --team-uid <team_uid>
142
-
143
- # Monitoring-driven credit management
144
- datalayer usage org-monitor --organization-uid <org_uid> --window-hours 24
145
- datalayer usage team-monitor --team-uid <team_uid> --window-hours 24
146
-
147
- # Credits transfer operations (owners/admins)
148
- datalayer usage org-allocate-team --organization-uid <org_uid> --team-uid <team_uid> --amount 50
149
- datalayer usage org-revoke-team --organization-uid <org_uid> --team-uid <team_uid> --amount 20
150
- datalayer usage team-allocate-member --team-uid <team_uid> --member-uid <member_uid> --amount 15
151
- datalayer usage team-revoke-member --team-uid <team_uid> --member-uid <member_uid> --amount 5
152
- ```
153
-
154
- ### 5. Evals CLI (Multi-Agentspec)
155
-
156
- Use comma-separated agentspec ids to create one experiment per agentspec variant:
157
-
158
- ```bash
159
- # Creates one experiment per agentspec in the list
160
- datalayer evals experiments create my-exp \
161
- --evalset-id <evalset_id> \
162
- --agent-spec-ids example-evals,example-evals-nocodemode,example-custom
163
- ```
96
+ - [agent-runtimes README](https://github.com/datalayer/agent-runtimes/blob/main/README.md)
97
+ - [agent-runtimes CLI docs](https://agent-runtimes.datalayer.tech/cli)
164
98
 
165
- Generate a comparison report:
166
-
167
- ```bash
168
- datalayer evals report <evalset_id> --run-limit 50 --export
169
- ```
170
-
171
- How to interpret grouped comparisons in the report:
172
-
173
- - `Within-Agentspec Pairwise Latest-Pass Deltas`: compares experiments using the same agentspec id.
174
- - `Cross-Agentspec Pairwise Latest-Pass Deltas`: compares experiments using different agentspec ids.
175
- - Pairwise sections compute all combinations for the selected experiments, not just two agentspecs.
99
+ Use `agent-runtimes` for runtime workloads (`RuntimeClient`, `@datalayer`, snapshots, and evals), and use `datalayer-core` for account/platform operations (authentication, secrets, API keys, usage, profile).
176
100
 
177
101
  ## Examples
178
102
 
179
- ### Python Examples
180
-
181
- For comprehensive Python usage examples, see the [`examples/`](https://github.com/datalayer/core/tree/main/examples) directory which includes:
182
-
183
- - **FastAPI + scikit-learn**: Web application with ML models
184
- - **Streamlit + scikit-learn**: Interactive data science apps
185
- - **PyTorch GPU workloads**: High-performance computing examples
186
- - **Decorator patterns**: Remote function execution with `@datalayer`
187
- - **And more**: Complete examples with documentation and setup instructions
188
-
189
- ### TypeScript/React Examples
190
-
191
- Run the interactive examples locally:
192
-
193
- ```bash
194
- # Install dependencies
195
- npm install
196
-
197
- # Set your Datalayer API token in .env
198
- echo "VITE_DATALAYER_API_KEY=your-token-here" > .env
199
-
200
- # Start the examples server
201
- npm run examples
202
- ```
203
-
204
- Available at http://localhost:3000/:
205
-
206
- - **DatalayerNotebookExample**: Full integration with Datalayer services and collaboration
207
- - **NotebookExample**: Basic Jupyter notebook in React
208
- - **CellExample**: Individual code cell execution
209
- - **ReactRouterAdvancedExample**: Comprehensive navigation demo with React Router integration
210
- - **ReactRouterNavigationExample**: Basic navigation with route parameters
211
- - **NativeNavigationExample**: Browser-native navigation fallback
212
-
213
- ### Next.js Application Example
214
-
215
- A complete Next.js application demonstrating platform integration:
216
-
217
- ```bash
218
- cd examples/nextjj
219
- npm install
220
- npm run dev
221
- ```
222
-
223
- Features:
103
+ Examples have moved to Agent Runtimes:
224
104
 
225
- - Token authentication with Datalayer IAM
226
- - Browse and create notebooks from your workspace
227
- - Select compute environments for execution
228
- - Interactive notebook viewer with real-time outputs
229
- - Clean, responsive UI with GitHub Primer components
105
+ - [Agent Runtimes examples README](https://github.com/datalayer/agent-runtimes/blob/main/examples/README.md)
106
+ - [Agent Runtimes examples directory](https://github.com/datalayer/agent-runtimes/tree/main/examples)
230
107
 
231
108
  ## Platform Integration
232
109
 
@@ -10,13 +10,4 @@ export { requestDatalayerAPI, RunResponseError, NetworkError, } from './Datalaye
10
10
  export type { IRequestDatalayerAPIOptions } from './DatalayerApi';
11
11
  export * as iam from './iam';
12
12
  export * as otel from './otel';
13
- export * as runtimes from './runtimes';
14
- export * as scheduler from './scheduler';
15
- export * as spacer from './spacer';
16
- /**
17
- * @deprecated Please import directly from '@datalayer/core/stateful' instead.
18
- * This module provides backward compatibility for the moved apiv1 modules.
19
- */
20
- export * from '../stateful/jupyter';
21
- export * from '../stateful/runtimes';
22
13
  export * from '../api/DatalayerApi';
package/lib/api/index.js CHANGED
@@ -15,13 +15,4 @@ export { requestDatalayerAPI, RunResponseError, NetworkError, } from './Datalaye
15
15
  // Domain-organized API exports
16
16
  export * as iam from './iam/index.js';
17
17
  export * as otel from './otel/index.js';
18
- export * as runtimes from './runtimes/index.js';
19
- export * as scheduler from './scheduler/index.js';
20
- export * as spacer from './spacer/index.js';
21
- /**
22
- * @deprecated Please import directly from '@datalayer/core/stateful' instead.
23
- * This module provides backward compatibility for the moved apiv1 modules.
24
- */
25
- export * from '../stateful/jupyter/index.js';
26
- export * from '../stateful/runtimes/index.js';
27
18
  export * from '../api/DatalayerApi.js';
@@ -0,0 +1,167 @@
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 { useCallback, useEffect, useState } from 'react';
7
+ import { createRoot } from 'react-dom/client';
8
+ import { Box, Button, Spinner, Text } from '@primer/react';
9
+ import { ShieldLockIcon } from '@primer/octicons-react';
10
+ import { DatalayerThemeProvider, themeConfigs, createThemeStore, } from '@datalayer/primer-addons';
11
+ import { SvgLinesLogo, SvgUsecasesHero } from '@datalayer/design';
12
+ import { AppearanceControlsWithStore } from '@datalayer/primer-addons/lib/components/appearance';
13
+ import { ConfettiSuccess } from './components/confetti/index.js';
14
+ import { formatFriendlyHandle } from './utils/Handles.js';
15
+ import { SignInSimple } from './views/iam/SignInSimple.js';
16
+ const DATALAYER_IAM_USER_KEY = '@datalayer/iam:user';
17
+ const DATALAYER_IAM_TOKEN_KEY = '@datalayer/iam:token';
18
+ const useCliThemeStore = createThemeStore('datalayer-core-cli-theme-v2', {
19
+ colorMode: 'dark',
20
+ theme: 'matrix',
21
+ });
22
+ const readStoredAuth = () => {
23
+ const token = window.localStorage.getItem(DATALAYER_IAM_TOKEN_KEY) || '';
24
+ const rawUser = window.localStorage.getItem(DATALAYER_IAM_USER_KEY) || '';
25
+ if (!token || !rawUser) {
26
+ return null;
27
+ }
28
+ try {
29
+ const user = JSON.parse(rawUser);
30
+ const userHandle = String(user?.handle || user?.handle_s || '').trim();
31
+ if (!userHandle) {
32
+ return null;
33
+ }
34
+ return { token, userHandle };
35
+ }
36
+ catch {
37
+ return null;
38
+ }
39
+ };
40
+ function SignInCLIApp() {
41
+ const [state, setState] = useState('checking');
42
+ const [message, setMessage] = useState('');
43
+ const [closeHelp, setCloseHelp] = useState('');
44
+ const { colorMode, theme: themeVariant } = useCliThemeStore();
45
+ const cfg = themeConfigs[themeVariant];
46
+ const handleCloseWindow = useCallback(() => {
47
+ setCloseHelp('');
48
+ // Browsers allow window.close() only for windows/tabs opened by script.
49
+ window.close();
50
+ setTimeout(() => {
51
+ if (!document.hidden) {
52
+ try {
53
+ // Some browsers require a same-tab self-target before closing.
54
+ window.open('', '_self');
55
+ window.close();
56
+ }
57
+ catch {
58
+ // Ignore and show manual-close help below.
59
+ }
60
+ }
61
+ if (!document.hidden) {
62
+ setCloseHelp('Authentication is complete. Your browser blocked auto-close for this tab, so you can safely close it manually.');
63
+ }
64
+ }, 150);
65
+ }, []);
66
+ const finalizeCliAuthentication = useCallback(async () => {
67
+ const auth = readStoredAuth();
68
+ if (!auth) {
69
+ setState('signin');
70
+ return;
71
+ }
72
+ const response = await fetch('/', {
73
+ method: 'POST',
74
+ headers: { 'Content-Type': 'application/json' },
75
+ body: JSON.stringify({
76
+ user_handle: auth.userHandle,
77
+ token: auth.token,
78
+ }),
79
+ });
80
+ if (!response.ok) {
81
+ const text = await response.text();
82
+ throw new Error(text || 'Failed to finalize CLI authentication.');
83
+ }
84
+ setMessage(`Successfully logged in as ${formatFriendlyHandle(auth.userHandle)}.`);
85
+ setState('success');
86
+ }, []);
87
+ useEffect(() => {
88
+ finalizeCliAuthentication().catch((error) => {
89
+ setMessage(error instanceof Error ? error.message : 'Authentication failed.');
90
+ setState('signin');
91
+ });
92
+ }, [finalizeCliAuthentication]);
93
+ const renderLayout = (content) => (_jsx(DatalayerThemeProvider, { colorMode: colorMode, theme: cfg.primerTheme, themeStyles: cfg.themeStyles, children: _jsxs(Box, { sx: {
94
+ minHeight: '100vh',
95
+ bg: 'canvas.default',
96
+ color: 'fg.default',
97
+ position: 'relative',
98
+ }, children: [_jsx(Box, { sx: {
99
+ position: 'fixed',
100
+ top: 0,
101
+ right: 0,
102
+ zIndex: 20,
103
+ p: 3,
104
+ display: 'flex',
105
+ justifyContent: 'flex-end',
106
+ }, children: _jsx(AppearanceControlsWithStore, { useStore: useCliThemeStore }) }), content] }) }));
107
+ if (state === 'checking') {
108
+ return renderLayout(_jsx(Box, { sx: {
109
+ display: 'flex',
110
+ alignItems: 'center',
111
+ justifyContent: 'center',
112
+ minHeight: '100vh',
113
+ }, children: _jsx(Spinner, {}) }));
114
+ }
115
+ if (state === 'success') {
116
+ return renderLayout(_jsxs(Box, { sx: {
117
+ minHeight: '100vh',
118
+ display: 'flex',
119
+ alignItems: 'center',
120
+ justifyContent: 'center',
121
+ px: 3,
122
+ position: 'relative',
123
+ overflow: 'hidden',
124
+ }, children: [_jsx(Box, { sx: {
125
+ position: 'absolute',
126
+ inset: 0,
127
+ opacity: 0.45,
128
+ pointerEvents: 'none',
129
+ }, children: _jsx(SvgUsecasesHero, {}) }), _jsx(Box, { sx: {
130
+ position: 'absolute',
131
+ inset: 0,
132
+ pointerEvents: 'none',
133
+ zIndex: 2,
134
+ }, children: _jsx(ConfettiSuccess, {}) }), _jsxs(Box, { sx: {
135
+ position: 'relative',
136
+ zIndex: 3,
137
+ textAlign: 'center',
138
+ maxWidth: 560,
139
+ p: 4,
140
+ borderRadius: 2,
141
+ border: '1px solid',
142
+ borderColor: 'border.default',
143
+ bg: 'canvas.default',
144
+ }, children: [_jsx(Box, { sx: { display: 'flex', justifyContent: 'center', mb: 3 }, children: _jsx(Box, { sx: { width: 210 }, children: _jsx(SvgLinesLogo, { height: 32 }) }) }), _jsx(Text, { as: "h2", sx: { display: 'block', fontSize: 3, fontWeight: 600, mb: 2 }, children: message || 'Successfully logged in.' }), _jsx(Text, { as: "p", sx: { color: 'fg.muted', mb: 3 }, children: "You can close this window." }), closeHelp && (_jsx(Text, { as: "p", sx: { color: 'fg.accent', mb: 3 }, children: closeHelp })), _jsx(Box, { sx: { display: 'flex', justifyContent: 'center' }, children: _jsx(Button, { onClick: handleCloseWindow, children: "Close this window" }) })] })] }));
145
+ }
146
+ return renderLayout(_jsx(SignInSimple, { name: "Datalayer CLI", description: "Sign in to continue in your CLI session.", icon: _jsx(ShieldLockIcon, { size: 24 }), github: true, google: true, linkedin: true, signUp: true, apiKey: false, socialSignInNavigationTarget: null, onSignIn: async (token, handle) => {
147
+ window.localStorage.setItem(DATALAYER_IAM_TOKEN_KEY, token);
148
+ window.localStorage.setItem(DATALAYER_IAM_USER_KEY, JSON.stringify({
149
+ handle,
150
+ displayName: handle,
151
+ uid: '',
152
+ firstName: '',
153
+ lastName: '',
154
+ email: '',
155
+ }));
156
+ try {
157
+ await finalizeCliAuthentication();
158
+ }
159
+ catch (error) {
160
+ setMessage(error instanceof Error ? error.message : 'Authentication failed.');
161
+ }
162
+ } }));
163
+ }
164
+ const rootElement = document.getElementById('root');
165
+ if (rootElement) {
166
+ createRoot(rootElement).render(_jsx(SignInCLIApp, {}));
167
+ }
@@ -10,15 +10,15 @@ import { UserDTO } from '../../models/UserDTO';
10
10
  export declare class AuthenticationManager {
11
11
  private strategies;
12
12
  private storage;
13
- private iamRunUrl;
13
+ private iamUrl;
14
14
  private currentUser?;
15
15
  private currentToken?;
16
16
  /**
17
17
  * Create an AuthenticationManager instance
18
- * @param iamRunUrl - IAM service URL (e.g., "https://prod1.datalayer.run")
18
+ * @param iamUrl - IAM service URL (e.g., "https://prod1.datalayer.run")
19
19
  * @param storage - Token storage backend (optional, defaults to auto-detected)
20
20
  */
21
- constructor(iamRunUrl: string, storage?: TokenStorage);
21
+ constructor(iamUrl: string, storage?: TokenStorage);
22
22
  /**
23
23
  * Login using various authentication methods
24
24
  * Automatically selects the appropriate strategy based on options
@@ -15,25 +15,25 @@ import { NodeStorage, BrowserStorage } from './storage.js';
15
15
  export class AuthenticationManager {
16
16
  strategies;
17
17
  storage;
18
- iamRunUrl;
18
+ iamUrl;
19
19
  currentUser;
20
20
  currentToken;
21
21
  /**
22
22
  * Create an AuthenticationManager instance
23
- * @param iamRunUrl - IAM service URL (e.g., "https://prod1.datalayer.run")
23
+ * @param iamUrl - IAM service URL (e.g., "https://prod1.datalayer.run")
24
24
  * @param storage - Token storage backend (optional, defaults to auto-detected)
25
25
  */
26
- constructor(iamRunUrl, storage) {
27
- this.iamRunUrl = iamRunUrl;
28
- // Extract run_url (remove /api/iam/v1 if present)
29
- const runUrl = iamRunUrl.replace('/api/iam/v1', '');
30
- // CRITICAL: Pass runUrl to storage for keyring compatibility
26
+ constructor(iamUrl, storage) {
27
+ this.iamUrl = iamUrl;
28
+ // Extract datalayer_url (remove /api/iam/v1 if present)
29
+ const datalayerUrl = iamUrl.replace('/api/iam/v1', '');
30
+ // CRITICAL: Pass datalayerUrl to storage for keyring compatibility
31
31
  if (!storage) {
32
32
  if (typeof window !== 'undefined') {
33
33
  this.storage = new BrowserStorage();
34
34
  }
35
35
  else {
36
- this.storage = new NodeStorage(runUrl); // Pass runUrl as serviceUrl
36
+ this.storage = new NodeStorage(datalayerUrl); // Pass datalayerUrl as serviceUrl
37
37
  }
38
38
  }
39
39
  else {
@@ -41,10 +41,10 @@ export class AuthenticationManager {
41
41
  }
42
42
  // Initialize strategies
43
43
  this.strategies = [
44
- new TokenAuthStrategy(this.iamRunUrl, this.storage),
45
- new CredentialsAuthStrategy(this.iamRunUrl, this.storage),
46
- new StorageAuthStrategy(this.iamRunUrl, this.storage),
47
- new BrowserOAuthStrategy(this.iamRunUrl, this.storage),
44
+ new TokenAuthStrategy(this.iamUrl, this.storage),
45
+ new CredentialsAuthStrategy(this.iamUrl, this.storage),
46
+ new StorageAuthStrategy(this.iamUrl, this.storage),
47
+ new BrowserOAuthStrategy(this.iamUrl, this.storage),
48
48
  ];
49
49
  }
50
50
  /**
@@ -98,7 +98,7 @@ export class AuthenticationManager {
98
98
  async logout() {
99
99
  if (this.currentToken) {
100
100
  try {
101
- await authentication.logout(this.currentToken, this.iamRunUrl);
101
+ await authentication.logout(this.currentToken, this.iamUrl);
102
102
  }
103
103
  catch (error) {
104
104
  console.error('Error during logout API call:', error);
@@ -4,9 +4,9 @@ import { UserDTO } from '../../models/UserDTO';
4
4
  * Base authentication strategy with common functionality
5
5
  */
6
6
  declare abstract class BaseAuthStrategy implements AuthStrategy {
7
- protected iamRunUrl: string;
7
+ protected iamUrl: string;
8
8
  protected storage?: TokenStorage | undefined;
9
- constructor(iamRunUrl: string, storage?: TokenStorage | undefined);
9
+ constructor(iamUrl: string, storage?: TokenStorage | undefined);
10
10
  abstract authenticate(options: AuthOptions): Promise<AuthResult>;
11
11
  abstract canHandle(options: AuthOptions): boolean;
12
12
  /**
@@ -17,17 +17,17 @@ import { UserDTO } from '../../models/UserDTO.js';
17
17
  * Base authentication strategy with common functionality
18
18
  */
19
19
  class BaseAuthStrategy {
20
- iamRunUrl;
20
+ iamUrl;
21
21
  storage;
22
- constructor(iamRunUrl, storage) {
23
- this.iamRunUrl = iamRunUrl;
22
+ constructor(iamUrl, storage) {
23
+ this.iamUrl = iamUrl;
24
24
  this.storage = storage;
25
25
  }
26
26
  /**
27
27
  * Validate a token by calling whoami
28
28
  */
29
29
  async validateToken(token) {
30
- const response = await profile.whoami(token, this.iamRunUrl);
30
+ const response = await profile.whoami(token, this.iamUrl);
31
31
  if (!response || !response.profile) {
32
32
  throw new Error('Invalid response from profile API');
33
33
  }
@@ -82,7 +82,7 @@ export class CredentialsAuthStrategy extends BaseAuthStrategy {
82
82
  throw new Error('Handle and password are required for credentials authentication');
83
83
  }
84
84
  // Call the login API
85
- const response = await authentication.login({ handle: options.handle, password: options.password }, this.iamRunUrl);
85
+ const response = await authentication.login({ handle: options.handle, password: options.password }, this.iamUrl);
86
86
  if (!response || !response.success || !response.token) {
87
87
  throw new Error(response?.message || 'Login failed');
88
88
  }
@@ -158,7 +158,7 @@ export class BrowserOAuthStrategy extends BaseAuthStrategy {
158
158
  const callbackUri = options.callbackUri || `${window.location.origin}/auth/callback`;
159
159
  try {
160
160
  // Step 1: Get OAuth authorization URL
161
- const authzResponse = await getOAuth2AuthzUrl(provider, callbackUri, this.iamRunUrl, options.nonce);
161
+ const authzResponse = await getOAuth2AuthzUrl(provider, callbackUri, this.iamUrl, options.nonce);
162
162
  // Step 2: Open OAuth URL in popup or redirect
163
163
  if (options.usePopup !== false) {
164
164
  // Use popup window
@@ -1,4 +1,3 @@
1
- import { EnvironmentDTO } from '../models/EnvironmentDTO';
2
1
  import { AuthenticationManager } from './auth';
3
2
  import type { TokenStorage } from './auth/types';
4
3
  /** Handlers for Client method lifecycle events. */
@@ -15,11 +14,11 @@ export interface DatalayerClientConfig {
15
14
  /** Authentication token for API requests */
16
15
  token?: string;
17
16
  /** URL for the IAM service */
18
- iamRunUrl?: string;
17
+ iamUrl?: string;
19
18
  /** URL for the Runtimes service */
20
- runtimesRunUrl?: string;
19
+ runtimesUrl?: string;
21
20
  /** URL for the Spacer service */
22
- spacerRunUrl?: string;
21
+ spacerUrl?: string;
23
22
  /** Custom token storage backend (optional, defaults to auto-detected) */
24
23
  storage?: TokenStorage;
25
24
  /** Handlers for intercepting Client method calls */
@@ -28,15 +27,13 @@ export interface DatalayerClientConfig {
28
27
  /** Base Client class providing core configuration and token management. */
29
28
  export declare class DatalayerClientBase {
30
29
  /** URL for IAM service */
31
- readonly iamRunUrl: string;
30
+ readonly iamUrl: string;
32
31
  /** URL for Runtimes service */
33
- readonly runtimesRunUrl: string;
32
+ readonly runtimesUrl: string;
34
33
  /** URL for Spacer service */
35
- readonly spacerRunUrl: string;
34
+ readonly spacerUrl: string;
36
35
  /** Authentication token */
37
36
  token?: string;
38
- /** Environments */
39
- readonly environments: EnvironmentDTO[];
40
37
  /** Method lifecycle handlers */
41
38
  readonly handlers?: ClientHandlers;
42
39
  /** Authentication manager */
@@ -52,11 +49,11 @@ export declare class DatalayerClientBase {
52
49
  */
53
50
  getConfig(): DatalayerClientConfig;
54
51
  /** Get the IAM service URL. */
55
- getIamRunUrl(): string;
52
+ getIamUrl(): string;
56
53
  /** Get the Runtimes service URL. */
57
- getRuntimesRunUrl(): string;
54
+ getRuntimesUrl(): string;
58
55
  /** Get the Spacer service URL. */
59
- getSpacerRunUrl(): string;
56
+ getSpacerUrl(): string;
60
57
  /** Get the current authentication token. */
61
58
  getToken(): string | undefined;
62
59
  /**
@@ -11,15 +11,13 @@ import { AuthenticationManager } from './auth/index.js';
11
11
  /** Base Client class providing core configuration and token management. */
12
12
  export class DatalayerClientBase {
13
13
  /** URL for IAM service */
14
- iamRunUrl;
14
+ iamUrl;
15
15
  /** URL for Runtimes service */
16
- runtimesRunUrl;
16
+ runtimesUrl;
17
17
  /** URL for Spacer service */
18
- spacerRunUrl;
18
+ spacerUrl;
19
19
  /** Authentication token */
20
20
  token;
21
- /** Environments */
22
- environments = [];
23
21
  /** Method lifecycle handlers */
24
22
  handlers;
25
23
  /** Authentication manager */
@@ -29,14 +27,14 @@ export class DatalayerClientBase {
29
27
  * @param config - Client configuration options
30
28
  */
31
29
  constructor(config) {
32
- this.iamRunUrl = config.iamRunUrl || DEFAULT_SERVICE_URLS.IAM;
33
- this.runtimesRunUrl =
34
- config.runtimesRunUrl || DEFAULT_SERVICE_URLS.RUNTIMES;
35
- this.spacerRunUrl = config.spacerRunUrl || DEFAULT_SERVICE_URLS.SPACER;
30
+ this.iamUrl = config.iamUrl || DEFAULT_SERVICE_URLS.IAM;
31
+ this.runtimesUrl =
32
+ config.runtimesUrl || DEFAULT_SERVICE_URLS.RUNTIMES;
33
+ this.spacerUrl = config.spacerUrl || DEFAULT_SERVICE_URLS.SPACER;
36
34
  this.token = config.token;
37
35
  this.handlers = config.handlers;
38
36
  // Initialize authentication manager with custom storage if provided
39
- this.auth = new AuthenticationManager(this.iamRunUrl, config.storage);
37
+ this.auth = new AuthenticationManager(this.iamUrl, config.storage);
40
38
  // If a token was provided, store it in the auth manager
41
39
  if (this.token) {
42
40
  this.auth.storeToken(this.token);
@@ -48,23 +46,23 @@ export class DatalayerClientBase {
48
46
  */
49
47
  getConfig() {
50
48
  return {
51
- iamRunUrl: this.iamRunUrl,
52
- runtimesRunUrl: this.runtimesRunUrl,
53
- spacerRunUrl: this.spacerRunUrl,
49
+ iamUrl: this.iamUrl,
50
+ runtimesUrl: this.runtimesUrl,
51
+ spacerUrl: this.spacerUrl,
54
52
  token: this.token,
55
53
  };
56
54
  }
57
55
  /** Get the IAM service URL. */
58
- getIamRunUrl() {
59
- return this.iamRunUrl;
56
+ getIamUrl() {
57
+ return this.iamUrl;
60
58
  }
61
59
  /** Get the Runtimes service URL. */
62
- getRuntimesRunUrl() {
63
- return this.runtimesRunUrl;
60
+ getRuntimesUrl() {
61
+ return this.runtimesUrl;
64
62
  }
65
63
  /** Get the Spacer service URL. */
66
- getSpacerRunUrl() {
67
- return this.spacerRunUrl;
64
+ getSpacerUrl() {
65
+ return this.spacerUrl;
68
66
  }
69
67
  /** Get the current authentication token. */
70
68
  getToken() {