@datalayer/jupyter-react 1.2.2 → 2.0.0

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 (334) hide show
  1. package/README.md +10 -0
  2. package/lib/app/tabs/components/FileBrowserComponent.js +1 -1
  3. package/lib/app/tabs/components/FileBrowserComponent.js.map +1 -1
  4. package/lib/app/tabs/components/NotebookComponent.js +10 -4
  5. package/lib/app/tabs/components/NotebookComponent.js.map +1 -1
  6. package/lib/components/console/Console.js +1 -1
  7. package/lib/components/console/Console.js.map +1 -1
  8. package/lib/components/filemanager/FileManagerJupyterLab.js +1 -1
  9. package/lib/components/filemanager/FileManagerJupyterLab.js.map +1 -1
  10. package/lib/components/jupyterlab/JupyterLabApp.js +1 -1
  11. package/lib/components/jupyterlab/JupyterLabApp.js.map +1 -1
  12. package/lib/components/kernel/KernelSelector.js +1 -1
  13. package/lib/components/kernel/KernelSelector.js.map +1 -1
  14. package/lib/components/kernel/Kernels.js +1 -1
  15. package/lib/components/kernel/Kernels.js.map +1 -1
  16. package/lib/components/notebook/Notebook.d.ts +95 -41
  17. package/lib/components/notebook/Notebook.js +57 -276
  18. package/lib/components/notebook/Notebook.js.map +1 -1
  19. package/lib/components/notebook/NotebookAdapter.d.ts +263 -66
  20. package/lib/components/notebook/NotebookAdapter.js +639 -583
  21. package/lib/components/notebook/NotebookAdapter.js.map +1 -1
  22. package/lib/components/notebook/{Notebook2Base.d.ts → NotebookBase.d.ts} +2 -2
  23. package/lib/components/notebook/{Notebook2Base.js → NotebookBase.js} +29 -29
  24. package/lib/components/notebook/NotebookBase.js.map +1 -0
  25. package/lib/components/notebook/NotebookState.d.ts +37 -89
  26. package/lib/components/notebook/NotebookState.js +72 -155
  27. package/lib/components/notebook/NotebookState.js.map +1 -1
  28. package/lib/components/notebook/index.d.ts +2 -6
  29. package/lib/components/notebook/index.js +2 -6
  30. package/lib/components/notebook/index.js.map +1 -1
  31. package/lib/components/notebook/toolbar/NotebookToolbar.js +11 -16
  32. package/lib/components/notebook/toolbar/NotebookToolbar.js.map +1 -1
  33. package/lib/components/output/Output.js +1 -1
  34. package/lib/components/output/Output.js.map +1 -1
  35. package/lib/components/terminal/Terminal.js +1 -1
  36. package/lib/components/terminal/Terminal.js.map +1 -1
  37. package/lib/examples/Bokeh.js +6 -2
  38. package/lib/examples/Bokeh.js.map +1 -1
  39. package/lib/examples/Bqplot.js +7 -3
  40. package/lib/examples/Bqplot.js.map +1 -1
  41. package/lib/examples/Cell.js +1 -1
  42. package/lib/examples/Cell.js.map +1 -1
  43. package/lib/examples/CellLite.js +1 -1
  44. package/lib/examples/CellLite.js.map +1 -1
  45. package/lib/examples/Cells.js +1 -1
  46. package/lib/examples/Cells.js.map +1 -1
  47. package/lib/examples/CellsExecute.js +1 -1
  48. package/lib/examples/CellsExecute.js.map +1 -1
  49. package/lib/examples/ConsoleLite.js +2 -2
  50. package/lib/examples/ConsoleLite.js.map +1 -1
  51. package/lib/examples/Dashboard.js +7 -3
  52. package/lib/examples/Dashboard.js.map +1 -1
  53. package/lib/examples/Deno.js +8 -3
  54. package/lib/examples/Deno.js.map +1 -1
  55. package/lib/examples/Examples.js +6 -14
  56. package/lib/examples/Examples.js.map +1 -1
  57. package/lib/examples/FileBrowser.js +1 -1
  58. package/lib/examples/FileBrowser.js.map +1 -1
  59. package/lib/examples/GeoJson.js +9 -5
  60. package/lib/examples/GeoJson.js.map +1 -1
  61. package/lib/examples/IPyLeaflet.js +7 -3
  62. package/lib/examples/IPyLeaflet.js.map +1 -1
  63. package/lib/examples/IPyReact.js +6 -2
  64. package/lib/examples/IPyReact.js.map +1 -1
  65. package/lib/examples/IPyWidgets.js +7 -3
  66. package/lib/examples/IPyWidgets.js.map +1 -1
  67. package/lib/examples/IPyWidgetsState.js +13 -4
  68. package/lib/examples/IPyWidgetsState.js.map +1 -1
  69. package/lib/examples/JupyterContext.js +47 -24
  70. package/lib/examples/JupyterContext.js.map +1 -1
  71. package/lib/examples/JupyterLabTheme.js +4 -3
  72. package/lib/examples/JupyterLabTheme.js.map +1 -1
  73. package/lib/examples/KernelExecute.js +1 -1
  74. package/lib/examples/KernelExecute.js.map +1 -1
  75. package/lib/examples/KernelExecuteLite.js +1 -1
  76. package/lib/examples/KernelExecuteLite.js.map +1 -1
  77. package/lib/examples/KernelExecutor.js +1 -1
  78. package/lib/examples/KernelExecutor.js.map +1 -1
  79. package/lib/examples/KernelExecutorLite.js +1 -1
  80. package/lib/examples/KernelExecutorLite.js.map +1 -1
  81. package/lib/examples/Kernels.js +1 -1
  82. package/lib/examples/Kernels.js.map +1 -1
  83. package/lib/examples/Matplotlib.js +6 -2
  84. package/lib/examples/Matplotlib.js.map +1 -1
  85. package/lib/examples/Notebook.js +19 -8
  86. package/lib/examples/Notebook.js.map +1 -1
  87. package/lib/examples/{Notebook2Actions.js → NotebookActions.js} +6 -6
  88. package/lib/examples/NotebookActions.js.map +1 -0
  89. package/lib/examples/NotebookCellSidebar.js +17 -4
  90. package/lib/examples/NotebookCellSidebar.js.map +1 -1
  91. package/lib/examples/NotebookCellToolbar.js +7 -3
  92. package/lib/examples/NotebookCellToolbar.js.map +1 -1
  93. package/lib/examples/NotebookCollaborative.js +6 -9
  94. package/lib/examples/NotebookCollaborative.js.map +1 -1
  95. package/lib/examples/NotebookColormode.js +2 -2
  96. package/lib/examples/NotebookColormode.js.map +1 -1
  97. package/lib/examples/NotebookExtension.js +6 -2
  98. package/lib/examples/NotebookExtension.js.map +1 -1
  99. package/lib/examples/NotebookExternalContent.js +22 -14
  100. package/lib/examples/NotebookExternalContent.js.map +1 -1
  101. package/lib/examples/NotebookInit.js +23 -48
  102. package/lib/examples/NotebookInit.js.map +1 -1
  103. package/lib/examples/NotebookKernel.js +7 -16
  104. package/lib/examples/NotebookKernel.js.map +1 -1
  105. package/lib/examples/NotebookKernelChange.js +19 -12
  106. package/lib/examples/NotebookKernelChange.js.map +1 -1
  107. package/lib/examples/NotebookLess.js +13 -4
  108. package/lib/examples/NotebookLess.js.map +1 -1
  109. package/lib/examples/NotebookLite.js +21 -10
  110. package/lib/examples/NotebookLite.js.map +1 -1
  111. package/lib/examples/NotebookLocalServer.js +15 -6
  112. package/lib/examples/NotebookLocalServer.js.map +1 -1
  113. package/lib/examples/NotebookNbformat.js +2 -2
  114. package/lib/examples/NotebookNbformat.js.map +1 -1
  115. package/lib/examples/NotebookNbformatChange.js +16 -6
  116. package/lib/examples/NotebookNbformatChange.js.map +1 -1
  117. package/lib/examples/NotebookNoContext.js +10 -2
  118. package/lib/examples/NotebookNoContext.js.map +1 -1
  119. package/lib/examples/NotebookNoPrimer.js +11 -3
  120. package/lib/examples/NotebookNoPrimer.js.map +1 -1
  121. package/lib/examples/NotebookOnSessionConnection.js +13 -5
  122. package/lib/examples/NotebookOnSessionConnection.js.map +1 -1
  123. package/lib/examples/NotebookPath.js +13 -5
  124. package/lib/examples/NotebookPath.js.map +1 -1
  125. package/lib/examples/NotebookPathChange.js +7 -3
  126. package/lib/examples/NotebookPathChange.js.map +1 -1
  127. package/lib/examples/NotebookReadonly.js +6 -2
  128. package/lib/examples/NotebookReadonly.js.map +1 -1
  129. package/lib/examples/NotebookServiceManager.js +12 -6
  130. package/lib/examples/NotebookServiceManager.js.map +1 -1
  131. package/lib/examples/NotebookSkeleton.js +14 -4
  132. package/lib/examples/NotebookSkeleton.js.map +1 -1
  133. package/lib/examples/NotebookTOC.js +7 -3
  134. package/lib/examples/NotebookTOC.js.map +1 -1
  135. package/lib/examples/NotebookTheme.js +7 -3
  136. package/lib/examples/NotebookTheme.js.map +1 -1
  137. package/lib/examples/NotebookThemeColormode.js +2 -2
  138. package/lib/examples/NotebookThemeColormode.js.map +1 -1
  139. package/lib/examples/NotebookURL.js +11 -3
  140. package/lib/examples/NotebookURL.js.map +1 -1
  141. package/lib/examples/NotebookUnmount.js +8 -6
  142. package/lib/examples/NotebookUnmount.js.map +1 -1
  143. package/lib/examples/ObservableHQ.js +8 -3
  144. package/lib/examples/ObservableHQ.js.map +1 -1
  145. package/lib/examples/OutputWithMonitoring.js +11 -5
  146. package/lib/examples/OutputWithMonitoring.js.map +1 -1
  147. package/lib/examples/Outputs.js +13 -8
  148. package/lib/examples/Outputs.js.map +1 -1
  149. package/lib/examples/OutputsIpynb.js +3 -3
  150. package/lib/examples/OutputsIpynb.js.map +1 -1
  151. package/lib/examples/Panel.js +8 -4
  152. package/lib/examples/Panel.js.map +1 -1
  153. package/lib/examples/Plotly.js +7 -3
  154. package/lib/examples/Plotly.js.map +1 -1
  155. package/lib/examples/PyGWalker.js +13 -4
  156. package/lib/examples/PyGWalker.js.map +1 -1
  157. package/lib/examples/RunningSessions.js +5 -5
  158. package/lib/examples/RunningSessions.js.map +1 -1
  159. package/lib/examples/Vega.js +11 -3
  160. package/lib/examples/Vega.js.map +1 -1
  161. package/lib/examples/Viewer.js +2 -2
  162. package/lib/examples/Viewer.js.map +1 -1
  163. package/lib/examples/extensions/celltoolbar/CellToolbarComponent.js +8 -25
  164. package/lib/examples/extensions/celltoolbar/CellToolbarComponent.js.map +1 -1
  165. package/lib/examples/extensions/toc/TocComponent.d.ts +1 -0
  166. package/lib/examples/extensions/toc/TocComponent.js +39 -28
  167. package/lib/examples/extensions/toc/TocComponent.js.map +1 -1
  168. package/lib/examples/extensions/toc/TocExtension.d.ts +1 -3
  169. package/lib/examples/extensions/toc/TocExtension.js +28 -11
  170. package/lib/examples/extensions/toc/TocExtension.js.map +1 -1
  171. package/lib/jupyter/JupyterConfig.d.ts +9 -2
  172. package/lib/jupyter/JupyterConfig.js.map +1 -1
  173. package/lib/jupyter/{JupyterContext.d.ts → JupyterUse.d.ts} +3 -26
  174. package/lib/jupyter/JupyterUse.js +26 -0
  175. package/lib/jupyter/JupyterUse.js.map +1 -0
  176. package/lib/jupyter/index.d.ts +1 -3
  177. package/lib/jupyter/index.js +1 -3
  178. package/lib/jupyter/index.js.map +1 -1
  179. package/lib/jupyter/lite/contents/broadcast.js +5 -2
  180. package/lib/jupyter/lite/contents/broadcast.js.map +1 -1
  181. package/lib/jupyter/lite/contents/contents.js +5 -0
  182. package/lib/jupyter/lite/contents/contents.js.map +1 -1
  183. package/lib/jupyter/lite/contents/drivecontents.js +5 -0
  184. package/lib/jupyter/lite/contents/drivecontents.js.map +1 -1
  185. package/lib/jupyter/lite/contents/drivefs.js +5 -2
  186. package/lib/jupyter/lite/contents/drivefs.js.map +1 -1
  187. package/lib/jupyter/lite/contents/emscripten.js +5 -2
  188. package/lib/jupyter/lite/contents/emscripten.js.map +1 -1
  189. package/lib/jupyter/lite/contents/index.js +5 -0
  190. package/lib/jupyter/lite/contents/index.js.map +1 -1
  191. package/lib/jupyter/lite/contents/tokens.js +5 -0
  192. package/lib/jupyter/lite/contents/tokens.js.map +1 -1
  193. package/lib/jupyter/lite/javascript-kernel/comlink.worker.js +15 -0
  194. package/lib/jupyter/lite/javascript-kernel/comlink.worker.js.map +1 -0
  195. package/lib/jupyter/lite/javascript-kernel/index.d.ts +2 -0
  196. package/lib/jupyter/lite/javascript-kernel/index.js +10 -0
  197. package/lib/jupyter/lite/javascript-kernel/index.js.map +1 -0
  198. package/lib/jupyter/lite/javascript-kernel/kernel.d.ts +121 -0
  199. package/lib/jupyter/lite/javascript-kernel/kernel.js +239 -0
  200. package/lib/jupyter/lite/javascript-kernel/kernel.js.map +1 -0
  201. package/lib/jupyter/lite/javascript-kernel/tokens.d.ts +27 -0
  202. package/lib/jupyter/lite/javascript-kernel/tokens.js +7 -0
  203. package/lib/jupyter/lite/javascript-kernel/tokens.js.map +1 -0
  204. package/lib/jupyter/lite/javascript-kernel/worker.d.ts +37 -0
  205. package/lib/jupyter/lite/javascript-kernel/worker.js +117 -0
  206. package/lib/jupyter/lite/javascript-kernel/worker.js.map +1 -0
  207. package/lib/jupyter/lite/javascript-kernel-extension/index.d.ts +3 -0
  208. package/lib/jupyter/lite/javascript-kernel-extension/index.js +37 -0
  209. package/lib/jupyter/lite/javascript-kernel-extension/index.js.map +1 -0
  210. package/lib/jupyter/lite/kernel/index.js +5 -0
  211. package/lib/jupyter/lite/kernel/index.js.map +1 -1
  212. package/lib/jupyter/lite/kernel/kernel.js +5 -0
  213. package/lib/jupyter/lite/kernel/kernel.js.map +1 -1
  214. package/lib/jupyter/lite/kernel/kernels.js +5 -0
  215. package/lib/jupyter/lite/kernel/kernels.js.map +1 -1
  216. package/lib/jupyter/lite/kernel/kernelspecs.js +5 -0
  217. package/lib/jupyter/lite/kernel/kernelspecs.js.map +1 -1
  218. package/lib/jupyter/lite/kernel/tokens.js +5 -2
  219. package/lib/jupyter/lite/kernel/tokens.js.map +1 -1
  220. package/lib/jupyter/lite/licenses/index.js +5 -0
  221. package/lib/jupyter/lite/licenses/index.js.map +1 -1
  222. package/lib/jupyter/lite/licenses/licenses.js +5 -0
  223. package/lib/jupyter/lite/licenses/licenses.js.map +1 -1
  224. package/lib/jupyter/lite/licenses/tokens.js +5 -0
  225. package/lib/jupyter/lite/licenses/tokens.js.map +1 -1
  226. package/lib/jupyter/lite/localforage/index.js +5 -0
  227. package/lib/jupyter/lite/localforage/index.js.map +1 -1
  228. package/lib/jupyter/lite/localforage/memory.js +5 -2
  229. package/lib/jupyter/lite/localforage/memory.js.map +1 -1
  230. package/lib/jupyter/lite/localforage/tokens.js +5 -2
  231. package/lib/jupyter/lite/localforage/tokens.js.map +1 -1
  232. package/lib/jupyter/lite/pyodide-kernel/_pypi.js +5 -0
  233. package/lib/jupyter/lite/pyodide-kernel/_pypi.js.map +1 -1
  234. package/lib/jupyter/lite/pyodide-kernel/coincident.worker.js +5 -0
  235. package/lib/jupyter/lite/pyodide-kernel/coincident.worker.js.map +1 -1
  236. package/lib/jupyter/lite/pyodide-kernel/comlink.worker.js +5 -0
  237. package/lib/jupyter/lite/pyodide-kernel/comlink.worker.js.map +1 -1
  238. package/lib/jupyter/lite/pyodide-kernel/index.js +5 -0
  239. package/lib/jupyter/lite/pyodide-kernel/index.js.map +1 -1
  240. package/lib/jupyter/lite/pyodide-kernel/kernel.d.ts +1 -1
  241. package/lib/jupyter/lite/pyodide-kernel/kernel.js +6 -1
  242. package/lib/jupyter/lite/pyodide-kernel/kernel.js.map +1 -1
  243. package/lib/jupyter/lite/pyodide-kernel/tokens.js +5 -2
  244. package/lib/jupyter/lite/pyodide-kernel/tokens.js.map +1 -1
  245. package/lib/jupyter/lite/pyodide-kernel/worker.js +5 -2
  246. package/lib/jupyter/lite/pyodide-kernel/worker.js.map +1 -1
  247. package/lib/jupyter/lite/pyodide-kernel-extension/index.js +6 -1
  248. package/lib/jupyter/lite/pyodide-kernel-extension/index.js.map +1 -1
  249. package/lib/jupyter/lite/server/app.js +5 -0
  250. package/lib/jupyter/lite/server/app.js.map +1 -1
  251. package/lib/jupyter/lite/server/index.js +5 -0
  252. package/lib/jupyter/lite/server/index.js.map +1 -1
  253. package/lib/jupyter/lite/server/router.js +5 -0
  254. package/lib/jupyter/lite/server/router.js.map +1 -1
  255. package/lib/jupyter/lite/server/service-manager.js +5 -0
  256. package/lib/jupyter/lite/server/service-manager.js.map +1 -1
  257. package/lib/jupyter/lite/server/service-worker.js +5 -0
  258. package/lib/jupyter/lite/server/service-worker.js.map +1 -1
  259. package/lib/jupyter/lite/server/status.js +5 -0
  260. package/lib/jupyter/lite/server/status.js.map +1 -1
  261. package/lib/jupyter/lite/server/tokens.js +5 -0
  262. package/lib/jupyter/lite/server/tokens.js.map +1 -1
  263. package/lib/jupyter/lite/server-extension/index.js +5 -0
  264. package/lib/jupyter/lite/server-extension/index.js.map +1 -1
  265. package/lib/jupyter/lite/session/index.js +5 -0
  266. package/lib/jupyter/lite/session/index.js.map +1 -1
  267. package/lib/jupyter/lite/session/sessions.js +5 -0
  268. package/lib/jupyter/lite/session/sessions.js.map +1 -1
  269. package/lib/jupyter/lite/session/tokens.js +5 -0
  270. package/lib/jupyter/lite/session/tokens.js.map +1 -1
  271. package/lib/jupyter/lite/settings/index.js +5 -0
  272. package/lib/jupyter/lite/settings/index.js.map +1 -1
  273. package/lib/jupyter/lite/settings/settings.js +5 -0
  274. package/lib/jupyter/lite/settings/settings.js.map +1 -1
  275. package/lib/jupyter/lite/settings/tokens.js +5 -0
  276. package/lib/jupyter/lite/settings/tokens.js.map +1 -1
  277. package/lib/jupyter/lite/translation/index.js +5 -0
  278. package/lib/jupyter/lite/translation/index.js.map +1 -1
  279. package/lib/jupyter/lite/translation/tokens.js +5 -0
  280. package/lib/jupyter/lite/translation/tokens.js.map +1 -1
  281. package/lib/jupyter/lite/translation/translation.js +5 -0
  282. package/lib/jupyter/lite/translation/translation.js.map +1 -1
  283. package/lib/jupyter/lite/types/index.js +5 -0
  284. package/lib/jupyter/lite/types/index.js.map +1 -1
  285. package/lib/jupyter/lite/types/tokens.js +5 -2
  286. package/lib/jupyter/lite/types/tokens.js.map +1 -1
  287. package/lib/state/JupyterReactState.d.ts +2 -2
  288. package/lib/state/JupyterReactState.js +3 -1
  289. package/lib/state/JupyterReactState.js.map +1 -1
  290. package/lib/tools/core/executor.d.ts +4 -4
  291. package/lib/tools/core/executor.js +2 -2
  292. package/lib/tools/core/executor.js.map +1 -1
  293. package/lib/utils/Utils.d.ts +7 -0
  294. package/lib/utils/Utils.js +32 -0
  295. package/lib/utils/Utils.js.map +1 -1
  296. package/package.json +4 -1
  297. package/style/icons/javascript/logo-32x32.png +0 -0
  298. package/style/icons/javascript/logo-64x64.png +0 -0
  299. package/lib/components/notebook/Notebook2.d.ts +0 -112
  300. package/lib/components/notebook/Notebook2.js +0 -121
  301. package/lib/components/notebook/Notebook2.js.map +0 -1
  302. package/lib/components/notebook/Notebook2Adapter.d.ts +0 -269
  303. package/lib/components/notebook/Notebook2Adapter.js +0 -688
  304. package/lib/components/notebook/Notebook2Adapter.js.map +0 -1
  305. package/lib/components/notebook/Notebook2Base.js.map +0 -1
  306. package/lib/components/notebook/Notebook2State.d.ts +0 -59
  307. package/lib/components/notebook/Notebook2State.js +0 -122
  308. package/lib/components/notebook/Notebook2State.js.map +0 -1
  309. package/lib/examples/Notebook2.js +0 -30
  310. package/lib/examples/Notebook2.js.map +0 -1
  311. package/lib/examples/Notebook2Actions.js.map +0 -1
  312. package/lib/examples/Notebook2Collaborative.d.ts +0 -1
  313. package/lib/examples/Notebook2Collaborative.js +0 -23
  314. package/lib/examples/Notebook2Collaborative.js.map +0 -1
  315. package/lib/examples/Notebook2Lite.d.ts +0 -1
  316. package/lib/examples/Notebook2Lite.js +0 -39
  317. package/lib/examples/Notebook2Lite.js.map +0 -1
  318. package/lib/examples/NotebookLiteContext.d.ts +0 -1
  319. package/lib/examples/NotebookLiteContext.js +0 -24
  320. package/lib/examples/NotebookLiteContext.js.map +0 -1
  321. package/lib/examples/toolbars/NotebookToolbarAutoSave.d.ts +0 -4
  322. package/lib/examples/toolbars/NotebookToolbarAutoSave.js +0 -70
  323. package/lib/examples/toolbars/NotebookToolbarAutoSave.js.map +0 -1
  324. package/lib/examples/toolbars/NotebookToolbarStatus.d.ts +0 -4
  325. package/lib/examples/toolbars/NotebookToolbarStatus.js +0 -15
  326. package/lib/examples/toolbars/NotebookToolbarStatus.js.map +0 -1
  327. package/lib/jupyter/Jupyter.d.ts +0 -18
  328. package/lib/jupyter/Jupyter.js +0 -38
  329. package/lib/jupyter/Jupyter.js.map +0 -1
  330. package/lib/jupyter/JupyterContext.js +0 -99
  331. package/lib/jupyter/JupyterContext.js.map +0 -1
  332. /package/lib/examples/{Notebook2.d.ts → NotebookActions.d.ts} +0 -0
  333. /package/lib/{examples/Notebook2Actions.d.ts → jupyter/lite/javascript-kernel/comlink.worker.d.ts} +0 -0
  334. /package/style/icons/{pyodide.svg → pyodide/pyodide.svg} +0 -0
