@jupyterlab/running-extension 4.3.0-alpha.2 → 4.3.0-beta.1

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.
package/lib/index.d.ts CHANGED
@@ -12,6 +12,7 @@ export declare namespace CommandIDs {
12
12
  const kernelNewNotebook = "running:kernel-new-notebook";
13
13
  const kernelOpenSession = "running:kernel-open-session";
14
14
  const kernelShutDown = "running:kernel-shut-down";
15
+ const kernelShutDownUnused = "running:kernel-shut-down-unused";
15
16
  const showPanel = "running:show-panel";
16
17
  const showModal = "running:show-modal";
17
18
  }
package/lib/index.js CHANGED
@@ -23,6 +23,7 @@ export var CommandIDs;
23
23
  CommandIDs.kernelNewNotebook = 'running:kernel-new-notebook';
24
24
  CommandIDs.kernelOpenSession = 'running:kernel-open-session';
25
25
  CommandIDs.kernelShutDown = 'running:kernel-shut-down';
26
+ CommandIDs.kernelShutDownUnused = 'running:kernel-shut-down-unused';
26
27
  CommandIDs.showPanel = 'running:show-panel';
27
28
  CommandIDs.showModal = 'running:show-modal';
28
29
  })(CommandIDs || (CommandIDs = {}));
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/kernels.js CHANGED
@@ -1,11 +1,13 @@
1
1
  // Copyright (c) Jupyter Development Team.
2
2
  // Distributed under the terms of the Modified BSD License.
3
+ import { Dialog, showDialog } from '@jupyterlab/apputils';
3
4
  import { PathExt } from '@jupyterlab/coreutils';
4
- import { closeIcon, consoleIcon, jupyterIcon, kernelIcon, notebookIcon } from '@jupyterlab/ui-components';
5
+ import { KernelAPI } from '@jupyterlab/services';
6
+ import { cleaningIcon, closeIcon, CommandToolbarButton, consoleIcon, jupyterIcon, kernelIcon, notebookIcon } from '@jupyterlab/ui-components';
5
7
  import { Throttler } from '@lumino/polling';
6
8
  import { Signal } from '@lumino/signaling';
7
- import { CommandIDs } from '.';
8
9
  import React from 'react';
10
+ import { CommandIDs } from '.';
9
11
  const KERNEL_ITEM_CLASS = 'jp-mod-kernel';
10
12
  const KERNELSPEC_ITEM_CLASS = 'jp-mod-kernelspec';
11
13
  const WIDGET_ITEM_CLASS = 'jp-mod-kernel-widget';
@@ -19,15 +21,61 @@ export async function addKernelRunningSessionManager(managers, translator, app)
19
21
  const { runningChanged, RunningKernel } = Private;
20
22
  const throttler = new Throttler(() => runningChanged.emit(undefined), 100);
21
23
  const trans = translator.load('jupyterlab');
24
+ const shutdownUnusedLabel = trans.__('Shut Down Unused');
25
+ let shutdownUnusedEnabled = false;
26
+ const shutdownUnusedThrottler = new Throttler(checkShutdownUnusedEnabled, 10000);
22
27
  // Throttle signal emissions from the kernel and session managers.
23
- kernels.runningChanged.connect(() => void throttler.invoke());
28
+ kernels.runningChanged.connect(() => {
29
+ void throttler.invoke();
30
+ void shutdownUnusedThrottler.invoke();
31
+ });
24
32
  sessions.runningChanged.connect(() => void throttler.invoke());
25
33
  // Wait until the relevant services are ready.
26
34
  await Promise.all([kernels.ready, kernelspecs.ready, sessions.ready]);
