@theia/notebook 1.67.0-next.56 → 1.67.0-next.86

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 (229) hide show
  1. package/lib/browser/contributions/cell-operations.d.ts +8 -0
  2. package/lib/browser/contributions/cell-operations.d.ts.map +1 -0
  3. package/lib/browser/contributions/cell-operations.js +45 -0
  4. package/lib/browser/contributions/cell-operations.js.map +1 -0
  5. package/lib/browser/contributions/notebook-actions-contribution.d.ts +48 -0
  6. package/lib/browser/contributions/notebook-actions-contribution.d.ts.map +1 -0
  7. package/lib/browser/contributions/notebook-actions-contribution.js +344 -0
  8. package/lib/browser/contributions/notebook-actions-contribution.js.map +1 -0
  9. package/lib/browser/contributions/notebook-cell-actions-contribution.d.ts +66 -0
  10. package/lib/browser/contributions/notebook-cell-actions-contribution.d.ts.map +1 -0
  11. package/lib/browser/contributions/notebook-cell-actions-contribution.js +526 -0
  12. package/lib/browser/contributions/notebook-cell-actions-contribution.js.map +1 -0
  13. package/lib/browser/contributions/notebook-color-contribution.d.ts +6 -0
  14. package/lib/browser/contributions/notebook-color-contribution.d.ts.map +1 -0
  15. package/lib/browser/contributions/notebook-color-contribution.js +247 -0
  16. package/lib/browser/contributions/notebook-color-contribution.js.map +1 -0
  17. package/lib/browser/contributions/notebook-context-keys.d.ts +44 -0
  18. package/lib/browser/contributions/notebook-context-keys.d.ts.map +1 -0
  19. package/lib/browser/contributions/notebook-context-keys.js +108 -0
  20. package/lib/browser/contributions/notebook-context-keys.js.map +1 -0
  21. package/lib/browser/contributions/notebook-label-provider-contribution.d.ts +19 -0
  22. package/lib/browser/contributions/notebook-label-provider-contribution.d.ts.map +1 -0
  23. package/lib/browser/contributions/notebook-label-provider-contribution.js +86 -0
  24. package/lib/browser/contributions/notebook-label-provider-contribution.js.map +1 -0
  25. package/lib/browser/contributions/notebook-outline-contribution.d.ts +29 -0
  26. package/lib/browser/contributions/notebook-outline-contribution.d.ts.map +1 -0
  27. package/lib/browser/contributions/notebook-outline-contribution.js +115 -0
  28. package/lib/browser/contributions/notebook-outline-contribution.js.map +1 -0
  29. package/lib/browser/contributions/notebook-output-action-contribution.d.ts +16 -0
  30. package/lib/browser/contributions/notebook-output-action-contribution.d.ts.map +1 -0
  31. package/lib/browser/contributions/notebook-output-action-contribution.js +83 -0
  32. package/lib/browser/contributions/notebook-output-action-contribution.js.map +1 -0
  33. package/lib/browser/contributions/notebook-status-bar-contribution.d.ts +12 -0
  34. package/lib/browser/contributions/notebook-status-bar-contribution.d.ts.map +1 -0
  35. package/lib/browser/contributions/notebook-status-bar-contribution.js +61 -0
  36. package/lib/browser/contributions/notebook-status-bar-contribution.js.map +1 -0
  37. package/lib/browser/contributions/notebook-undo-redo-handler.d.ts +10 -0
  38. package/lib/browser/contributions/notebook-undo-redo-handler.d.ts.map +1 -0
  39. package/lib/browser/contributions/notebook-undo-redo-handler.js +49 -0
  40. package/lib/browser/contributions/notebook-undo-redo-handler.js.map +1 -0
  41. package/lib/browser/index.d.ts +14 -0
  42. package/lib/browser/index.d.ts.map +1 -0
  43. package/lib/browser/index.js +32 -0
  44. package/lib/browser/index.js.map +1 -0
  45. package/lib/browser/notebook-cell-open-handler.d.ts +10 -0
  46. package/lib/browser/notebook-cell-open-handler.d.ts.map +1 -0
  47. package/lib/browser/notebook-cell-open-handler.js +52 -0
  48. package/lib/browser/notebook-cell-open-handler.js.map +1 -0
  49. package/lib/browser/notebook-cell-resource-resolver.d.ts +26 -0
  50. package/lib/browser/notebook-cell-resource-resolver.d.ts.map +1 -0
  51. package/lib/browser/notebook-cell-resource-resolver.js +109 -0
  52. package/lib/browser/notebook-cell-resource-resolver.js.map +1 -0
  53. package/lib/browser/notebook-editor-split-contribution.d.ts +14 -0
  54. package/lib/browser/notebook-editor-split-contribution.d.ts.map +1 -0
  55. package/lib/browser/notebook-editor-split-contribution.js +51 -0
  56. package/lib/browser/notebook-editor-split-contribution.js.map +1 -0
  57. package/lib/browser/notebook-editor-widget-factory.d.ts +20 -0
  58. package/lib/browser/notebook-editor-widget-factory.d.ts.map +1 -0
  59. package/lib/browser/notebook-editor-widget-factory.js +101 -0
  60. package/lib/browser/notebook-editor-widget-factory.js.map +1 -0
  61. package/lib/browser/notebook-editor-widget.d.ts +102 -0
  62. package/lib/browser/notebook-editor-widget.d.ts.map +1 -0
  63. package/lib/browser/notebook-editor-widget.js +336 -0
  64. package/lib/browser/notebook-editor-widget.js.map +1 -0
  65. package/lib/browser/notebook-frontend-module.d.ts +5 -0
  66. package/lib/browser/notebook-frontend-module.d.ts.map +1 -0
  67. package/lib/browser/notebook-frontend-module.js +116 -0
  68. package/lib/browser/notebook-frontend-module.js.map +1 -0
  69. package/lib/browser/notebook-open-handler.d.ts +29 -0
  70. package/lib/browser/notebook-open-handler.d.ts.map +1 -0
  71. package/lib/browser/notebook-open-handler.js +119 -0
  72. package/lib/browser/notebook-open-handler.js.map +1 -0
  73. package/lib/browser/notebook-output-utils.d.ts +13 -0
  74. package/lib/browser/notebook-output-utils.d.ts.map +1 -0
  75. package/lib/browser/notebook-output-utils.js +112 -0
  76. package/lib/browser/notebook-output-utils.js.map +1 -0
  77. package/lib/browser/notebook-renderer-registry.d.ts +25 -0
  78. package/lib/browser/notebook-renderer-registry.d.ts.map +1 -0
  79. package/lib/browser/notebook-renderer-registry.js +72 -0
  80. package/lib/browser/notebook-renderer-registry.js.map +1 -0
  81. package/lib/browser/notebook-type-registry.d.ts +12 -0
  82. package/lib/browser/notebook-type-registry.d.ts.map +1 -0
  83. package/lib/browser/notebook-type-registry.js +60 -0
  84. package/lib/browser/notebook-type-registry.js.map +1 -0
  85. package/lib/browser/notebook-types.d.ts +131 -0
  86. package/lib/browser/notebook-types.d.ts.map +1 -0
  87. package/lib/browser/notebook-types.js +28 -0
  88. package/lib/browser/notebook-types.js.map +1 -0
  89. package/lib/browser/renderers/cell-output-webview.d.ts +26 -0
  90. package/lib/browser/renderers/cell-output-webview.d.ts.map +1 -0
  91. package/lib/browser/renderers/cell-output-webview.js +21 -0
  92. package/lib/browser/renderers/cell-output-webview.js.map +1 -0
  93. package/lib/browser/service/notebook-cell-editor-service.d.ts +23 -0
  94. package/lib/browser/service/notebook-cell-editor-service.d.ts.map +1 -0
  95. package/lib/browser/service/notebook-cell-editor-service.js +89 -0
  96. package/lib/browser/service/notebook-cell-editor-service.js.map +1 -0
  97. package/lib/browser/service/notebook-cell-status-bar-service.d.ts +39 -0
  98. package/lib/browser/service/notebook-cell-status-bar-service.d.ts.map +1 -0
  99. package/lib/browser/service/notebook-cell-status-bar-service.js +69 -0
  100. package/lib/browser/service/notebook-cell-status-bar-service.js.map +1 -0
  101. package/lib/browser/service/notebook-clipboard-service.d.ts +10 -0
  102. package/lib/browser/service/notebook-clipboard-service.d.ts.map +1 -0
  103. package/lib/browser/service/notebook-clipboard-service.js +42 -0
  104. package/lib/browser/service/notebook-clipboard-service.js.map +1 -0
  105. package/lib/browser/service/notebook-context-manager.d.ts +28 -0
  106. package/lib/browser/service/notebook-context-manager.d.ts.map +1 -0
  107. package/lib/browser/service/notebook-context-manager.js +135 -0
  108. package/lib/browser/service/notebook-context-manager.js.map +1 -0
  109. package/lib/browser/service/notebook-editor-widget-service.d.ts +27 -0
  110. package/lib/browser/service/notebook-editor-widget-service.d.ts.map +1 -0
  111. package/lib/browser/service/notebook-editor-widget-service.js +124 -0
  112. package/lib/browser/service/notebook-editor-widget-service.js.map +1 -0
  113. package/lib/browser/service/notebook-execution-service.d.ts +25 -0
  114. package/lib/browser/service/notebook-execution-service.d.ts.map +1 -0
  115. package/lib/browser/service/notebook-execution-service.js +150 -0
  116. package/lib/browser/service/notebook-execution-service.js.map +1 -0
  117. package/lib/browser/service/notebook-execution-state-service.d.ts +78 -0
  118. package/lib/browser/service/notebook-execution-state-service.d.ts.map +1 -0
  119. package/lib/browser/service/notebook-execution-state-service.js +247 -0
  120. package/lib/browser/service/notebook-execution-state-service.js.map +1 -0
  121. package/lib/browser/service/notebook-kernel-history-service.d.ts +28 -0
  122. package/lib/browser/service/notebook-kernel-history-service.d.ts.map +1 -0
  123. package/lib/browser/service/notebook-kernel-history-service.js +116 -0
  124. package/lib/browser/service/notebook-kernel-history-service.js.map +1 -0
  125. package/lib/browser/service/notebook-kernel-quick-pick-service.d.ts +61 -0
  126. package/lib/browser/service/notebook-kernel-quick-pick-service.d.ts.map +1 -0
  127. package/lib/browser/service/notebook-kernel-quick-pick-service.js +425 -0
  128. package/lib/browser/service/notebook-kernel-quick-pick-service.js.map +1 -0
  129. package/lib/browser/service/notebook-kernel-service.d.ts +125 -0
  130. package/lib/browser/service/notebook-kernel-service.d.ts.map +1 -0
  131. package/lib/browser/service/notebook-kernel-service.js +268 -0
  132. package/lib/browser/service/notebook-kernel-service.js.map +1 -0
  133. package/lib/browser/service/notebook-model-resolver-service.d.ts +28 -0
  134. package/lib/browser/service/notebook-model-resolver-service.d.ts.map +1 -0
  135. package/lib/browser/service/notebook-model-resolver-service.js +157 -0
  136. package/lib/browser/service/notebook-model-resolver-service.js.map +1 -0
  137. package/lib/browser/service/notebook-monaco-text-model-service.d.ts +21 -0
  138. package/lib/browser/service/notebook-monaco-text-model-service.d.ts.map +1 -0
  139. package/lib/browser/service/notebook-monaco-text-model-service.js +73 -0
  140. package/lib/browser/service/notebook-monaco-text-model-service.js.map +1 -0
  141. package/lib/browser/service/notebook-options.d.ts +30 -0
  142. package/lib/browser/service/notebook-options.d.ts.map +1 -0
  143. package/lib/browser/service/notebook-options.js +130 -0
  144. package/lib/browser/service/notebook-options.js.map +1 -0
  145. package/lib/browser/service/notebook-renderer-messaging-service.d.ts +35 -0
  146. package/lib/browser/service/notebook-renderer-messaging-service.d.ts.map +1 -0
  147. package/lib/browser/service/notebook-renderer-messaging-service.js +100 -0
  148. package/lib/browser/service/notebook-renderer-messaging-service.js.map +1 -0
  149. package/lib/browser/service/notebook-service.d.ts +68 -0
  150. package/lib/browser/service/notebook-service.d.ts.map +1 -0
  151. package/lib/browser/service/notebook-service.js +184 -0
  152. package/lib/browser/service/notebook-service.js.map +1 -0
  153. package/lib/browser/view/notebook-cell-editor.d.ts +46 -0
  154. package/lib/browser/view/notebook-cell-editor.d.ts.map +1 -0
  155. package/lib/browser/view/notebook-cell-editor.js +271 -0
  156. package/lib/browser/view/notebook-cell-editor.js.map +1 -0
  157. package/lib/browser/view/notebook-cell-list-view.d.ts +58 -0
  158. package/lib/browser/view/notebook-cell-list-view.d.ts.map +1 -0
  159. package/lib/browser/view/notebook-cell-list-view.js +225 -0
  160. package/lib/browser/view/notebook-cell-list-view.js.map +1 -0
  161. package/lib/browser/view/notebook-cell-toolbar-factory.d.ts +33 -0
  162. package/lib/browser/view/notebook-cell-toolbar-factory.d.ts.map +1 -0
  163. package/lib/browser/view/notebook-cell-toolbar-factory.js +110 -0
  164. package/lib/browser/view/notebook-cell-toolbar-factory.js.map +1 -0
  165. package/lib/browser/view/notebook-cell-toolbar.d.ts +25 -0
  166. package/lib/browser/view/notebook-cell-toolbar.d.ts.map +1 -0
  167. package/lib/browser/view/notebook-cell-toolbar.js +51 -0
  168. package/lib/browser/view/notebook-cell-toolbar.js.map +1 -0
  169. package/lib/browser/view/notebook-code-cell-view.d.ts +93 -0
  170. package/lib/browser/view/notebook-code-cell-view.d.ts.map +1 -0
  171. package/lib/browser/view/notebook-code-cell-view.js +338 -0
  172. package/lib/browser/view/notebook-code-cell-view.js.map +1 -0
  173. package/lib/browser/view/notebook-find-widget.d.ts +63 -0
  174. package/lib/browser/view/notebook-find-widget.d.ts.map +1 -0
  175. package/lib/browser/view/notebook-find-widget.js +225 -0
  176. package/lib/browser/view/notebook-find-widget.js.map +1 -0
  177. package/lib/browser/view/notebook-main-toolbar.d.ts +53 -0
  178. package/lib/browser/view/notebook-main-toolbar.d.ts.map +1 -0
  179. package/lib/browser/view/notebook-main-toolbar.js +184 -0
  180. package/lib/browser/view/notebook-main-toolbar.js.map +1 -0
  181. package/lib/browser/view/notebook-markdown-cell-view.d.ts +28 -0
  182. package/lib/browser/view/notebook-markdown-cell-view.d.ts.map +1 -0
  183. package/lib/browser/view/notebook-markdown-cell-view.js +216 -0
  184. package/lib/browser/view/notebook-markdown-cell-view.js.map +1 -0
  185. package/lib/browser/view/notebook-viewport-service.d.ts +17 -0
  186. package/lib/browser/view/notebook-viewport-service.d.ts.map +1 -0
  187. package/lib/browser/view/notebook-viewport-service.js +61 -0
  188. package/lib/browser/view/notebook-viewport-service.js.map +1 -0
  189. package/lib/browser/view-model/notebook-cell-model.d.ts +137 -0
  190. package/lib/browser/view-model/notebook-cell-model.d.ts.map +1 -0
  191. package/lib/browser/view-model/notebook-cell-model.js +367 -0
  192. package/lib/browser/view-model/notebook-cell-model.js.map +1 -0
  193. package/lib/browser/view-model/notebook-cell-output-model.d.ts +17 -0
  194. package/lib/browser/view-model/notebook-cell-output-model.d.ts.map +1 -0
  195. package/lib/browser/view-model/notebook-cell-output-model.js +87 -0
  196. package/lib/browser/view-model/notebook-cell-output-model.js.map +1 -0
  197. package/lib/browser/view-model/notebook-model.d.ts +85 -0
  198. package/lib/browser/view-model/notebook-model.d.ts.map +1 -0
  199. package/lib/browser/view-model/notebook-model.js +446 -0
  200. package/lib/browser/view-model/notebook-model.js.map +1 -0
  201. package/lib/browser/view-model/notebook-view-model.d.ts +40 -0
  202. package/lib/browser/view-model/notebook-view-model.d.ts.map +1 -0
  203. package/lib/browser/view-model/notebook-view-model.js +120 -0
  204. package/lib/browser/view-model/notebook-view-model.js.map +1 -0
  205. package/lib/common/index.d.ts +3 -0
  206. package/lib/common/index.d.ts.map +1 -0
  207. package/lib/common/index.js +21 -0
  208. package/lib/common/index.js.map +1 -0
  209. package/lib/common/notebook-common.d.ts +227 -0
  210. package/lib/common/notebook-common.d.ts.map +1 -0
  211. package/lib/common/notebook-common.js +151 -0
  212. package/lib/common/notebook-common.js.map +1 -0
  213. package/lib/common/notebook-preferences.d.ts +15 -0
  214. package/lib/common/notebook-preferences.d.ts.map +1 -0
  215. package/lib/common/notebook-preferences.js +89 -0
  216. package/lib/common/notebook-preferences.js.map +1 -0
  217. package/lib/common/notebook-protocol.d.ts +21 -0
  218. package/lib/common/notebook-protocol.d.ts.map +1 -0
  219. package/lib/common/notebook-protocol.js +18 -0
  220. package/lib/common/notebook-protocol.js.map +1 -0
  221. package/lib/common/notebook-range.d.ts +14 -0
  222. package/lib/common/notebook-range.d.ts.map +1 -0
  223. package/lib/common/notebook-range.js +18 -0
  224. package/lib/common/notebook-range.js.map +1 -0
  225. package/lib/node/notebook-backend-module.d.ts +4 -0
  226. package/lib/node/notebook-backend-module.d.ts.map +1 -0
  227. package/lib/node/notebook-backend-module.js +23 -0
  228. package/lib/node/notebook-backend-module.js.map +1 -0
  229. package/package.json +7 -7