@@ -1,72 +1,269 @@
1
- import { CompletionHandler } from '@jupyterlab/completer';
2
- import { Context } from '@jupyterlab/docregistry';
3
- import { CellType, INotebookContent } from '@jupyterlab/nbformat';
4
- import { INotebookModel, NotebookPanel } from '@jupyterlab/notebook';
5
- import { Kernel as JupyterKernel, ServiceManager } from '@jupyterlab/services';
6
1
  import { CommandRegistry } from '@lumino/commands';
7
- import { BoxPanel } from '@lumino/widgets';
8
- import { Kernel, Lite } from '../../jupyter';
9
- import { INotebookProps } from './Notebook';
2
+ import { NotebookPanel, type Notebook } from '@jupyterlab/notebook';
3
+ import { Context } from '@jupyterlab/docregistry';
4
+ import { NotebookModel } from '@jupyterlab/notebook';
5
+ import * as nbformat from '@jupyterlab/nbformat';
10
6
  export declare class NotebookAdapter {
11
- private _boxPanel;
12
7
  private _commands;
13
- private _contentFactory;
14
- private _context?;
15
- private _documentRegistry?;
16
- private _iPyWidgetsManager?;
17
- private _id;
18
- private _kernel?;
19
- private _kernelConnection;
20
- private _kernelClients?;
21
- private _kernelTransfer?;
22
- private _lite?;
23
- private _mimeTypeService;
24
- private _nbformat?;
25
- private _notebookModelFactory?;
26
- private _notebookPanel?;
27
- private _onSessionConnection?;
28
- private _panelProvider;
29
- private _path?;
30
- private _readonly;
31
- private _renderers;
32
- private _rendermime?;
33
- private _serverless;
34
- private _serviceManager;
35
- private _tracker?;
36
- private _url?;
37
- private _useVSCodeTheme;
38
- constructor(props: INotebookProps);
39
- loadFromUrl(url: string): Promise<any>;
40
- notebookKeydownListener: (event: KeyboardEvent) => void;
41
- setupCompleter(notebookPanel: NotebookPanel): CompletionHandler;
42
- initializeContext(): void;
43
- private setupAdapter;
44
- get id(): string;
45
- get readonly(): boolean;
46
- get serverless(): boolean;
47
- get lite(): Lite | undefined;
48
- get path(): string | undefined;
49
- get url(): string | undefined;
50
- get nbformat(): INotebookContent | undefined;
51
- get kernel(): Kernel | undefined;
52
- get kernelConnection(): JupyterKernel.IKernelConnection | null | undefined;
53
- get notebookPanel(): NotebookPanel | undefined;
54
- get context(): Context<INotebookModel> | undefined;
55
- set notebookPanel(notebookPanel: NotebookPanel | undefined);
56
- get panel(): BoxPanel;
8
+ private _panel;
9
+ private _notebook;
10
+ private _context;
11
+ private _defaultCellType;
12
+ constructor(commands: CommandRegistry, panel: NotebookPanel, context: Context<NotebookModel>);
13
+ /**
14
+ * Get the command registry.
15
+ */
57
16
  get commands(): CommandRegistry;
58
- get serviceManager(): ServiceManager.IManager;
59
- setNbformat(nbformat?: INotebookContent): void;
60
- setServiceManager(serviceManager: ServiceManager.IManager, lite?: Lite): void;
61
- setKernel(kernel?: Kernel): void;
62
- setReadonly(readonly: boolean): void;
63
- setServerless(serverless: boolean): void;
64
- setPath(path: string): void;
65
- assignKernel(kernel: Kernel): void;
66
- setDefaultCellType: (cellType: CellType) => void;
67
- changeCellType: (cellType: CellType) => void;
68
- insertAbove: (source?: string) => void;
69
- insertBelow: (source?: string) => void;
70
- dispose: () => void;
17
+ /**
18
+ * Get the notebook panel.
19
+ */
20
+ get panel(): NotebookPanel;
21
+ /**
22
+ * Get the notebook widget.
23
+ */
24
+ get notebook(): Notebook;
25
+ /**
26
+ * Get the notebook context.
27
+ */
28
+ get context(): Context<NotebookModel>;
29
+ /**
30
+ * Set the default cell type for new cells.
31
+ */
32
+ setDefaultCellType(cellType: nbformat.CellType): void;
33
+ /**
34
+ * Get the default cell type for new cells.
35
+ */
36
+ get defaultCellType(): nbformat.CellType;
37
+ /**
38
+ * Insert a new cell above the active cell.
39
+ */
40
+ insertAbove(source?: string): void;
41
+ /**
42
+ * Insert a new cell below the active cell.
43
+ */
44
+ insertBelow(source?: string): void;
45
+ /**
46
+ * Change the type of the active cell.
47
+ */
48
+ changeCellType(cellType: nbformat.CellType): void;
49
+ /**
50
+ * Delete the currently selected cells.
51
+ */
52
+ deleteCells(): void;
53
+ /**
54
+ * Get the notebook model.
55
+ */
56
+ get model(): NotebookModel | null;
57
+ /**
58
+ * Undo the last change in the notebook.
59
+ *
60
+ * @remarks
61
+ * If there is no history to undo (e.g., at the beginning of the undo stack),
62
+ * this operation will have no effect. The notebook must be available and
63
+ * properly initialized for this operation to succeed.
64
+ */
65
+ undo(): void;
66
+ /**
67
+ * Redo the last undone change in the notebook.
68
+ *
69
+ * @remarks
70
+ * If there is no history to redo (e.g., no prior undo operations or at the
71
+ * end of the redo stack), this operation will have no effect. The notebook
72
+ * must be available and properly initialized for this operation to succeed.
73
+ */
74
+ redo(): void;
75
+ /**
76
+ * Set the active cell by index.
77
+ *
78
+ * @param index - The index of the cell to activate (0-based)
79
+ *
80
+ * @remarks
81
+ * This method programmatically selects a cell at the specified index.
82
+ * If the index is out of bounds, the operation has no effect.
83
+ */
84
+ setActiveCell(index: number): void;
85
+ /**
86
+ * Get all cells from the notebook.
87
+ *
88
+ * @returns Array of cell data including type, source, and outputs
89
+ *
90
+ * @remarks
91
+ * This method extracts cell information from the notebook model.
92
+ * For code cells, outputs are included. Returns an empty array if
93
+ * the notebook model is not available.
94
+ */
95
+ getCells(): Array<{
96
+ index: number;
97
+ type: nbformat.CellType;
98
+ source: string;
99
+ outputs?: unknown[];
100
+ }>;
101
+ /**
102
+ * Read all cells from the notebook (alias for getCells).
103
+ *
104
+ * @param format - Response format: 'brief' returns preview only, 'detailed' returns full content
105
+ * @returns Array of cell data - brief or detailed based on format
106
+ *
107
+ * @remarks
108
+ * This method is an alias for getCells() to match the readAllCells tool operation.
109
+ * Provides a consistent naming convention for read operations.
110
+ * Supports brief format (index, type, 40-char preview) and detailed format (full content).
111
+ */
112
+ readAllCells(format?: 'brief' | 'detailed'): Array<{
113
+ index: number;
114
+ type: string;
115
+ preview?: string;
116
+ source?: string;
117
+ execution_count?: number | null;
118
+ outputs?: unknown[];
119
+ }>;
120
+ /**
121
+ * Get the total number of cells in the notebook.
122
+ *
123
+ * @returns The number of cells, or 0 if the notebook model is not available
124
+ */
125
+ getCellCount(): number;
126
+ /**
127
+ * Insert a new cell at a specific index.
128
+ *
129
+ * @param cellIndex - The index where the cell should be inserted (0-based)
130
+ * @param source - Optional source code/text for the new cell
131
+ *
132
+ * @remarks
133
+ * This method inserts a cell at the specified position by:
134
+ * 1. Setting the active cell to cellIndex
135
+ * 2. Calling insertAbove to insert before that cell
136
+ *
137
+ * Note: The cell type is determined by _defaultCellType, which should be set
138
+ * before calling this method (typically done by the store layer).
139
+ */
140
+ insertAt(cellIndex: number, source?: string): void;
141
+ /**
142
+ * NEW ALIGNED TOOL METHODS
143
+ * These methods align 1:1 with tool operation names for seamless integration
144
+ */
145
+ /**
146
+ * Insert a cell at a specific index (aligned with insertCell tool).
147
+ *
148
+ * @param cellType - Type of cell to insert (code, markdown, or raw)
149
+ * @param cellIndex - Index where to insert (0-based). If undefined, inserts at end.
150
+ * @param source - Optional source code/text for the cell
151
+ */
152
+ insertCell(cellType: nbformat.CellType, cellIndex?: number, source?: string): void;
153
+ /**
154
+ * Insert multiple cells at a specific index (aligned with insertCells tool).
155
+ *
156
+ * More efficient than calling insertCell multiple times.
157
+ * Cells are inserted sequentially starting at the given index.
158
+ *
159
+ * @param cells - Array of cells to insert (each with type and source)
160
+ * @param cellIndex - Index where to insert first cell (0-based). Use large number for end.
161
+ */
162
+ insertCells(cells: Array<{
163
+ type: nbformat.CellType;
164
+ source: string;
165
+ }>, cellIndex: number): void;
166
+ /**
167
+ * Delete cell(s) at the specified index/indices (aligned with deleteCell tool and Jupyter MCP Server).
168
+ *
169
+ * @param index - Single cell index, array of indices, or undefined.
170
+ * - Single number: Deletes that cell
171
+ * - Array: Deletes all cells at those indices (in reverse order to prevent shifting)
172
+ * - Undefined: Deletes the active cell if one exists
173
+ *
174
+ * @remarks
175
+ * This method matches the Jupyter MCP Server behavior:
176
+ * - Validates ALL indices are in range before deleting any
177
+ * - Deletes in reverse order (highest to lowest) to prevent index shifting
178
+ * - Throws error with MCP-compatible message format if any index is out of range
179
+ *
180
+ * @throws {Error} If any index is out of range
181
+ */
182
+ deleteCell(index?: number | number[]): void;
183
+ /**
184
+ * Updates cell source at the specified index and returns a diff.
185
+ * Matches MCP server's overwrite_cell_source behavior.
186
+ *
187
+ * @param index - Cell index (0-based)
188
+ * @param source - New cell source content
189
+ * @returns Diff string showing changes made
190
+ * @throws Error if cell index is out of range or cell not found
191
+ */
192
+ updateCell(index: number, source: string): string;
193
+ /**
194
+ * Get a cell's content by index or active cell (aligned with getCell tool and MCP Server).
195
+ *
196
+ * @param index - Optional cell index (0-based). If not provided, returns active cell.
197
+ * @param includeOutputs - Whether to include cell outputs (default: true)
198
+ * @returns Cell data or undefined if not found
199
+ */
200
+ getCell(index?: number, includeOutputs?: boolean): {
201
+ type: nbformat.CellType;
202
+ source: string;
203
+ execution_count?: number | null;
204
+ outputs?: unknown[];
205
+ } | undefined;
206
+ /**
207
+ * Run a cell and optionally capture outputs (aligned with runCell tool).
208
+ *
209
+ * @param params - Parameters for cell execution
210
+ * @param params.index - Cell index to run (optional, defaults to active cell)
211
+ * @param params.timeoutSeconds - Timeout in seconds (optional, for future use)
212
+ * @param params.stream - Enable streaming progress (optional, for future use)
213
+ * @param params.progressInterval - Progress update interval (optional, for future use)
214
+ * @returns Promise resolving to execution result with outputs
215
+ */
216
+ runCell(params?: {
217
+ index?: number;
218
+ timeoutSeconds?: number;
219
+ stream?: boolean;
220
+ progressInterval?: number;
221
+ }): Promise<{
222
+ execution_count?: number | null;
223
+ outputs?: Array<string>;
224
+ }>;
225
+ /**
226
+ * Run all cells in the notebook (aligned with runAllCells tool).
227
+ */
228
+ runAllCells(): void;
229
+ /**
230
+ * Clear all outputs from all cells in the notebook.
231
+ *
232
+ * @remarks
233
+ * Removes all execution outputs from all cells. This operation:
234
+ * - Clears outputs but preserves cell source code
235
+ * - Resets execution counts
236
+ * - Cannot be undone
237
+ */
238
+ clearAllOutputs(): void;
239
+ /**
240
+ * Execute code directly in the kernel without creating a cell.
241
+ *
242
+ * This method sends code execution requests directly to the kernel,
243
+ * bypassing the notebook cell model. Useful for:
244
+ * - Variable inspection
245
+ * - Environment setup
246
+ * - Background tasks
247
+ * - Tool introspection
248
+ *
249
+ * @param code - Code to execute
250
+ * @param options - Execution options
251
+ * @returns Promise with execution result including outputs
252
+ */
253
+ executeCode(code: string, options?: {
254
+ timeout?: number;
255
+ }): Promise<{
256
+ success: boolean;
257
+ outputs?: Array<{
258
+ type: 'stream' | 'execute_result' | 'display_data' | 'error';
259
+ content: unknown;
260
+ }>;
261
+ executionCount?: number;
262
+ error?: string;
263
+ }>;
264
+ /**
265
+ * Dispose of the adapter.
266
+ */
267
+ dispose(): void;
71
268
  }
72
269
  export default NotebookAdapter;