35
+ function getUnusedKernels() {
36
+ // Identifies unused kernels
37
+ return Array.from(kernels.running()).filter(kernel => { var _a; return ((_a = kernel.connections) !== null && _a !== void 0 ? _a : 1) < 1; });
38
+ }
39
+ async function checkShutdownUnusedEnabled() {
40
+ const wasEnabled = shutdownUnusedEnabled;
41
+ shutdownUnusedEnabled = getUnusedKernels().length > 0;
42
+ if (wasEnabled !== shutdownUnusedEnabled) {
43
+ commands.notifyCommandChanged(CommandIDs.kernelShutDownUnused);
44
+ }
45
+ }
46
+ commands.addCommand(CommandIDs.kernelShutDownUnused, {
47
+ label: args => (args.toolbar ? '' : shutdownUnusedLabel),
48
+ icon: args => (args.toolbar ? cleaningIcon : undefined),
49
+ execute: async () => {
50
+ const unusedKernels = getUnusedKernels();
51
+ if (unusedKernels.length === 0) {
52
+ return;
53
+ }
54
+ const confirmed = await showDialog({
55
+ title: shutdownUnusedLabel,
56
+ body: (React.createElement(React.Fragment, null,
57
+ trans.__('Are you sure you want to shut down the following unused kernels?'),
58
+ React.createElement("ul", null, unusedKernels.map(kernel => (React.createElement("li", { key: kernel.id }, trans.__('%1 (%2)', kernel.name, kernel.id.slice(0, 8)))))))),
59
+ buttons: [
60
+ Dialog.cancelButton(),
61
+ Dialog.warnButton({ label: shutdownUnusedLabel })
62
+ ]
63
+ });
64
+ if (confirmed.button.accept) {
65
+ await Promise.allSettled(unusedKernels.map(kernel => KernelAPI.shutdownKernel(kernel.id)));
66
+ await Promise.all([
67
+ kernels.refreshRunning(),
68
+ sessions.refreshRunning()
69
+ ]);
70
+ }
71
+ },
72
+ isEnabled: () => shutdownUnusedEnabled
73
+ });
27
74
  // Add the kernels pane to the running sidebar.
28
75
  managers.add({
29
76
  name: trans.__('Kernels'),
30
- running: () => {
77
+ supportsMultipleViews: true,
78
+ running: (options) => {
31
79
  var _a;
32
80
  const kernelsBySpec = new Map();
33
81
  for (const kernel of kernels.running()) {
@@ -38,10 +86,11 @@ export async function addKernelRunningSessionManager(managers, translator, app)
38
86
  kernel,
39
87
  kernels,
40
88
  sessions,
41
- trans
89
+ trans,
90
+ mode: options.mode
42
91
  }));
43
92
  }
44
- return Array.from(kernelsBySpec.entries()).map(([spec, kernels]) => {
93
+ const treeItems = Array.from(kernelsBySpec.entries()).map(([spec, kernels]) => {
45
94
  var _a;
46
95
  return new Private.KernelSpecItem({
47
96
  name: spec,
@@ -50,13 +99,26 @@ export async function addKernelRunningSessionManager(managers, translator, app)
50
99
  trans
51
100
  });
52
101
  });
102
+ return options.mode === 'tree'
103
+ ? treeItems
104
+ : treeItems
105
+ .map(item => item.children.map(i => { var _a; return (_a = i.children) !== null && _a !== void 0 ? _a : []; }).flat())
106
+ .flat();
53
107
  },
54
108
  shutdownAll: () => kernels.shutdownAll(),
55
109
  refreshRunning: () => Promise.all([kernels.refreshRunning(), sessions.refreshRunning()]),
56
110
  runningChanged,
57
111
  shutdownLabel: trans.__('Shut Down Kernel'),
58
112
  shutdownAllLabel: trans.__('Shut Down All'),
59
- shutdownAllConfirmationText: trans.__('Are you sure you want to permanently shut down all running kernels?')
113
+ shutdownAllConfirmationText: () => trans._n('Are you sure you want to permanently shut down the running kernel?', 'Are you sure you want to permanently shut down the %1 running kernels?', kernels.runningCount),
114
+ toolbarButtons: [
115
+ new CommandToolbarButton({
116
+ commands,
117
+ id: CommandIDs.kernelShutDownUnused,
118
+ caption: shutdownUnusedLabel,
119
+ args: { toolbar: true }
120
+ })
121
+ ]
60
122
  });
61
123
  // Add running kernels commands to the registry.
62
124
  const test = (node) => node.classList.contains(KERNEL_ITEM_CLASS);
@@ -182,6 +244,7 @@ var Private;
182
244
  this.kernels = options.kernels;