@@ -0,0 +1,425 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotebookKernelQuickPickService = exports.JUPYTER_EXTENSION_ID = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // *****************************************************************************
6
+ // Copyright (C) 2023 TypeFox and others.
7
+ //
8
+ // This program and the accompanying materials are made available under the
9
+ // terms of the Eclipse Public License v. 2.0 which is available at
10
+ // http://www.eclipse.org/legal/epl-2.0.
11
+ //
12
+ // This Source Code may also be made available under the following Secondary
13
+ // Licenses when the conditions for such availability set forth in the Eclipse
14
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
15
+ // with the GNU Classpath Exception which is available at
16
+ // https://www.gnu.org/software/classpath/license.html.
17
+ //
18
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
19
+ // *****************************************************************************
20
+ /*---------------------------------------------------------------------------------------------
21
+ * Copyright (c) Microsoft Corporation. All rights reserved.
22
+ * Licensed under the MIT License. See License.txt in the project root for license information.
23
+ *--------------------------------------------------------------------------------------------*/
24
+ const core_1 = require("@theia/core");
25
+ const inversify_1 = require("@theia/core/shared/inversify");
26
+ const notebook_kernel_service_1 = require("./notebook-kernel-service");
27
+ const browser_1 = require("@theia/core/lib/browser");
28
+ const notebook_kernel_history_service_1 = require("./notebook-kernel-history-service");
29
+ const common_1 = require("../../common");
30
+ const debounce = require("@theia/core/shared/lodash.debounce");
31
+ exports.JUPYTER_EXTENSION_ID = 'ms-toolsai.jupyter';
32
+ function isKernelPick(item) {
33
+ return 'kernel' in item;
34
+ }
35
+ function isGroupedKernelsPick(item) {
36
+ return 'kernels' in item;
37
+ }
38
+ function isSourcePick(item) {
39
+ return 'action' in item;
40
+ }
41
+ function isKernelSourceQuickPickItem(item) {
42
+ return 'command' in item;
43
+ }
44
+ function supportAutoRun(item) {
45
+ return 'autoRun' in item && !!item.autoRun;
46
+ }
47
+ const KERNEL_PICKER_UPDATE_DEBOUNCE = 200;
48
+ function toKernelQuickPick(kernel, selected) {
49
+ const res = {
50
+ kernel,
51
+ label: kernel.label,
52
+ description: kernel.description,
53
+ detail: kernel.detail
54
+ };
55
+ if (kernel.id === (selected === null || selected === void 0 ? void 0 : selected.id)) {
56
+ if (!res.description) {
57
+ res.description = core_1.nls.localizeByDefault('Currently Selected');
58
+ }
59
+ else {
60
+ res.description = core_1.nls.localizeByDefault('{0} - Currently Selected', res.description);
61
+ }
62
+ }
63
+ return res;
64
+ }
65
+ let NotebookKernelQuickPickService = class NotebookKernelQuickPickService {
66
+ async showQuickPick(editor, wantedId, skipAutoRun) {
67
+ const notebook = editor;
68
+ const matchResult = this.getMatchingResult(notebook);
69
+ const { selected, all } = matchResult;
70
+ let newKernel;
71
+ if (wantedId) {
72
+ for (const candidate of all) {
73
+ if (candidate.id === wantedId) {
74
+ newKernel = candidate;
75
+ break;
76
+ }
77
+ }
78
+ if (!newKernel) {
79
+ console.warn(`wanted kernel DOES NOT EXIST, wanted: ${wantedId}, all: ${all.map(k => k.id)}`);
80
+ return false;
81
+ }
82
+ }
83
+ if (newKernel) {
84
+ this.selectKernel(notebook, newKernel);
85
+ return true;
86
+ }
87
+ const quickPick = this.quickInputService.createQuickPick();
88
+ const quickPickItems = this.getKernelPickerQuickPickItems(matchResult);
89
+ if (quickPickItems.length === 1 && supportAutoRun(quickPickItems[0]) && !skipAutoRun) {
90
+ return this.handleQuickPick(editor, quickPickItems[0], quickPickItems);
91
+ }
92
+ quickPick.items = quickPickItems;
93
+ quickPick.canSelectMany = false;
94
+ quickPick.placeholder = selected
95
+ ? core_1.nls.localizeByDefault("Change kernel for '{0}'", 'current') // TODO get label for current notebook from a label provider
96
+ : core_1.nls.localizeByDefault("Select kernel for '{0}'", 'current');
97
+ quickPick.busy = this.notebookKernelService.getKernelDetectionTasks(notebook).length > 0;
98
+ const kernelDetectionTaskListener = this.notebookKernelService.onDidChangeKernelDetectionTasks(() => {
99
+ quickPick.busy = this.notebookKernelService.getKernelDetectionTasks(notebook).length > 0;
100
+ });
101
+ const kernelChangeEventListener = debounce(core_1.Event.any(this.notebookKernelService.onDidChangeSourceActions, this.notebookKernelService.onDidAddKernel, this.notebookKernelService.onDidRemoveKernel, this.notebookKernelService.onDidChangeNotebookAffinity), KERNEL_PICKER_UPDATE_DEBOUNCE)(async () => {
102
+ // reset quick pick progress
103
+ quickPick.busy = false;
104
+ const currentActiveItems = quickPick.activeItems;
105
+ const newMatchResult = this.getMatchingResult(notebook);
106
+ const newQuickPickItems = this.getKernelPickerQuickPickItems(newMatchResult);
107
+ quickPick.keepScrollPosition = true;
108
+ // recalculate active items
109
+ const activeItems = [];
110
+ for (const item of currentActiveItems) {
111
+ if (isKernelPick(item)) {
112
+ const kernelId = item.kernel.id;
113
+ const sameItem = newQuickPickItems.find(pi => isKernelPick(pi) && pi.kernel.id === kernelId);
114
+ if (sameItem) {
115
+ activeItems.push(sameItem);
116
+ }
117
+ }
118
+ else if (isSourcePick(item)) {
119
+ const sameItem = newQuickPickItems.find(pi => isSourcePick(pi) && pi.action.command.id === item.action.command.id);
120
+ if (sameItem) {
121
+ activeItems.push(sameItem);
122
+ }
123
+ }
124
+ }
125
+ quickPick.items = newQuickPickItems;
126
+ quickPick.activeItems = activeItems;
127
+ }, this);
128
+ const pick = await new Promise((resolve, reject) => {
129
+ quickPick.onDidAccept(() => {
130
+ const item = quickPick.selectedItems[0];
131
+ if (item) {
132
+ resolve({ selected: item, items: quickPick.items });
133
+ }
134
+ else {
135
+ resolve({ selected: undefined, items: quickPick.items });
136
+ }
137
+ quickPick.hide();
138
+ });
139
+ quickPick.onDidHide(() => {
140
+ kernelDetectionTaskListener.dispose();
141
+ kernelChangeEventListener === null || kernelChangeEventListener === void 0 ? void 0 : kernelChangeEventListener.dispose();
142
+ quickPick.dispose();
143
+ resolve({ selected: undefined, items: quickPick.items });
144
+ });
145
+ quickPick.show();
146
+ });
147
+ if (pick.selected) {
148
+ return this.handleQuickPick(editor, pick.selected, pick.items);
149
+ }
150
+ return false;
151
+ }
152
+ getKernelPickerQuickPickItems(matchResult) {
153
+ const quickPickItems = [];
154
+ if (matchResult.selected) {
155
+ const kernelItem = toKernelQuickPick(matchResult.selected, matchResult.selected);
156
+ quickPickItems.push(kernelItem);
157
+ }
158
+ // TODO use suggested here when kernel affinity is implemented. For now though show all kernels
159
+ matchResult.all.filter(kernel => { var _a; return kernel.id !== ((_a = matchResult.selected) === null || _a === void 0 ? void 0 : _a.id); }).map(kernel => toKernelQuickPick(kernel, matchResult.selected))
160
+ .forEach(kernel => {
161
+ quickPickItems.push(kernel);
162
+ });
163
+ const shouldAutoRun = quickPickItems.length === 0;
164
+ if (quickPickItems.length > 0) {
165
+ quickPickItems.push({
166
+ type: 'separator'
167
+ });
168
+ }
169
+ // select another kernel quick pick
170
+ quickPickItems.push({
171
+ id: 'selectAnother',
172
+ label: core_1.nls.localizeByDefault('Select Another Kernel...'),
173
+ autoRun: shouldAutoRun
174
+ });
175
+ return quickPickItems;
176
+ }
177
+ selectKernel(notebook, kernel) {
178
+ this.logger.debug('Selected notebook kernel', {
179
+ notebook: notebook.uri.toString(),
180
+ kernel: kernel.id
181
+ });
182
+ const currentInfo = this.notebookKernelService.getMatchingKernel(notebook);
183
+ if (currentInfo.selected) {
184
+ // there is already a selected kernel
185
+ this.notebookKernelHistoryService.addMostRecentKernel(currentInfo.selected);
186
+ }
187
+ this.notebookKernelService.selectKernelForNotebook(kernel, notebook);
188
+ this.notebookKernelHistoryService.addMostRecentKernel(kernel);
189
+ }
190
+ getMatchingResult(notebook) {
191
+ const { selected, all } = this.notebookKernelHistoryService.getKernels(notebook);
192
+ const matchingResult = this.notebookKernelService.getMatchingKernel(notebook);
193
+ return {
194
+ selected: selected,
195
+ all: matchingResult.all,
196
+ suggestions: all,
197
+ hidden: []
198
+ };
199
+ }
200
+ async handleQuickPick(editor, pick, items) {
201
+ if (pick.id === 'selectAnother') {
202
+ return this.displaySelectAnotherQuickPick(editor, items.length === 1 && items[0] === pick);
203
+ }
204
+ if (isKernelPick(pick)) {
205
+ const newKernel = pick.kernel;
206
+ this.selectKernel(editor, newKernel);
207
+ return true;
208
+ }
209
+ if (isSourcePick(pick)) {
210
+ this.logger.debug('Selected notebook kernel command', {
211
+ notebook: editor.uri.toString(),
212
+ command: pick.action.command.id
213
+ });
214
+ // selected explicitly, it should trigger the execution?
215
+ pick.action.run(this.commandService);
216
+ }
217
+ return true;
218
+ }
219
+ async displaySelectAnotherQuickPick(editor, kernelListEmpty) {
220
+ const notebook = editor;
221
+ const disposables = new core_1.DisposableCollection();
222
+ const quickPick = this.quickInputService.createQuickPick();
223
+ const quickPickItem = await new Promise(resolve => {
224
+ // select from kernel sources
225
+ quickPick.title = kernelListEmpty ? core_1.nls.localizeByDefault('Select Kernel') : core_1.nls.localizeByDefault('Select Another Kernel');
226
+ quickPick.placeholder = core_1.nls.localizeByDefault('Type to choose a kernel source');
227
+ quickPick.busy = true;
228
+ // quickPick.buttons = [this.quickInputService.backButton];
229
+ quickPick.show();
230
+ disposables.push(quickPick.onDidTriggerButton(button => {
231
+ if (button === this.quickInputService.backButton) {
232
+ resolve(button);
233
+ }
234
+ }));
235
+ quickPick.onDidTriggerItemButton(async (e) => {
236
+ if (isKernelSourceQuickPickItem(e.item) && e.item.documentation !== undefined) {
237
+ const uri = this.isUri(e.item.documentation) ? new core_1.URI(e.item.documentation) : await this.commandService.executeCommand(e.item.documentation);
238
+ if (uri) {
239
+ (await this.openerService.getOpener(uri, { openExternal: true })).open(uri, { openExternal: true });
240
+ }
241
+ }
242
+ });
243
+ disposables.push(quickPick.onDidAccept(async () => {
244
+ resolve(quickPick.selectedItems[0]);
245
+ }));
246
+ disposables.push(quickPick.onDidHide(() => {
247
+ resolve(undefined);
248
+ }));
249
+ this.calculateKernelSources(editor).then(quickPickItems => {
250
+ quickPick.items = quickPickItems;
251
+ if (quickPick.items.length > 0) {
252
+ quickPick.busy = false;
253
+ }
254
+ });
255
+ debounce(core_1.Event.any(this.notebookKernelService.onDidChangeSourceActions, this.notebookKernelService.onDidAddKernel, this.notebookKernelService.onDidRemoveKernel), KERNEL_PICKER_UPDATE_DEBOUNCE)(async () => {
256
+ quickPick.busy = true;
257
+ const quickPickItems = await this.calculateKernelSources(editor);
258
+ quickPick.items = quickPickItems;
259
+ quickPick.busy = false;
260
+ });
261
+ });
262
+ quickPick.hide();
263
+ disposables.dispose();
264
+ if (quickPickItem === this.quickInputService.backButton) {
265
+ return this.showQuickPick(editor, undefined, true);
266
+ }
267
+ if (quickPickItem) {
268
+ const selectedKernelPickItem = quickPickItem;
269
+ if (isKernelSourceQuickPickItem(selectedKernelPickItem)) {
270
+ try {
271
+ const selectedKernelId = await this.executeCommand(notebook, selectedKernelPickItem.command);
272
+ if (selectedKernelId) {
273
+ const { all } = this.getMatchingResult(notebook);
274
+ const notebookKernel = all.find(kernel => kernel.id === `ms-toolsai.jupyter/${selectedKernelId}`);
275
+ if (notebookKernel) {
276
+ this.selectKernel(notebook, notebookKernel);
277
+ return true;
278
+ }
279
+ return true;
280
+ }
281
+ else {
282
+ return this.displaySelectAnotherQuickPick(editor, false);
283
+ }
284
+ }
285
+ catch (ex) {
286
+ console.error('Failed to select notebook kernel', ex);
287
+ return false;
288
+ }
289
+ }
290
+ else if (isKernelPick(selectedKernelPickItem)) {
291
+ this.selectKernel(notebook, selectedKernelPickItem.kernel);
292
+ return true;
293
+ }
294
+ else if (isGroupedKernelsPick(selectedKernelPickItem)) {
295
+ await this.selectOneKernel(notebook, selectedKernelPickItem.source, selectedKernelPickItem.kernels);
296
+ return true;
297
+ }
298
+ else if (isSourcePick(selectedKernelPickItem)) {
299
+ // selected explicitly, it should trigger the execution?
300
+ try {
301
+ await selectedKernelPickItem.action.run(this.commandService);
302
+ return true;
303
+ }
304
+ catch (ex) {
305
+ console.error('Failed to select notebook kernel', ex);
306
+ return false;
307
+ }
308
+ }
309
+ // } else if (isSearchMarketplacePick(selectedKernelPickItem)) {
310
+ // await this.showKernelExtension(
311
+ // this.paneCompositePartService,
312
+ // this.extensionWorkbenchService,
313
+ // this.extensionService,
314
+ // editor.textModel.viewType,
315
+ // []
316
+ // );
317
+ // return true;
318
+ // } else if (isInstallExtensionPick(selectedKernelPickItem)) {
319
+ // await this.showKernelExtension(
320
+ // this.paneCompositePartService,
321
+ // this.extensionWorkbenchService,
322
+ // this.extensionService,
323
+ // editor.textModel.viewType,
324
+ // selectedKernelPickItem.extensionIds,
325
+ // );
326
+ // return true;
327
+ // }
328
+ }
329
+ return false;
330
+ }
331
+ isUri(value) {
332
+ return /^(?<scheme>\w[\w\d+.-]*):/.test(value);
333
+ }
334
+ async calculateKernelSources(editor) {
335
+ const notebook = editor;
336
+ const actions = await this.notebookKernelService.getKernelSourceActionsFromProviders(notebook);
337
+ const matchResult = this.getMatchingResult(notebook);
338
+ const others = matchResult.all.filter(item => item.extensionId !== exports.JUPYTER_EXTENSION_ID);
339
+ const quickPickItems = [];
340
+ // group controllers by extension
341
+ for (const group of core_1.ArrayUtils.groupBy(others, (a, b) => a.extensionId === b.extensionId ? 0 : 1)) {
342
+ const source = group[0].extensionId;
343
+ if (group.length > 1) {
344
+ quickPickItems.push({
345
+ label: source,
346
+ kernels: group
347
+ });
348
+ }
349
+ else {
350
+ quickPickItems.push({
351
+ label: group[0].label,
352
+ kernel: group[0]
353
+ });
354
+ }
355
+ }
356
+ const validActions = actions.filter(action => action.command);
357
+ quickPickItems.push(...validActions.map(action => {
358
+ const buttons = action.documentation ? [{
359
+ iconClass: (0, browser_1.codicon)('info'),
360
+ tooltip: core_1.nls.localizeByDefault('Learn More'),
361
+ }] : [];
362
+ return {
363
+ id: typeof action.command === 'string' ? action.command : action.command.id,
364
+ label: action.label,
365
+ description: action.description,
366
+ command: action.command,
367
+ documentation: action.documentation,
368
+ buttons
369
+ };
370
+ }));
371
+ return quickPickItems;
372
+ }
373
+ async selectOneKernel(notebook, source, kernels) {
374
+ const quickPickItems = kernels.map(kernel => toKernelQuickPick(kernel, undefined));
375
+ const quickPick = this.quickInputService.createQuickPick();
376
+ quickPick.items = quickPickItems;
377
+ quickPick.canSelectMany = false;
378
+ quickPick.title = core_1.nls.localizeByDefault('Select Kernel from {0}', source);
379
+ quickPick.onDidAccept(async () => {
380
+ if (quickPick.selectedItems && quickPick.selectedItems.length > 0 && isKernelPick(quickPick.selectedItems[0])) {
381
+ this.selectKernel(notebook, quickPick.selectedItems[0].kernel);
382
+ }
383
+ quickPick.hide();
384
+ quickPick.dispose();
385
+ });
386
+ quickPick.onDidHide(() => {
387
+ quickPick.dispose();
388
+ });
389
+ quickPick.show();
390
+ }
391
+ async executeCommand(notebook, command) {
392
+ const args = (command.arguments || []).concat([common_1.NotebookModelResource.create(notebook.uri)]);
393
+ return this.commandService.executeCommand(command.id, ...args);
394
+ }
395
+ };
396
+ exports.NotebookKernelQuickPickService = NotebookKernelQuickPickService;
397
+ tslib_1.__decorate([
398
+ (0, inversify_1.inject)(notebook_kernel_service_1.NotebookKernelService),
399
+ tslib_1.__metadata("design:type", notebook_kernel_service_1.NotebookKernelService)
400
+ ], NotebookKernelQuickPickService.prototype, "notebookKernelService", void 0);
401
+ tslib_1.__decorate([
402
+ (0, inversify_1.inject)(core_1.QuickInputService),
403
+ tslib_1.__metadata("design:type", Object)
404
+ ], NotebookKernelQuickPickService.prototype, "quickInputService", void 0);
405
+ tslib_1.__decorate([
406
+ (0, inversify_1.inject)(core_1.CommandService),
407
+ tslib_1.__metadata("design:type", Object)
408
+ ], NotebookKernelQuickPickService.prototype, "commandService", void 0);
409
+ tslib_1.__decorate([
410
+ (0, inversify_1.inject)(browser_1.OpenerService),
411
+ tslib_1.__metadata("design:type", Object)
412
+ ], NotebookKernelQuickPickService.prototype, "openerService", void 0);
413
+ tslib_1.__decorate([
414
+ (0, inversify_1.inject)(notebook_kernel_history_service_1.NotebookKernelHistoryService),
415
+ tslib_1.__metadata("design:type", notebook_kernel_history_service_1.NotebookKernelHistoryService)
416
+ ], NotebookKernelQuickPickService.prototype, "notebookKernelHistoryService", void 0);
417
+ tslib_1.__decorate([
418
+ (0, inversify_1.inject)(core_1.ILogger),
419
+ (0, inversify_1.named)('notebook'),
420
+ tslib_1.__metadata("design:type", Object)
421
+ ], NotebookKernelQuickPickService.prototype, "logger", void 0);
422
+ exports.NotebookKernelQuickPickService = NotebookKernelQuickPickService = tslib_1.__decorate([
423
+ (0, inversify_1.injectable)()
424
+ ], NotebookKernelQuickPickService);
425
+ //# sourceMappingURL=notebook-kernel-quick-pick-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-kernel-quick-pick-service.js","sourceRoot":"","sources":["../../../src/browser/service/notebook-kernel-quick-pick-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ import { Command, CommandService, Disposable, Emitter, Event, URI } from '@theia/core';
2
+ import { StorageService } from '@theia/core/lib/browser';
3
+ import { NotebookKernelSourceAction } from '../../common';
4
+ import { NotebookModel } from '../view-model/notebook-model';
5
+ import { NotebookService } from './notebook-service';
6
+ export interface SelectedNotebookKernelChangeEvent {
7
+ notebook: URI;
8
+ oldKernel: string | undefined;
9
+ newKernel: string | undefined;
10
+ }
11
+ export interface NotebookKernelMatchResult {
12
+ readonly selected: NotebookKernel | undefined;
13
+ readonly suggestions: NotebookKernel[];
14
+ readonly all: NotebookKernel[];
15
+ readonly hidden: NotebookKernel[];
16
+ }
17
+ export interface NotebookKernelChangeEvent {
18
+ label?: true;
19
+ description?: true;
20
+ detail?: true;
21
+ supportedLanguages?: true;
22
+ hasExecutionOrder?: true;
23
+ hasInterruptHandler?: true;
24
+ }
25
+ export interface NotebookKernel {
26
+ readonly id: string;
27
+ readonly viewType: string;
28
+ readonly onDidChange: Event<Readonly<NotebookKernelChangeEvent>>;
29
+ readonly extensionId: string;
30
+ readonly localResourceRoot: URI;
31
+ readonly preloadUris: URI[];
32
+ readonly preloadProvides: string[];
33
+ readonly handle: number;
34
+ label: string;
35
+ description?: string;
36
+ detail?: string;
37
+ supportedLanguages: string[];
38
+ implementsInterrupt?: boolean;
39
+ implementsExecutionOrder?: boolean;
40
+ executeNotebookCellsRequest(uri: URI, cellHandles: number[]): Promise<void>;
41
+ cancelNotebookCellExecution(uri: URI, cellHandles: number[]): Promise<void>;
42
+ }
43
+ export declare const enum ProxyKernelState {
44
+ Disconnected = 1,
45
+ Connected = 2,
46
+ Initializing = 3
47
+ }
48
+ export interface INotebookProxyKernelChangeEvent extends NotebookKernelChangeEvent {
49
+ connectionState?: true;
50
+ }
51
+ export interface NotebookTextModelLike {
52
+ uri: URI;
53
+ viewType: string;
54
+ }
55
+ declare class KernelInfo {
56
+ protected static instanceCounter: number;
57
+ score: number;
58
+ readonly kernel: NotebookKernel;
59
+ readonly handle: number;
60
+ constructor(kernel: NotebookKernel);
61
+ }
62
+ export interface NotebookSourceActionChangeEvent {
63
+ notebook?: URI;
64
+ viewType: string;
65
+ }
66
+ export interface KernelSourceActionProvider {
67
+ readonly viewType: string;
68
+ onDidChangeSourceActions?: Event<void>;
69
+ provideKernelSourceActions(): Promise<NotebookKernelSourceAction[]>;
70
+ }
71
+ export declare class SourceCommand implements Disposable {
72
+ readonly command: Command;
73
+ readonly model: NotebookTextModelLike;
74
+ execution: Promise<void> | undefined;
75
+ protected readonly onDidChangeStateEmitter: Emitter<void>;
76
+ readonly onDidChangeState: Event<void>;
77
+ constructor(command: Command, model: NotebookTextModelLike);
78
+ run(commandService: CommandService): Promise<void>;
79
+ protected runCommand(commandService: CommandService): Promise<void>;
80
+ dispose(): void;
81
+ }
82
+ export declare class NotebookKernelService {
83
+ protected notebookService: NotebookService;
84
+ protected storageService: StorageService;
85
+ protected readonly kernels: Map<string, KernelInfo>;
86
+ protected notebookBindings: Record<string, string>;
87
+ protected readonly kernelDetectionTasks: Map<string, string[]>;
88
+ protected readonly onDidChangeKernelDetectionTasksEmitter: Emitter<string>;
89
+ readonly onDidChangeKernelDetectionTasks: Event<string>;
90
+ protected readonly onDidChangeSourceActionsEmitter: Emitter<NotebookSourceActionChangeEvent>;
91
+ protected readonly kernelSourceActionProviders: Map<string, KernelSourceActionProvider[]>;
92
+ readonly onDidChangeSourceActions: Event<NotebookSourceActionChangeEvent>;
93
+ protected readonly onDidAddKernelEmitter: Emitter<NotebookKernel>;
94
+ readonly onDidAddKernel: Event<NotebookKernel>;
95
+ protected readonly onDidRemoveKernelEmitter: Emitter<NotebookKernel>;
96
+ readonly onDidRemoveKernel: Event<NotebookKernel>;
97
+ protected readonly onDidChangeSelectedNotebookKernelBindingEmitter: Emitter<SelectedNotebookKernelChangeEvent>;
98
+ readonly onDidChangeSelectedKernel: Event<SelectedNotebookKernelChangeEvent>;
99
+ protected readonly onDidChangeNotebookAffinityEmitter: Emitter<void>;
100
+ readonly onDidChangeNotebookAffinity: Event<void>;
101
+ init(): void;
102
+ registerKernel(kernel: NotebookKernel): Disposable;
103
+ /**
104
+ * Helps to find the best matching kernel for a notebook.
105
+ * @param notebook notebook to get the matching kernel for
106
+ * @returns and object containing:
107
+ * all kernels sorted to match the notebook best first (affinity ascending, score descending, label))
108
+ * the selected kernel (if any)
109
+ * specific suggested kernels (if any)
110
+ * hidden kernels (if any)
111
+ */
112
+ getMatchingKernel(notebook: NotebookTextModelLike): NotebookKernelMatchResult;
113
+ getSelectedNotebookKernel(notebook: NotebookTextModelLike): NotebookKernel | undefined;
114
+ selectKernelForNotebook(kernel: NotebookKernel | undefined, notebook: NotebookTextModelLike): void;
115
+ getSelectedOrSuggestedKernel(notebook: NotebookModel): NotebookKernel | undefined;
116
+ getKernel(id: string): NotebookKernel | undefined;
117
+ protected static score(kernel: NotebookKernel, notebook: NotebookTextModelLike): number;
118
+ protected tryAutoBindNotebook(notebook: NotebookModel, onlyThisKernel?: NotebookKernel): void;
119
+ registerNotebookKernelDetectionTask(notebookType: string): Disposable;
120
+ getKernelDetectionTasks(notebook: NotebookTextModelLike): string[];
121
+ registerKernelSourceActionProvider(viewType: string, provider: KernelSourceActionProvider): Disposable;
122
+ getKernelSourceActionsFromProviders(notebook: NotebookTextModelLike): Promise<NotebookKernelSourceAction[]>;
123
+ }
124
+ export {};
125
+ //# sourceMappingURL=notebook-kernel-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-kernel-service.d.ts","sourceRoot":"","sources":["../../../src/browser/service/notebook-kernel-service.ts"],"names":[],"mappings":"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"}