@eclipse-docks/extension-notebook 0.7.68

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.
@@ -0,0 +1,11 @@
1
+ //#region src/i18n.de.json
2
+ var EXT_NOTEBOOK_NAME = "Jupyter-ähnlicher Notebook-Editor";
3
+ var EXT_NOTEBOOK_DESC = "Anzeigen und Ausführen von Jupyter-ähnlichen Notebooks (.ipynb) mit Python-Codeausführung und Markdown-Rendering";
4
+ var i18n_de_default = {
5
+ EXT_NOTEBOOK_NAME,
6
+ EXT_NOTEBOOK_DESC
7
+ };
8
+ //#endregion
9
+ export { EXT_NOTEBOOK_DESC, EXT_NOTEBOOK_NAME, i18n_de_default as default };
10
+
11
+ //# sourceMappingURL=i18n.de-D3c6aEZx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.de-D3c6aEZx.js","names":[],"sources":["../src/i18n.de.json"],"sourcesContent":["{\n \"EXT_NOTEBOOK_NAME\": \"Jupyter-ähnlicher Notebook-Editor\",\n \"EXT_NOTEBOOK_DESC\": \"Anzeigen und Ausführen von Jupyter-ähnlichen Notebooks (.ipynb) mit Python-Codeausführung und Markdown-Rendering\"\n}\n"],"mappings":""}
@@ -0,0 +1,11 @@
1
+ //#region src/i18n.en.json
2
+ var EXT_NOTEBOOK_NAME = "Jupyter-like Notebook Editor";
3
+ var EXT_NOTEBOOK_DESC = "View and execute Jupyter-like notebooks (.ipynb) with Python code execution and markdown rendering";
4
+ var i18n_en_default = {
5
+ EXT_NOTEBOOK_NAME,
6
+ EXT_NOTEBOOK_DESC
7
+ };
8
+ //#endregion
9
+ export { EXT_NOTEBOOK_DESC, EXT_NOTEBOOK_NAME, i18n_en_default as default };
10
+
11
+ //# sourceMappingURL=i18n.en-8WPN49Yu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.en-8WPN49Yu.js","names":[],"sources":["../src/i18n.en.json"],"sourcesContent":["{\n \"EXT_NOTEBOOK_NAME\": \"Jupyter-like Notebook Editor\",\n \"EXT_NOTEBOOK_DESC\": \"View and execute Jupyter-like notebooks (.ipynb) with Python code execution and markdown rendering\"\n}\n"],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './notebook-types';
2
+ export * from './notebook-kernel-api';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,21 @@
1
+ import { t as isNotebookEditorLike } from "./notebook-types-6XV6fOSV.js";
2
+ import { t as TARGET_NOTEBOOK_KERNELS } from "./notebook-kernel-api-c9l3_84P.js";
3
+ import { extensionRegistry, i18n } from "@eclipse-docks/core";
4
+ import pkg from "../package.json";
5
+ //#region src/index.ts
6
+ var t = await i18n(/* @__PURE__ */ Object.assign({
7
+ "./i18n.de.json": () => import("./i18n.de-D3c6aEZx.js"),
8
+ "./i18n.en.json": () => import("./i18n.en-8WPN49Yu.js")
9
+ }), true);
10
+ extensionRegistry.registerExtension({
11
+ id: pkg.name,
12
+ name: t.EXT_NOTEBOOK_NAME,
13
+ description: t.EXT_NOTEBOOK_DESC,
14
+ loader: () => import("./notebook-extension-24Ecn93H.js"),
15
+ icon: "docks jupyter",
16
+ dependencies: []
17
+ });
18
+ //#endregion
19
+ export { TARGET_NOTEBOOK_KERNELS, isNotebookEditorLike };
20
+
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["export * from './notebook-types';\nexport * from './notebook-kernel-api';\nimport { extensionRegistry, i18n } from '@eclipse-docks/core';\nimport pkg from '../package.json';\n\nconst t = await i18n(import.meta.glob('./i18n*.json'), true);\n\nextensionRegistry.registerExtension({\n id: pkg.name,\n name: t.EXT_NOTEBOOK_NAME,\n description: t.EXT_NOTEBOOK_DESC,\n loader: () => import(\"./notebook-extension\"),\n icon: \"docks jupyter\",\n dependencies: [],\n});\n"],"mappings":";;;;;AAKA,IAAM,IAAI,MAAM,KAAK,uBAAA,OAAA;CAAA,wBAAA,OAAA;CAAA,wBAAA,OAAA;CAAA,CAAgC,EAAE,KAAK;AAE5D,kBAAkB,kBAAkB;CAClC,IAAI,IAAI;CACR,MAAM,EAAE;CACR,aAAa,EAAE;CACf,cAAc,OAAO;CACrB,MAAM;CACN,cAAc,EAAA;CACf,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { NotebookKernelContribution } from './notebook-kernel-api';
2
+ export declare const javascriptKernelContribution: NotebookKernelContribution;
3
+ //# sourceMappingURL=javascript-kernel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"javascript-kernel.d.ts","sourceRoot":"","sources":["../src/javascript-kernel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA2C,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAwCjH,eAAO,MAAM,4BAA4B,EAAE,0BAK1C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function registerNotebookCatalog(): void;
2
+ //# sourceMappingURL=notebook-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-catalog.d.ts","sourceRoot":"","sources":["../src/notebook-catalog.ts"],"names":[],"mappings":"AAmCA,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
@@ -0,0 +1,169 @@
1
+ import { t as isNotebookEditorLike } from "./notebook-types-6XV6fOSV.js";
2
+ import { t as TARGET_NOTEBOOK_KERNELS } from "./notebook-kernel-api-c9l3_84P.js";
3
+ import { File, activeEditorSignal, createJsRuntime } from "@eclipse-docks/core";
4
+ import { html } from "lit";
5
+ import { registerCatalog } from "@eclipse-docks/extension-catalog/api";
6
+ //#region src/notebook-catalog.ts
7
+ var NOTEBOOK_CATALOG = {
8
+ label: "Notebooks",
9
+ icon: "docks jupyter",
10
+ contributionId: "catalog.notebooks",
11
+ items: [
12
+ {
13
+ label: "JavaScript",
14
+ icon: "file-code",
15
+ contributionId: "catalog.notebooks.javascript",
16
+ items: [{
17
+ label: "JavaScript basics",
18
+ icon: "docks jupyter",
19
+ state: {
20
+ url: new URL("data:application/octet-stream;base64,ewogICJjZWxscyI6IFsKICAgIHsKICAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCiAgICAgICJtZXRhZGF0YSI6IHt9LAogICAgICAic291cmNlIjogWwogICAgICAgICIjIEphdmFTY3JpcHQga2VybmVsXG4iLAogICAgICAgICJcbiIsCiAgICAgICAgIlJ1biBjb2RlIGNlbGxzIHdpdGggdGhlICoqSmF2YVNjcmlwdCoqIGtlcm5lbC4gRWFjaCBjZWxsIHJ1bnMgaW4gYSBzaGFyZWQgcnVudGltZS4iCiAgICAgIF0KICAgIH0sCiAgICB7CiAgICAgICJjZWxsX3R5cGUiOiAiY29kZSIsCiAgICAgICJleGVjdXRpb25fY291bnQiOiBudWxsLAogICAgICAibWV0YWRhdGEiOiB7fSwKICAgICAgIm91dHB1dHMiOiBbXSwKICAgICAgInNvdXJjZSI6IFsKICAgICAgICAiY29uc3QgeCA9IDEgKyAyO1xuIiwKICAgICAgICAicmV0dXJuIHg7IgogICAgICBdCiAgICB9LAogICAgewogICAgICAiY2VsbF90eXBlIjogImNvZGUiLAogICAgICAiZXhlY3V0aW9uX2NvdW50IjogbnVsbCwKICAgICAgIm1ldGFkYXRhIjoge30sCiAgICAgICJvdXRwdXRzIjogW10sCiAgICAgICJzb3VyY2UiOiBbCiAgICAgICAgImNvbnN0IGl0ZW1zID0gWydEdWNrREInLCAnUEdsaXRlJywgJ05vdGVib29rcyddO1xuIiwKICAgICAgICAicmV0dXJuIGl0ZW1zLmpvaW4oJywgJyk7IgogICAgICBdCiAgICB9LAogICAgewogICAgICAiY2VsbF90eXBlIjogImNvZGUiLAogICAgICAiZXhlY3V0aW9uX2NvdW50IjogbnVsbCwKICAgICAgIm1ldGFkYXRhIjoge30sCiAgICAgICJvdXRwdXRzIjogW10sCiAgICAgICJzb3VyY2UiOiBbCiAgICAgICAgImNvbnN0IGZpYiA9IChuKSA9PiBuIDw9IDEgPyBuIDogZmliKG4gLSAxKSArIGZpYihuIC0gMik7XG4iLAogICAgICAgICJyZXR1cm4gZmliKDEwKTsiCiAgICAgIF0KICAgIH0KICBdLAogICJtZXRhZGF0YSI6IHsKICAgICJrZXJuZWwiOiAiamF2YXNjcmlwdCIsCiAgICAibGFuZ3VhZ2VfaW5mbyI6IHsKICAgICAgIm5hbWUiOiAicHl0aG9uIgogICAgfQogIH0sCiAgIm5iZm9ybWF0IjogNCwKICAibmJmb3JtYXRfbWlub3IiOiA0Cn0K", "" + import.meta.url).href,
21
+ filename: "javascript-basics.ipynb"
22
+ }
23
+ }]
24
+ },
25
+ {
26
+ label: "DuckDB",
27
+ icon: "file-code",
28
+ contributionId: "catalog.notebooks.duckdb",
29
+ items: [{
30
+ label: "DuckDB in notebooks",
31
+ icon: "docks jupyter",
32
+ state: {
33
+ url: new URL("data:application/octet-stream;base64,ewogICJjZWxscyI6IFsKICAgIHsKICAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCiAgICAgICJzb3VyY2UiOiBbIiMgRHVja0RCIGluIG5vdGVib29rc1xuXG5Vc2UgdGhlICoqRHVja0RCKioga2VybmVsIHRvIHJ1biBTUUwgaW4gY2VsbHMuIFJlc3VsdHMgYXJlIHNob3duIGFzIHRleHQuIl0sCiAgICAgICJtZXRhZGF0YSI6IHt9CiAgICB9LAogICAgewogICAgICAiY2VsbF90eXBlIjogImNvZGUiLAogICAgICAic291cmNlIjogWyJTRUxFQ1QgJ0R1Y2tEQicgQVMgZW5naW5lLCB2ZXJzaW9uKCkgQVMgdjsiXSwKICAgICAgImV4ZWN1dGlvbl9jb3VudCI6IG51bGwsCiAgICAgICJvdXRwdXRzIjogW10sCiAgICAgICJtZXRhZGF0YSI6IHt9CiAgICB9LAogICAgewogICAgICAiY2VsbF90eXBlIjogImNvZGUiLAogICAgICAic291cmNlIjogWyJDUkVBVEUgT1IgUkVQTEFDRSBURU1QIFRBQkxFIHQgKGlkIElOVCwgbmFtZSBWQVJDSEFSKTtcbklOU0VSVCBJTlRPIHQgVkFMVUVTICgxLCAnYScpLCAoMiwgJ2InKSwgKDMsICdjJyk7XG5TRUxFQ1QgKiBGUk9NIHQ7Il0sCiAgICAgICJleGVjdXRpb25fY291bnQiOiBudWxsLAogICAgICAib3V0cHV0cyI6IFtdLAogICAgICAibWV0YWRhdGEiOiB7fQogICAgfSwKICAgIHsKICAgICAgImNlbGxfdHlwZSI6ICJjb2RlIiwKICAgICAgInNvdXJjZSI6IFsiU0VMRUNUIG5hbWUsIGlkICogMTAgQVMgc2NhbGVkIEZST00gdCBPUkRFUiBCWSBpZCBERVNDOyJdLAogICAgICAiZXhlY3V0aW9uX2NvdW50IjogbnVsbCwKICAgICAgIm91dHB1dHMiOiBbXSwKICAgICAgIm1ldGFkYXRhIjoge30KICAgIH0KICBdLAogICJtZXRhZGF0YSI6IHsgImtlcm5lbCI6ICJkdWNrZGIiIH0sCiAgIm5iZm9ybWF0IjogNCwKICAibmJmb3JtYXRfbWlub3IiOiA0Cn0K", "" + import.meta.url).href,
34
+ filename: "duckdb-sample.ipynb"
35
+ }
36
+ }]
37
+ },
38
+ {
39
+ label: "PGlite",
40
+ icon: "file-code",
41
+ contributionId: "catalog.notebooks.pglite",
42
+ items: [{
43
+ label: "PostgreSQL in notebooks",
44
+ icon: "docks jupyter",
45
+ state: {
46
+ url: new URL("data:application/octet-stream;base64,ewogICJjZWxscyI6IFsKICAgIHsKICAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCiAgICAgICJzb3VyY2UiOiBbIiMgUG9zdGdyZVNRTCAoUEdsaXRlKSBpbiBub3RlYm9va3NcblxuVXNlIHRoZSAqKlBHbGl0ZSoqIGtlcm5lbCB0byBydW4gUG9zdGdyZVNRTCBTUUwgaW4gdGhlIGJyb3dzZXIuIl0sCiAgICAgICJtZXRhZGF0YSI6IHt9CiAgICB9LAogICAgewogICAgICAiY2VsbF90eXBlIjogImNvZGUiLAogICAgICAic291cmNlIjogWyJTRUxFQ1QgJ1BHbGl0ZScgQVMgZW5naW5lLCB2ZXJzaW9uKCkgQVMgdjsiXSwKICAgICAgImV4ZWN1dGlvbl9jb3VudCI6IG51bGwsCiAgICAgICJvdXRwdXRzIjogW10sCiAgICAgICJtZXRhZGF0YSI6IHt9CiAgICB9LAogICAgewogICAgICAiY2VsbF90eXBlIjogImNvZGUiLAogICAgICAic291cmNlIjogWyJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBkZW1vIChpZCBTRVJJQUwgUFJJTUFSWSBLRVksIGxhYmVsIFRFWFQpO1xuSU5TRVJUIElOVE8gZGVtbyAobGFiZWwpIFZBTFVFUyAoJ2ZpcnN0JyksICgnc2Vjb25kJyksICgndGhpcmQnKTtcblNFTEVDVCAqIEZST00gZGVtbzsiXSwKICAgICAgImV4ZWN1dGlvbl9jb3VudCI6IG51bGwsCiAgICAgICJvdXRwdXRzIjogW10sCiAgICAgICJtZXRhZGF0YSI6IHt9CiAgICB9LAogICAgewogICAgICAiY2VsbF90eXBlIjogImNvZGUiLAogICAgICAic291cmNlIjogWyJTRUxFQ1QgbGFiZWwsIGlkICogMiBBUyBkb3VibGVfaWQgRlJPTSBkZW1vIE9SREVSIEJZIGlkOyJdLAogICAgICAiZXhlY3V0aW9uX2NvdW50IjogbnVsbCwKICAgICAgIm91dHB1dHMiOiBbXSwKICAgICAgIm1ldGFkYXRhIjoge30KICAgIH0KICBdLAogICJtZXRhZGF0YSI6IHsgImtlcm5lbCI6ICJwZ2xpdGUiIH0sCiAgIm5iZm9ybWF0IjogNCwKICAibmJmb3JtYXRfbWlub3IiOiA0Cn0K", "" + import.meta.url).href,
47
+ filename: "pglite-sample.ipynb"
48
+ }
49
+ }]
50
+ }
51
+ ]
52
+ };
53
+ function registerNotebookCatalog() {
54
+ registerCatalog(NOTEBOOK_CATALOG);
55
+ }
56
+ //#endregion
57
+ //#region src/javascript-kernel.ts
58
+ var JavaScriptNotebookKernel = class {
59
+ constructor() {
60
+ this.id = "javascript";
61
+ this.label = "JavaScript";
62
+ this.language = "javascript";
63
+ this.runtime = null;
64
+ }
65
+ getRuntime() {
66
+ if (!this.runtime) this.runtime = createJsRuntime();
67
+ return this.runtime;
68
+ }
69
+ async getVersion() {
70
+ return "JavaScript";
71
+ }
72
+ async execute(code) {
73
+ try {
74
+ const result = await this.getRuntime().execute(code);
75
+ if (result === void 0 || result === null) return {};
76
+ return { data: String(result) };
77
+ } catch (err) {
78
+ return { error: err instanceof Error ? err.message : String(err) };
79
+ }
80
+ }
81
+ close() {
82
+ if (this.runtime) {
83
+ this.runtime.close();
84
+ this.runtime = null;
85
+ }
86
+ }
87
+ };
88
+ var javascriptKernelContribution = {
89
+ id: "javascript",
90
+ label: "JavaScript",
91
+ language: "javascript",
92
+ loadKernel: async () => new JavaScriptNotebookKernel()
93
+ };
94
+ //#endregion
95
+ //#region src/notebook-extension.ts
96
+ var notebook_extension_default = ({ editorRegistry, commandRegistry, contributionRegistry }) => {
97
+ registerNotebookCatalog();
98
+ contributionRegistry.registerContribution(TARGET_NOTEBOOK_KERNELS, javascriptKernelContribution);
99
+ const INITIAL_NOTEBOOK_CONTENT = {
100
+ cells: [{
101
+ cell_type: "markdown",
102
+ source: ["Press the **Run** button in the code cell below to execute it."],
103
+ metadata: {}
104
+ }, {
105
+ cell_type: "code",
106
+ source: ["return \"Hello, World!\""],
107
+ execution_count: null,
108
+ outputs: [],
109
+ metadata: {}
110
+ }],
111
+ metadata: { kernel: "javascript" },
112
+ nbformat: 4,
113
+ nbformat_minor: 4
114
+ };
115
+ commandRegistry.registerHandler("notebook.runCell", {
116
+ ranking: 10,
117
+ canExecute: (context) => {
118
+ const activeEditor = activeEditorSignal.get();
119
+ if (isNotebookEditorLike(activeEditor)) {
120
+ const cellIndex = context.params?.cellIndex;
121
+ if (cellIndex !== void 0) return cellIndex >= 0 && cellIndex < (activeEditor.notebook?.cells.length ?? 0);
122
+ return activeEditor.focusedCellIndex >= 0;
123
+ }
124
+ return false;
125
+ },
126
+ execute: async (context) => {
127
+ const activeEditor = activeEditorSignal.get();
128
+ if (isNotebookEditorLike(activeEditor)) {
129
+ const cellIndex = context.params?.cellIndex ?? activeEditor.focusedCellIndex;
130
+ if (cellIndex >= 0) await activeEditor.executeCell(cellIndex);
131
+ }
132
+ }
133
+ });
134
+ editorRegistry.registerEditorInputHandler({
135
+ editorId: "system.notebooeditor",
136
+ label: "Jupyter Notebook",
137
+ icon: "docks jupyter",
138
+ lazyInit: () => import("./notebook-runtime-VVn0JK3X.js"),
139
+ canHandle: (input) => input instanceof File && input.getName().toLowerCase().endsWith(".ipynb"),
140
+ handle: async (input) => {
141
+ const editorInput = {
142
+ title: input.getWorkspacePath(),
143
+ data: input,
144
+ key: input.getWorkspacePath(),
145
+ icon: "docks jupyter",
146
+ state: {}
147
+ };
148
+ editorInput.component = (id) => html`
149
+ <docks-notebook-editor id="${id}" .input=${editorInput}></docks-notebook-editor>`;
150
+ return editorInput;
151
+ },
152
+ ranking: 100
153
+ });
154
+ contributionRegistry.registerContribution("filebrowser.create", {
155
+ label: "Jupyter Notebook",
156
+ icon: "docks jupyter",
157
+ command: "touch",
158
+ params: {
159
+ path: "notebook.ipynb",
160
+ extension: ".ipynb",
161
+ ask: true,
162
+ contents: JSON.stringify(INITIAL_NOTEBOOK_CONTENT, null, 2)
163
+ }
164
+ });
165
+ };
166
+ //#endregion
167
+ export { notebook_extension_default as default };
168
+
169
+ //# sourceMappingURL=notebook-extension-24Ecn93H.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-extension-24Ecn93H.js","names":[],"sources":["../src/notebook-catalog.ts","../src/javascript-kernel.ts","../src/notebook-extension.ts"],"sourcesContent":["import type { CatalogContribution } from \"@eclipse-docks/extension-catalog/api\";\nimport { registerCatalog } from \"@eclipse-docks/extension-catalog/api\";\n\nconst NOTEBOOK_CATALOG: CatalogContribution = {\n label: \"Notebooks\",\n icon: \"docks jupyter\",\n contributionId: \"catalog.notebooks\",\n items: [\n {\n label: \"JavaScript\",\n icon: \"file-code\",\n contributionId: \"catalog.notebooks.javascript\",\n items: [\n { label: \"JavaScript basics\", icon: \"docks jupyter\", state: { url: new URL(\"./catalog/javascript-basics.ipynb\", import.meta.url).href, filename: \"javascript-basics.ipynb\" } },\n ],\n },\n {\n label: \"DuckDB\",\n icon: \"file-code\",\n contributionId: \"catalog.notebooks.duckdb\",\n items: [\n { label: \"DuckDB in notebooks\", icon: \"docks jupyter\", state: { url: new URL(\"./catalog/duckdb-sample.ipynb\", import.meta.url).href, filename: \"duckdb-sample.ipynb\" } },\n ],\n },\n {\n label: \"PGlite\",\n icon: \"file-code\",\n contributionId: \"catalog.notebooks.pglite\",\n items: [\n { label: \"PostgreSQL in notebooks\", icon: \"docks jupyter\", state: { url: new URL(\"./catalog/pglite-sample.ipynb\", import.meta.url).href, filename: \"pglite-sample.ipynb\" } },\n ],\n },\n ],\n};\n\nexport function registerNotebookCatalog(): void {\n registerCatalog(NOTEBOOK_CATALOG);\n}\n","import { createJsRuntime, type JsRuntime } from '@eclipse-docks/core';\nimport type { NotebookExecutionResult, NotebookKernel, NotebookKernelContribution } from './notebook-kernel-api';\n\nclass JavaScriptNotebookKernel implements NotebookKernel {\n readonly id = 'javascript';\n readonly label = 'JavaScript';\n readonly language = 'javascript';\n\n private runtime: JsRuntime | null = null;\n\n private getRuntime(): JsRuntime {\n if (!this.runtime) {\n this.runtime = createJsRuntime();\n }\n return this.runtime;\n }\n\n async getVersion(): Promise<string> {\n return 'JavaScript';\n }\n\n async execute(code: string): Promise<NotebookExecutionResult> {\n try {\n const result = await this.getRuntime().execute(code);\n if (result === undefined || result === null) {\n return {};\n }\n return { data: String(result) };\n } catch (err) {\n return { error: err instanceof Error ? err.message : String(err) };\n }\n }\n\n close(): void {\n if (this.runtime) {\n this.runtime.close();\n this.runtime = null;\n }\n }\n}\n\nexport const javascriptKernelContribution: NotebookKernelContribution = {\n id: 'javascript',\n label: 'JavaScript',\n language: 'javascript',\n loadKernel: async (): Promise<NotebookKernel> => new JavaScriptNotebookKernel(),\n};\n","import { html } from \"lit\";\nimport type { EditorInput } from \"@eclipse-docks/core\";\nimport { File } from \"@eclipse-docks/core\";\nimport { activeEditorSignal } from \"@eclipse-docks/core\";\nimport type { ExecutionContext } from \"@eclipse-docks/core\";\nimport { registerNotebookCatalog } from \"./notebook-catalog\";\nimport { NotebookData, isNotebookEditorLike } from \"./notebook-types\";\nimport { TARGET_NOTEBOOK_KERNELS } from \"./notebook-kernel-api\";\nimport { javascriptKernelContribution } from \"./javascript-kernel\";\n\nexport default ({ editorRegistry, commandRegistry, contributionRegistry }: any) => {\n registerNotebookCatalog();\n contributionRegistry.registerContribution(TARGET_NOTEBOOK_KERNELS, javascriptKernelContribution);\n\n const INITIAL_NOTEBOOK_CONTENT: NotebookData = {\n cells: [\n {\n cell_type: 'markdown',\n source: ['Press the **Run** button in the code cell below to execute it.'],\n metadata: {}\n },\n {\n cell_type: 'code',\n source: ['return \"Hello, World!\"'],\n execution_count: null,\n outputs: [],\n metadata: {}\n }\n ],\n metadata: { kernel: 'javascript' },\n nbformat: 4,\n nbformat_minor: 4\n };\n commandRegistry.registerHandler('notebook.runCell', {\n ranking: 10,\n canExecute: (context: ExecutionContext) => {\n const activeEditor = activeEditorSignal.get();\n if (isNotebookEditorLike(activeEditor)) {\n const cellIndex = context.params?.cellIndex;\n if (cellIndex !== undefined) {\n return cellIndex >= 0 && cellIndex < (activeEditor.notebook?.cells.length ?? 0);\n }\n return activeEditor.focusedCellIndex >= 0;\n }\n return false;\n },\n execute: async (context: ExecutionContext) => {\n const activeEditor = activeEditorSignal.get();\n if (isNotebookEditorLike(activeEditor)) {\n const cellIndex = context.params?.cellIndex ?? activeEditor.focusedCellIndex;\n if (cellIndex >= 0) {\n await activeEditor.executeCell(cellIndex);\n }\n }\n }\n });\n\n editorRegistry.registerEditorInputHandler({\n editorId: \"system.notebooeditor\",\n label: \"Jupyter Notebook\",\n icon: \"docks jupyter\",\n lazyInit: () => import('./notebook-runtime'),\n canHandle: (input: any) => input instanceof File && input.getName().toLowerCase().endsWith(\".ipynb\"),\n handle: async (input: File) => {\n const editorInput = {\n title: input.getWorkspacePath(),\n data: input,\n key: input.getWorkspacePath(),\n icon: \"docks jupyter\",\n state: {},\n } as EditorInput;\n editorInput.component = (id: string) => html`\n <docks-notebook-editor id=\"${id}\" .input=${editorInput}></docks-notebook-editor>`;\n return editorInput;\n },\n ranking: 100,\n });\n\n contributionRegistry.registerContribution('filebrowser.create', {\n label: 'Jupyter Notebook',\n icon: 'docks jupyter',\n command: 'touch',\n params: {\n path: \"notebook.ipynb\",\n extension: '.ipynb',\n ask: true,\n contents: JSON.stringify(INITIAL_NOTEBOOK_CONTENT, null, 2)\n }\n });\n};\n\n\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: ({ editorRegistry, commandRegistry, contributionRegistry }: any) => void;
2
+ export default _default;
3
+ //# sourceMappingURL=notebook-extension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-extension.d.ts","sourceRoot":"","sources":["../src/notebook-extension.ts"],"names":[],"mappings":"yBAUgB,2DAA2D,GAAG;AAA9E,wBA+EE"}
@@ -0,0 +1,6 @@
1
+ //#region src/notebook-kernel-api.ts
2
+ var TARGET_NOTEBOOK_KERNELS = "system.notebookkernels";
3
+ //#endregion
4
+ export { TARGET_NOTEBOOK_KERNELS as t };
5
+
6
+ //# sourceMappingURL=notebook-kernel-api-c9l3_84P.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-kernel-api-c9l3_84P.js","names":[],"sources":["../src/notebook-kernel-api.ts"],"sourcesContent":["export const TARGET_NOTEBOOK_KERNELS = 'system.notebookkernels';\n\nexport interface NotebookExecutionResult {\n data?: string;\n imageData?: string;\n error?: string;\n}\n\nexport interface NotebookKernel {\n readonly id: string;\n readonly label: string;\n readonly icon?: string;\n readonly language: string;\n execute(code: string): Promise<NotebookExecutionResult>;\n connect?(options?: { requiredPackages?: string[] }): Promise<void>;\n disconnect?(): Promise<void>;\n restart?(): Promise<void>;\n interrupt?(): void;\n getVersion?(): Promise<string | undefined>;\n openPackageManager?(\n context?: {\n requiredPackages: string[];\n onPackageAdded: (name: string) => void;\n onPackageRemoved: (name: string) => void;\n }\n ): void;\n close?(): void | Promise<void>;\n}\n\nexport interface NotebookKernelContribution {\n id: string;\n label: string;\n icon?: string;\n language: string;\n loadKernel(): Promise<NotebookKernel>;\n}\n"],"mappings":";AAAA,IAAa,0BAA0B"}
@@ -0,0 +1,34 @@
1
+ export declare const TARGET_NOTEBOOK_KERNELS = "system.notebookkernels";
2
+ export interface NotebookExecutionResult {
3
+ data?: string;
4
+ imageData?: string;
5
+ error?: string;
6
+ }
7
+ export interface NotebookKernel {
8
+ readonly id: string;
9
+ readonly label: string;
10
+ readonly icon?: string;
11
+ readonly language: string;
12
+ execute(code: string): Promise<NotebookExecutionResult>;
13
+ connect?(options?: {
14
+ requiredPackages?: string[];
15
+ }): Promise<void>;
16
+ disconnect?(): Promise<void>;
17
+ restart?(): Promise<void>;
18
+ interrupt?(): void;
19
+ getVersion?(): Promise<string | undefined>;
20
+ openPackageManager?(context?: {
21
+ requiredPackages: string[];
22
+ onPackageAdded: (name: string) => void;
23
+ onPackageRemoved: (name: string) => void;
24
+ }): void;
25
+ close?(): void | Promise<void>;
26
+ }
27
+ export interface NotebookKernelContribution {
28
+ id: string;
29
+ label: string;
30
+ icon?: string;
31
+ language: string;
32
+ loadKernel(): Promise<NotebookKernel>;
33
+ }
34
+ //# sourceMappingURL=notebook-kernel-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-kernel-api.d.ts","sourceRoot":"","sources":["../src/notebook-kernel-api.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAEhE,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACxD,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,SAAS,CAAC,IAAI,IAAI,CAAC;IACnB,UAAU,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3C,kBAAkB,CAAC,CACjB,OAAO,CAAC,EAAE;QACR,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACvC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KAC1C,GACA,IAAI,CAAC;IACR,KAAK,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;CACvC"}