183
245
  this.sessions = options.sessions;
184
246
  this.trans = options.trans;
247
+ this._mode = options.mode;
185
248
  }
186
249
  get children() {
187
250
  var _a;
@@ -200,8 +263,21 @@ var Private;
200
263
  : type === 'notebook'
201
264
  ? notebookIcon
202
265
  : jupyterIcon,
203
- label: () => name,
204
- labelTitle: () => path
266
+ label: () => {
267
+ if (this._mode === 'tree') {
268
+ return name;
269
+ }
270
+ const kernelIdPrefix = this.kernel.id.split('-')[0];
271
+ return (React.createElement(React.Fragment, null,
272
+ name,
273
+ ' ',
274
+ React.createElement("span", { className: KERNEL_LABEL_ID },
275
+ "(",
276
+ kernelIdPrefix,
277
+ ")")));
278
+ },
279
+ labelTitle: () => path,
280
+ name: () => name
205
281
  });
206
282
  }
207
283
  }
@@ -243,10 +319,10 @@ var Private;
243
319
  return this.trans.__('No sessions connected');
244
320
  }
245
321
  else if (children.length == 1) {
246
- return children[0].label();
322
+ return children[0].name();
247
323
  }
248
324
  else {
249
- return this.trans.__('%1 and %2 more', children[0].label(), children.length - 1);
325
+ return this.trans.__('%1 and %2 more', children[0].name(), children.length - 1);
250
326
  }
251
327
  }
252
328
  }
@@ -1 +1 @@
1
- {"version":3,"file":"kernels.js","sourceRoot":"","sources":["../src/kernels.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAG3D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAKhD,OAAO,EACL,SAAS,EACT,WAAW,EAEX,WAAW,EACX,UAAU,EAEV,YAAY,EAEb,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;AAC/B,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAC1C,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAClD,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AACjD,MAAM,eAAe,GAAG,yCAAyC,CAAC;AAElE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,QAAiC,EACjC,UAAuB,EACvB,GAAoB;IAEpB,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC;IACtD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;IAC1D,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAE5C,kEAAkE;IAClE,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAE/D,8CAA8C;IAC9C,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAEtE,+CAA+C;IAC/C,QAAQ,CAAC,GAAG,CAAC;QACX,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE;;YACZ,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmC,CAAC;YAEjE,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;gBACtC,MAAM,IAAI,GAAG,MAAA,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC;gBAClD,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrC,IAAI,CAAC,IAAI,CACP,IAAI,aAAa,CAAC;oBAChB,QAAQ;oBACR,MAAM;oBACN,OAAO;oBACP,QAAQ;oBACR,KAAK;iBACN,CAAC,CACH,CAAC;aACH;YAED,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAC5C,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;;gBAClB,OAAA,IAAI,OAAO,CAAC,cAAc,CAAC;oBACzB,IAAI,EAAE,IAAI;oBACV,OAAO;oBACP,IAAI,EAAE,MAAA,WAAW,CAAC,KAAK,0CAAE,WAAW,CAAC,IAAI,CAAC;oBAC1C,KAAK;iBACN,CAAC,CAAA;aAAA,CACL,CAAC;QACJ,CAAC;QACD,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE;QACxC,cAAc,EAAE,GAAG,EAAE,CACnB,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;QACpE,cAAc;QACd,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC;QAC3C,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC;QAC3C,2BAA2B,EAAE,KAAK,CAAC,EAAE,CACnC,qEAAqE,CACtE;KACF,CAAC,CAAC;IAEH,gDAAgD;IAChD,MAAM,IAAI,GAAG,CAAC,IAAiB,EAAE,EAAE,CACjC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7C,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,EAAE;QAC/C,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAAC;QACzC,OAAO,EAAE,IAAI,CAAC,EAAE;;YACd,MAAM,IAAI,GAAG,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,EAAE,GAAG,MAAC,IAAI,CAAC,EAAa,mCAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,EAAE,EAAE;gBACN,OAAO,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;aACzE;QACH,CAAC;KACF,CAAC,CAAC;IACH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,iBAAiB,EAAE;QAChD,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAAC;QAC1C,OAAO,EAAE,IAAI,CAAC,EAAE;;YACd,MAAM,IAAI,GAAG,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,EAAE,GAAG,MAAC,IAAI,CAAC,EAAa,mCAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,EAAE,EAAE;gBACN,OAAO,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;aAClE;QACH,CAAC;KACF,CAAC,CAAC;IACH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,iBAAiB,EAAE;QAChD,IAAI,EAAE,IAAI,CAAC,EAAE,CACX,IAAI,CAAC,IAAI,KAAK,SAAS;YACrB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU;gBAC1B,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,SAAS;QACf,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,SAAS;QAC3D,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CACvB,IAAe;YAChB,OAAO,CAAC,QAAQ,CAAE,IAAe,IAAI,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;QACnE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YAC1B,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;gBAC/B,OAAO;aACR;YACD,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACxE,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC,CAAC;IACH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,EAAE;QAC7C,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC;QACnC,OAAO,EAAE,IAAI,CAAC,EAAE;;YACd,MAAM,IAAI,GAAG,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,EAAE,GAAG,MAAC,IAAI,CAAC,EAAa,mCAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,EAAE,EAAE;gBACN,OAAO,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aAC7B;QACH,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,aAAa,GAA0B,EAAE,CAAC;IAEhD,mEAAmE;IACnE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;;QACpC,MAAM,OAAO,GACX,MAAC,MAAA,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAC1B,IAAI,CAAC,EAAE;;YACL,OAAA,IAAI,CAAC,IAAI,KAAK,SAAS;gBACvB,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,EAAE,MAAK,mCAAmC,CAAA;SAAA,CAC3D,0CAAE,OAAsB,mCAAI,IAAI,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE;YACZ,wDAAwD;YACxD,OAAO;SACR;QAED,wCAAwC;QACxC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,OAAO,CAAC,UAAU,EAAE,CAAC;QAErB,MAAM,IAAI,GAAG,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,EAAE,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE,EAAE;YACP,OAAO;SACR;QAED,+DAA+D;QAC/D,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC;QAC7C,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;YACxC,IAAI,EAAE,MAAK,MAAA,OAAO,CAAC,MAAM,0CAAE,EAAE,CAAA,EAAE;gBAC7B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;gBACrC,aAAa,CAAC,IAAI,CAChB,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CACzD,CAAC;aACH;SACF;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAU,OAAO,CAqKhB;AArKD,WAAU,OAAO;IACf,MAAa,cAAc;QACzB,YAAY,OAAgC;YAC1C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC;YACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;YAChC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;YACjC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC7B,CAAC;QAWD,IAAI;YACF,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBAC5B,OAAO,WAAW,CAAC;aACpB;YACD,OAAO,CACL,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;gBAC1B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAC7B,CAAC;QACJ,CAAC;QAED,KAAK;YACH,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAC7B,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,KAAI,KAAK,CAAC;QACrC,CAAC;QAED,IAAI,QAAQ;YACV,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;KACF;IAtCY,sBAAc,iBAsC1B,CAAA;IAgBD,MAAa,aAAa;QACxB,YAAY,OAA+B;YACzC,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC;YACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YACjC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC7B,CAAC;QAgBD,IAAI,QAAQ;;YACV,MAAM,QAAQ,GAAmC,EAAE,CAAC;YACpD,MAAM,IAAI,GAAG,UAAU,CAAC,iBAAiB,CAAC;YAC1C,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAC1B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE;gBAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,MAAK,MAAA,OAAO,CAAC,MAAM,0CAAE,EAAE,CAAA,EAAE;oBACzC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;oBACrC,QAAQ,CAAC,IAAI,CAAC;wBACZ,SAAS,EAAE,iBAAiB;wBAC5B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;wBACvB,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;wBAC7D,IAAI,EAAE,GAAG,EAAE,CACT,IAAI,KAAK,SAAS;4BAChB,CAAC,CAAC,WAAW;4BACb,CAAC,CAAC,IAAI,KAAK,UAAU;gCACrB,CAAC,CAAC,YAAY;gCACd,CAAC,CAAC,WAAW;wBACjB,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI;wBACjB,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;qBACvB,CAAC,CAAC;iBACJ;aACF;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,QAAQ;YACN,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI;YACF,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,KAAK;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YACxB,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,OAAO,CACL;gBACG,IAAI,CAAC,QAAQ;gBAAE,GAAG;gBACnB,8BAAM,SAAS,EAAE,eAAe;;oBAAI,cAAc;wBAAS,CAC1D,CACJ,CAAC;QACJ,CAAC;QAED,UAAU;;YACR,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YACvB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE;gBAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,MAAK,MAAA,OAAO,CAAC,MAAM,0CAAE,EAAE,CAAA,EAAE;oBACzC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;oBAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;iBAClD;aACF;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAED,IAAY,QAAQ;YAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;aAC/C;iBAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC/B,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;aAC5B;iBAAM;gBACL,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAClB,gBAAgB,EAChB,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EACnB,QAAQ,CAAC,MAAM,GAAG,CAAC,CACpB,CAAC;aACH;QACH,CAAC;KACF;IAhGY,qBAAa,gBAgGzB,CAAA;IAaY,sBAAc,GAAG,IAAI,MAAM,CAAmB,EAAE,CAAC,CAAC;AACjE,CAAC,EArKS,OAAO,KAAP,OAAO,QAqKhB"}
1
+ {"version":3,"file":"kernels.js","sourceRoot":"","sources":["../src/kernels.tsx"],"names":[],"mappings":"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"}
package/lib/opentabs.js CHANGED
@@ -51,6 +51,7 @@ export function addOpenTabsSessionManager(managers, translator, labShell) {
51
51
  const trans = translator.load('jupyterlab');
52
52
  managers.add({
53
53
  name: trans.__('Open Tabs'),
54
+ supportsMultipleViews: false,
54
55
  running: () => {
55
56
  return Array.from(labShell.widgets('main')).map((widget) => {
56
57
  signaler.addWidget(widget);
@@ -1 +1 @@
1
- {"version":3,"file":"opentabs.js","sourceRoot":"","sources":["../src/opentabs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opentabs.js","sourceRoot":"","sources":["../src/opentabs.ts"],"names":[],"mappings":"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"}
package/lib/recents.js CHANGED
@@ -15,6 +15,7 @@ export function addRecentlyClosedSessionManager(managers, recentsManager, comman
15
15
  const trans = translator.load('jupyterlab');
16
16
  managers.add({
17
17
  name: trans.__('Recently Closed'),
18
+ supportsMultipleViews: false,
18
19
  running: () => {
19
20
  return recentsManager.recentlyClosed.map((recent) => {
20
21
  return new RecentItem(recent);
@@ -1 +1 @@
1
- {"version":3,"file":"recents.js","sourceRoot":"","sources":["../src/recents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recents.js","sourceRoot":"","sources":["../src/recents.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/running-extension",
3
- "version": "4.3.0-alpha.2",
3
+ "version": "4.3.0-beta.1",
4
4
  "description": "JupyterLab - Running Sessions Extension",
5
5
  "homepage": "https://github.com/jupyterlab/jupyterlab",
6
6
  "bugs": {
@@ -37,17 +37,17 @@
37
37
  "watch": "tsc -b --watch"
38
38
  },
39
39
  "dependencies": {
40
- "@jupyterlab/application": "^4.3.0-alpha.2",
41
- "@jupyterlab/apputils": "^4.4.0-alpha.2",
42
- "@jupyterlab/coreutils": "^6.3.0-alpha.2",
43
- "@jupyterlab/docmanager": "^4.3.0-alpha.2",
44
- "@jupyterlab/docregistry": "^4.3.0-alpha.2",
45
- "@jupyterlab/rendermime-interfaces": "^3.11.0-alpha.2",
46
- "@jupyterlab/running": "^4.3.0-alpha.2",
47
- "@jupyterlab/services": "^7.3.0-alpha.2",
48
- "@jupyterlab/statedb": "^4.3.0-alpha.2",
49
- "@jupyterlab/translation": "^4.3.0-alpha.2",
50
- "@jupyterlab/ui-components": "^4.3.0-alpha.2",
40
+ "@jupyterlab/application": "^4.3.0-beta.1",
41
+ "@jupyterlab/apputils": "^4.4.0-beta.1",
42
+ "@jupyterlab/coreutils": "^6.3.0-beta.1",
43
+ "@jupyterlab/docmanager": "^4.3.0-beta.1",
44
+ "@jupyterlab/docregistry": "^4.3.0-beta.1",
45
+ "@jupyterlab/rendermime-interfaces": "^3.11.0-beta.1",
46
+ "@jupyterlab/running": "^4.3.0-beta.1",
47
+ "@jupyterlab/services": "^7.3.0-beta.1",
48
+ "@jupyterlab/statedb": "^4.3.0-beta.1",
49
+ "@jupyterlab/translation": "^4.3.0-beta.1",
50
+ "@jupyterlab/ui-components": "^4.3.0-beta.1",
51
51
  "@lumino/commands": "^2.3.0",
52
52
  "@lumino/polling": "^2.1.2",
53
53
  "@lumino/signaling": "^2.1.2",
package/src/index.ts CHANGED
@@ -39,6 +39,7 @@ export namespace CommandIDs {
39
39
  export const kernelNewNotebook = 'running:kernel-new-notebook';
40
40
  export const kernelOpenSession = 'running:kernel-open-session';
41
41
  export const kernelShutDown = 'running:kernel-shut-down';
42
+ export const kernelShutDownUnused = 'running:kernel-shut-down-unused';
42
43
  export const showPanel = 'running:show-panel';
43
44
  export const showModal = 'running:show-modal';
44
45
  }
package/src/kernels.tsx CHANGED
@@ -2,13 +2,16 @@
2
2
  // Distributed under the terms of the Modified BSD License.
3
3
 
4
4
  import { JupyterFrontEnd } from '@jupyterlab/application';
5
+ import { Dialog, showDialog } from '@jupyterlab/apputils';
5
6
  import { PathExt } from '@jupyterlab/coreutils';
6
7
  import { IRenderMime } from '@jupyterlab/rendermime-interfaces';
7
8
  import { IRunningSessionManagers, IRunningSessions } from '@jupyterlab/running';
8
- import { Kernel, KernelSpec, Session } from '@jupyterlab/services';
9
+ import { Kernel, KernelAPI, KernelSpec, Session } from '@jupyterlab/services';
9
10
  import { ITranslator } from '@jupyterlab/translation';
10
11
  import {
12
+ cleaningIcon,
11
13
  closeIcon,
14
+ CommandToolbarButton,
12
15
  consoleIcon,
13
16
  IDisposableMenuItem,
14
17
  jupyterIcon,
@@ -20,8 +23,8 @@ import {
20
23
  import { CommandRegistry } from '@lumino/commands';
21
24
  import { Throttler } from '@lumino/polling';
22
25
  import { Signal } from '@lumino/signaling';
23
- import { CommandIDs } from '.';
24
26
  import React, { ReactNode } from 'react';
27
+ import { CommandIDs } from '.';
25
28
 
26
29
  const KERNEL_ITEM_CLASS = 'jp-mod-kernel';
27
30
  const KERNELSPEC_ITEM_CLASS = 'jp-mod-kernelspec';
@@ -41,18 +44,88 @@ export async function addKernelRunningSessionManager(
41
44
  const { runningChanged, RunningKernel } = Private;
42
45
  const throttler = new Throttler(() => runningChanged.emit(undefined), 100);
43
46
  const trans = translator.load('jupyterlab');
47
+ const shutdownUnusedLabel = trans.__('Shut Down Unused');
48
+ let shutdownUnusedEnabled = false;
49
+ const shutdownUnusedThrottler = new Throttler(
50
+ checkShutdownUnusedEnabled,
51
+ 10000
52
+ );
44
53
 
45
54
  // Throttle signal emissions from the kernel and session managers.
46
- kernels.runningChanged.connect(() => void throttler.invoke());
55
+ kernels.runningChanged.connect(() => {
56
+ void throttler.invoke();
57
+ void shutdownUnusedThrottler.invoke();
58
+ });
47
59
  sessions.runningChanged.connect(() => void throttler.invoke());
48
60
 
49
61
  // Wait until the relevant services are ready.
50
62
  await Promise.all([kernels.ready, kernelspecs.ready, sessions.ready]);
51
63
 
64
+ function getUnusedKernels() {
65
+ // Identifies unused kernels
66
+ return Array.from(kernels.running()).filter(
67
+ kernel => (kernel.connections ?? 1) < 1
68
+ );
69
+ }
70
+
71
+ async function checkShutdownUnusedEnabled() {
72
+ const wasEnabled = shutdownUnusedEnabled;
73
+ shutdownUnusedEnabled = getUnusedKernels().length > 0;
74
+ if (wasEnabled !== shutdownUnusedEnabled) {
75
+ commands.notifyCommandChanged(CommandIDs.kernelShutDownUnused);
76
+ }
77
+ }
78
+
79
+ commands.addCommand(CommandIDs.kernelShutDownUnused, {
80
+ label: args => (args.toolbar ? '' : shutdownUnusedLabel),
81
+ icon: args => (args.toolbar ? cleaningIcon : undefined),
82
+ execute: async () => {
83
+ const unusedKernels = getUnusedKernels();
84
+
85
+ if (unusedKernels.length === 0) {
86
+ return;
87
+ }
88
+
89
+ const confirmed = await showDialog({
90
+ title: shutdownUnusedLabel,
91
+ body: (
92
+ <>
93
+ {trans.__(
94
+ 'Are you sure you want to shut down the following unused kernels?'
95
+ )}
96
+ <ul>
97
+ {unusedKernels.map(kernel => (
98
+ <li key={kernel.id}>
99
+ {trans.__('%1 (%2)', kernel.name, kernel.id.slice(0, 8))}
100
+ </li>
101
+ ))}
102
+ </ul>
103
+ </>
104
+ ),
105
+ buttons: [
106
+ Dialog.cancelButton(),
107
+ Dialog.warnButton({ label: shutdownUnusedLabel })
108
+ ]
109
+ });
110
+
111
+ if (confirmed.button.accept) {
112
+ await Promise.allSettled(
113
+ unusedKernels.map(kernel => KernelAPI.shutdownKernel(kernel.id))
114
+ );
115
+ await Promise.all([
116
+ kernels.refreshRunning(),
117
+ sessions.refreshRunning()
118
+ ]);
119
+ }
120
+ },
121
+ isEnabled: () => shutdownUnusedEnabled
122
+ });
123
+
52
124
  // Add the kernels pane to the running sidebar.
53
125
  managers.add({
54
126
  name: trans.__('Kernels'),
55
- running: () => {
127
+ supportsMultipleViews: true,
128
+ running: (options: { mode: 'tree' | 'list' }) => {
56
129
  const kernelsBySpec = new Map<string, Private.RunningKernel[]>();
57
130
 
58
131
  for (const kernel of kernels.running()) {
@@ -64,12 +137,13 @@ export async function addKernelRunningSessionManager(
64
137
  kernel,
65
138
  kernels,
66
139
  sessions,
67
- trans
140
+ trans,
141
+ mode: options.mode
68
142
  })
69
143
  );
70
144
  }
71
145
 
72
- return Array.from(kernelsBySpec.entries()).map(
146
+ const treeItems = Array.from(kernelsBySpec.entries()).map(
73
147
  ([spec, kernels]) =>
74
148
  new Private.KernelSpecItem({
75
149
  name: spec,
@@ -78,6 +152,11 @@ export async function addKernelRunningSessionManager(
78
152
  trans
79
153
  })
80
154
  );
155
+ return options.mode === 'tree'
156
+ ? treeItems
157
+ : treeItems
158
+ .map(item => item.children.map(i => i.children ?? []).flat())
159
+ .flat();
81
160
  },
82
161
  shutdownAll: () => kernels.shutdownAll(),
83
162
  refreshRunning: () =>
@@ -85,9 +164,20 @@ export async function addKernelRunningSessionManager(
85
164
  runningChanged,
86
165
  shutdownLabel: trans.__('Shut Down Kernel'),
87
166
  shutdownAllLabel: trans.__('Shut Down All'),
88
- shutdownAllConfirmationText: trans.__(
89
- 'Are you sure you want to permanently shut down all running kernels?'
90
- )
167
+ shutdownAllConfirmationText: () =>
168
+ trans._n(
169
+ 'Are you sure you want to permanently shut down the running kernel?',
170
+ 'Are you sure you want to permanently shut down the %1 running kernels?',
171
+ kernels.runningCount
172
+ ),
173
+ toolbarButtons: [
174
+ new CommandToolbarButton({
175
+ commands,
176
+ id: CommandIDs.kernelShutDownUnused,
177
+ caption: shutdownUnusedLabel,
178
+ args: { toolbar: true }
179
+ })
180
+ ]
91
181
  });
92
182
 
93
183
  // Add running kernels commands to the registry.
@@ -221,7 +311,6 @@ namespace Private {
221
311
  const { _name, spec } = this;
222
312
  return spec?.display_name || _name;
223
313
  }
224
-
225
314
  get children(): IRunningSessions.IRunningItem[] {
226
315
  return this._kernels;
227
316
  }
@@ -239,7 +328,7 @@ namespace Private {
239
328
  type DocumentWidgetWithKernelItem = Omit<
240
329
  IRunningSessions.IRunningItem,
241
330
  'label'
242
- > & { label(): string };
331
+ > & { label(): ReactNode; name(): string };
243
332
 
244
333
  export class RunningKernel implements IRunningSessions.IRunningItem {
245
334
  constructor(options: RunningKernel.IOptions) {
@@ -250,6 +339,7 @@ namespace Private {
250
339
  this.kernels = options.kernels;
251
340
  this.sessions = options.sessions;
252
341
  this.trans = options.trans;
342
+ this._mode = options.mode;
253
343
  }
254
344
 
255
345
  readonly className: string;
@@ -283,8 +373,20 @@ namespace Private {
283
373
  : type === 'notebook'
284
374
  ? notebookIcon
285
375
  : jupyterIcon,
286
- label: () => name,
287
- labelTitle: () => path
376
+ label: () => {
377
+ if (this._mode === 'tree') {
378
+ return name;
379
+ }
380
+ const kernelIdPrefix = this.kernel.id.split('-')[0];
381
+ return (
382
+ <>
383
+ {name}{' '}
384
+ <span className={KERNEL_LABEL_ID}>({kernelIdPrefix})</span>
385
+ </>
386
+ );
387
+ },
388
+ labelTitle: () => path,
389
+ name: () => name
288
390
  });
289
391
  }
290
392
  }
@@ -328,15 +430,17 @@ namespace Private {
328
430
  if (children.length === 0) {
329
431
  return this.trans.__('No sessions connected');
330
432
  } else if (children.length == 1) {
331
- return children[0].label();
433
+ return children[0].name();
332
434
  } else {
333
435
  return this.trans.__(
334
436
  '%1 and %2 more',
335
- children[0].label(),
437
+ children[0].name(),
336
438
  children.length - 1
337
439
  );
338
440
  }
339
441
  }
442
+
443
+ private _mode: 'list' | 'tree';
340
444
  }
341
445
 
342
446
  export namespace RunningKernel {
@@ -347,6 +451,7 @@ namespace Private {
347
451
  sessions: Session.IManager;
348
452
  spec?: KernelSpec.ISpecModel;
349
453
  trans: IRenderMime.TranslationBundle;
454
+ mode: 'list' | 'tree';
350
455
  }
351
456
  }
352
457
 
package/src/opentabs.ts CHANGED
@@ -68,6 +68,7 @@ export function addOpenTabsSessionManager(
68
68
 
69
69
  managers.add({
70
70
  name: trans.__('Open Tabs'),
71
+ supportsMultipleViews: false,
71
72
  running: () => {
72
73
  return Array.from(labShell.widgets('main')).map((widget: Widget) => {
73
74
  signaler.addWidget(widget);
package/src/recents.ts CHANGED
@@ -29,6 +29,7 @@ export function addRecentlyClosedSessionManager(
29
29
 
30
30
  managers.add({
31
31
  name: trans.__('Recently Closed'),
32
+ supportsMultipleViews: false,
32
33
  running: () => {
33
34
  return recentsManager.recentlyClosed.map((recent: RecentDocument) => {
34
35
  return new RecentItem(recent);