@difizen/libro-jupyter 0.2.10 → 0.2.12

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.
@@ -11,6 +11,7 @@ export declare class JupyterCodeCellView extends LibroCodeCellView {
11
11
  model: JupyterCodeCellModel;
12
12
  clearExecution: () => void;
13
13
  protected getEditorOption(): CodeEditorViewOptions;
14
+ onViewMount(): Promise<void>;
14
15
  tooltipProvider: TooltipProvider;
15
16
  completionProvider: CompletionProvider;
16
17
  run(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"jupyter-code-cell-view.d.ts","sourceRoot":"","sources":["../../src/cell/jupyter-code-cell-view.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAElB,eAAe,EAEhB,MAAM,4BAA4B,CAAC;AAWpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAkBzE,qBAEa,mBAAoB,SAAQ,iBAAiB;IACxD,UAAkB,OAAO,EAAE,gBAAgB,CAAC;IAE5C,IAAa,MAAM,IAGQ,gBAAgB,CAD1C;IACD,IAAa,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAG1C;IAEQ,IAAI,2FAA4B;IACjC,KAAK,EAAE,oBAAoB,CAAC;IAE3B,cAAc,aAQrB;cAEiB,eAAe,IAAI,qBAAqB;IAe3D,eAAe,EAAE,eAAe,CAqB9B;IAEF,kBAAkB,EAAE,kBAAkB,CA8BpC;IAEa,GAAG;CA8EnB"}
1
+ {"version":3,"file":"jupyter-code-cell-view.d.ts","sourceRoot":"","sources":["../../src/cell/jupyter-code-cell-view.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAElB,eAAe,EAEhB,MAAM,4BAA4B,CAAC;AAYpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAkBzE,qBAEa,mBAAoB,SAAQ,iBAAiB;IACxD,UAAkB,OAAO,EAAE,gBAAgB,CAAC;IAE5C,IAAa,MAAM,IAGQ,gBAAgB,CAD1C;IACD,IAAa,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAG1C;IAEQ,IAAI,2FAA4B;IACjC,KAAK,EAAE,oBAAoB,CAAC;IAE3B,cAAc,aAQrB;cAEiB,eAAe,IAAI,qBAAqB;IAe5C,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB3C,eAAe,EAAE,eAAe,CAqB9B;IAEF,kBAAkB,EAAE,kBAAkB,CA8BpC;IAEa,GAAG;CA8EnB"}
@@ -176,24 +176,58 @@ export var JupyterCodeCellView = (_dec = transient(), _dec2 = view('jupyter-code
176
176
  });
177
177
  }
178
178
  }, {
179
- key: "run",
179
+ key: "onViewMount",
180
180
  value: function () {
181
- var _run = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
182
- var libroModel, kernelConnection, cellContent, cellModel, future, startTimeStr, msgPromise, endTimeStr;
181
+ var _onViewMount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
182
+ var _this2 = this;
183
+ var kcReady, kernelConnection;
183
184
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
184
185
  while (1) switch (_context3.prev = _context3.next) {
186
+ case 0:
187
+ _get(_getPrototypeOf(JupyterCodeCellView.prototype), "onViewMount", this).call(this);
188
+ kcReady = getOrigin(this.parent.model.kcReady);
189
+ _context3.next = 4;
190
+ return kcReady;
191
+ case 4:
192
+ kernelConnection = _context3.sent;
193
+ // kernel重启后,清除执行状态,输出不变
194
+ kernelConnection === null || kernelConnection === void 0 || kernelConnection.statusChanged(function (e) {
195
+ var terminateStatus = ['autorestarting', 'starting', 'restarting'];
196
+ if (terminateStatus.includes(e)) {
197
+ _this2.model.clearExecution();
198
+ _this2.model.executing = false;
199
+ }
200
+ });
201
+ case 6:
202
+ case "end":
203
+ return _context3.stop();
204
+ }
205
+ }, _callee3, this);
206
+ }));
207
+ function onViewMount() {
208
+ return _onViewMount.apply(this, arguments);
209
+ }
210
+ return onViewMount;
211
+ }()
212
+ }, {
213
+ key: "run",
214
+ value: function () {
215
+ var _run = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
216
+ var libroModel, kernelConnection, cellContent, cellModel, future, startTimeStr, msgPromise, endTimeStr;
217
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
218
+ while (1) switch (_context4.prev = _context4.next) {
185
219
  case 0:
186
220
  libroModel = this.parent.model;
187
221
  if (!(!libroModel || !(libroModel instanceof LibroJupyterModel) || !libroModel.kernelConnection || libroModel.kernelConnection.isDisposed)) {
188
- _context3.next = 3;
222
+ _context4.next = 3;
189
223
  break;
190
224
  }
191
- return _context3.abrupt("return", false);
225
+ return _context4.abrupt("return", false);
192
226
  case 3:
193
227
  kernelConnection = getOrigin(libroModel.kernelConnection);
194
228
  cellContent = this.model.source;
195
229
  cellModel = this.model;
196
- _context3.prev = 6;
230
+ _context4.prev = 6;
197
231
  // if (this.outputArea instanceof LibroOutputArea)
198
232
  // this.outputArea.lastOutputContainerHeight =
199
233
  // this.outputArea.container?.current?.clientHeight;
@@ -225,10 +259,10 @@ export var JupyterCodeCellView = (_dec = transient(), _dec2 = view('jupyter-code
225
259
  future.onReply = function (msg) {
226
260
  cellModel.msgChangeEmitter.fire(msg);
227
261
  };
228
- _context3.next = 15;
262
+ _context4.next = 15;
229
263
  return future.done;
230
264
  case 15:
231
- msgPromise = _context3.sent;
265
+ msgPromise = _context4.sent;
232
266
  cellModel.executing = false;
233
267
  cellModel.kernelExecuting = false;
234
268
  startTimeStr = msgPromise.metadata['started'];
@@ -236,36 +270,36 @@ export var JupyterCodeCellView = (_dec = transient(), _dec2 = view('jupyter-code
236
270
  cellModel.metadata.execution['shell.execute_reply.started'] = startTimeStr;
237
271
  cellModel.metadata.execution['shell.execute_reply.end'] = endTimeStr;
238
272
  if (msgPromise) {
239
- _context3.next = 24;
273
+ _context4.next = 24;
240
274
  break;
241
275
  }
242
- return _context3.abrupt("return", true);
276
+ return _context4.abrupt("return", true);
243
277
  case 24:
244
278
  if (!(msgPromise.content.status === 'ok')) {
245
- _context3.next = 28;
279
+ _context4.next = 28;
246
280
  break;
247
281
  }
248
- return _context3.abrupt("return", true);
282
+ return _context4.abrupt("return", true);
249
283
  case 28:
250
284
  throw new KernelError(msgPromise.content);
251
285
  case 29:
252
- _context3.next = 36;
286
+ _context4.next = 36;
253
287
  break;
254
288
  case 31:
255
- _context3.prev = 31;
256
- _context3.t0 = _context3["catch"](6);
257
- if (!_context3.t0.message.startsWith('Canceled')) {
258
- _context3.next = 35;
289
+ _context4.prev = 31;
290
+ _context4.t0 = _context4["catch"](6);
291
+ if (!_context4.t0.message.startsWith('Canceled')) {
292
+ _context4.next = 35;
259
293
  break;
260
294
  }
261
- return _context3.abrupt("return", false);
295
+ return _context4.abrupt("return", false);
262
296
  case 35:
263
- throw _context3.t0;
297
+ throw _context4.t0;
264
298
  case 36:
265
299
  case "end":
266
- return _context3.stop();
300
+ return _context4.stop();
267
301
  }
268
- }, _callee3, this, [[6, 31]]);
302
+ }, _callee4, this, [[6, 31]]);
269
303
  }));
270
304
  function run() {
271
305
  return _run.apply(this, arguments);
@@ -1,11 +1,9 @@
1
1
  import { ServerManager, ServerConnection } from '@difizen/libro-kernel';
2
- import { ApplicationContribution } from '@difizen/mana-app';
3
2
  import { ServerLaunchManager } from './libro-jupyter-protocol.js';
4
- export declare class JupyterServerLaunchManager implements ServerLaunchManager, ApplicationContribution {
3
+ export declare class JupyterServerLaunchManager implements ServerLaunchManager {
5
4
  protected serverManager: ServerManager;
6
5
  protected serverConnection: ServerConnection;
7
6
  constructor(serverManager: ServerManager, serverConnection: ServerConnection);
8
- onStart(): Promise<void>;
9
7
  launch(): Promise<import("@difizen/libro-kernel").ISpecModels>;
10
8
  }
11
9
  //# sourceMappingURL=libro-jupyter-server-launch-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"libro-jupyter-server-launch-manager.d.ts","sourceRoot":"","sources":["../src/libro-jupyter-server-launch-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,qBACa,0BACX,YAAW,mBAAmB,EAAE,uBAAuB;IAEvD,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;gBAI3C,aAAa,EAAE,aAAa,EAE5B,gBAAgB,EAAE,gBAAgB;IAM9B,OAAO;IASb,MAAM;CAGP"}
1
+ {"version":3,"file":"libro-jupyter-server-launch-manager.d.ts","sourceRoot":"","sources":["../src/libro-jupyter-server-launch-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,qBACa,0BAA2B,YAAW,mBAAmB;IACpE,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;gBAI3C,aAAa,EAAE,aAAa,EAE5B,gBAAgB,EAAE,gBAAgB;IAMpC,MAAM;CAGP"}
@@ -1,8 +1,5 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
2
  var _dec, _class;
3
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
4
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
5
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
6
3
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7
4
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
8
5
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
@@ -10,10 +7,9 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
10
7
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
11
8
  import { ServerManager, ServerConnection } from '@difizen/libro-kernel';
12
9
  import { inject, singleton } from '@difizen/mana-app';
13
- import { ApplicationContribution } from '@difizen/mana-app';
14
10
  import { ServerLaunchManager } from "./libro-jupyter-protocol.js";
15
11
  export var JupyterServerLaunchManager = (_dec = singleton({
16
- contrib: [ServerLaunchManager, ApplicationContribution]
12
+ contrib: [ServerLaunchManager]
17
13
  }), _dec(_class = /*#__PURE__*/function () {
18
14
  function JupyterServerLaunchManager(serverManager, serverConnection) {
19
15
  _classCallCheck(this, JupyterServerLaunchManager);
@@ -25,31 +21,6 @@ export var JupyterServerLaunchManager = (_dec = singleton({
25
21
  JupyterServerLaunchManager = inject(ServerConnection)(JupyterServerLaunchManager, undefined, 1) || JupyterServerLaunchManager;
26
22
  JupyterServerLaunchManager = inject(ServerManager)(JupyterServerLaunchManager, undefined, 0) || JupyterServerLaunchManager;
27
23
  _createClass(JupyterServerLaunchManager, [{
28
- key: "onStart",
29
- value: function () {
30
- var _onStart = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
31
- var host;
32
- return _regeneratorRuntime().wrap(function _callee$(_context) {
33
- while (1) switch (_context.prev = _context.next) {
34
- case 0:
35
- host = location.host;
36
- this.serverConnection.updateSettings({
37
- baseUrl: "http://".concat(host),
38
- wsUrl: "ws://".concat(host)
39
- });
40
- this.launch();
41
- case 3:
42
- case "end":
43
- return _context.stop();
44
- }
45
- }, _callee, this);
46
- }));
47
- function onStart() {
48
- return _onStart.apply(this, arguments);
49
- }
50
- return onStart;
51
- }()
52
- }, {
53
24
  key: "launch",
54
25
  value: function launch() {
55
26
  return this.serverManager.launch();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@difizen/libro-jupyter",
3
- "version": "0.2.10",
3
+ "version": "0.2.12",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "libro"
@@ -31,22 +31,22 @@
31
31
  "src"
32
32
  ],
33
33
  "dependencies": {
34
- "@difizen/libro-cofine-editor": "^0.2.10",
35
- "@difizen/libro-code-editor": "^0.2.10",
36
- "@difizen/libro-code-cell": "^0.2.10",
37
- "@difizen/libro-codemirror": "^0.2.10",
38
- "@difizen/libro-rendermime": "^0.2.10",
39
- "@difizen/libro-common": "^0.2.10",
40
- "@difizen/libro-core": "^0.2.10",
41
- "@difizen/libro-kernel": "^0.2.10",
42
- "@difizen/libro-l10n": "^0.2.10",
43
- "@difizen/libro-output": "^0.2.10",
44
- "@difizen/libro-search": "^0.2.10",
45
- "@difizen/libro-search-code-cell": "^0.2.10",
46
- "@difizen/libro-lsp": "^0.2.10",
47
- "@difizen/libro-markdown-cell": "^0.2.10",
48
- "@difizen/libro-raw-cell": "^0.2.10",
49
- "@difizen/libro-language-client": "^0.2.10",
34
+ "@difizen/libro-cofine-editor": "^0.2.12",
35
+ "@difizen/libro-code-editor": "^0.2.12",
36
+ "@difizen/libro-code-cell": "^0.2.12",
37
+ "@difizen/libro-codemirror": "^0.2.12",
38
+ "@difizen/libro-rendermime": "^0.2.12",
39
+ "@difizen/libro-common": "^0.2.12",
40
+ "@difizen/libro-core": "^0.2.12",
41
+ "@difizen/libro-kernel": "^0.2.12",
42
+ "@difizen/libro-l10n": "^0.2.12",
43
+ "@difizen/libro-output": "^0.2.12",
44
+ "@difizen/libro-search": "^0.2.12",
45
+ "@difizen/libro-search-code-cell": "^0.2.12",
46
+ "@difizen/libro-lsp": "^0.2.12",
47
+ "@difizen/libro-markdown-cell": "^0.2.12",
48
+ "@difizen/libro-raw-cell": "^0.2.12",
49
+ "@difizen/libro-language-client": "^0.2.12",
50
50
  "@difizen/mana-app": "latest",
51
51
  "@difizen/mana-l10n": "latest",
52
52
  "@ant-design/colors": "^7.0.0",
@@ -6,6 +6,7 @@ import type {
6
6
  TooltipProvider,
7
7
  TooltipProviderOption,
8
8
  } from '@difizen/libro-code-editor';
9
+ import type { KernelMessage } from '@difizen/libro-kernel';
9
10
  import { KernelError } from '@difizen/libro-kernel';
10
11
  import { getCellURI } from '@difizen/libro-language-client';
11
12
  import { transient } from '@difizen/mana-app';
@@ -77,6 +78,24 @@ export class JupyterCodeCellView extends LibroCodeCellView {
77
78
  };
78
79
  }
79
80
 
81
+ override async onViewMount(): Promise<void> {
82
+ super.onViewMount();
83
+ const kcReady = getOrigin((this.parent.model as LibroJupyterModel).kcReady);
84
+ const kernelConnection = await kcReady;
85
+ // kernel重启后,清除执行状态,输出不变
86
+ kernelConnection?.statusChanged((e) => {
87
+ const terminateStatus: KernelMessage.Status[] = [
88
+ 'autorestarting',
89
+ 'starting',
90
+ 'restarting',
91
+ ];
92
+ if (terminateStatus.includes(e)) {
93
+ this.model.clearExecution();
94
+ this.model.executing = false;
95
+ }
96
+ });
97
+ }
98
+
80
99
  tooltipProvider: TooltipProvider = async (option: TooltipProviderOption) => {
81
100
  const cellContent = this.model.value;
82
101
  const kernelConnection = getOrigin(
@@ -1,13 +1,10 @@
1
1
  import { ServerManager, ServerConnection } from '@difizen/libro-kernel';
2
2
  import { inject, singleton } from '@difizen/mana-app';
3
- import { ApplicationContribution } from '@difizen/mana-app';
4
3
 
5
4
  import { ServerLaunchManager } from './libro-jupyter-protocol.js';
6
5
 
7
- @singleton({ contrib: [ServerLaunchManager, ApplicationContribution] })
8
- export class JupyterServerLaunchManager
9
- implements ServerLaunchManager, ApplicationContribution
10
- {
6
+ @singleton({ contrib: [ServerLaunchManager] })
7
+ export class JupyterServerLaunchManager implements ServerLaunchManager {
11
8
  protected serverManager: ServerManager;
12
9
  protected serverConnection: ServerConnection;
13
10
 
@@ -21,15 +18,6 @@ export class JupyterServerLaunchManager
21
18
  this.serverConnection = serverConnection;
22
19
  }
23
20
 
24
- async onStart() {
25
- const host = location.host;
26
- this.serverConnection.updateSettings({
27
- baseUrl: `http://${host}`,
28
- wsUrl: `ws://${host}`,
29
- });
30
- this.launch();
31
- }
32
-
33
21
  launch() {
34
22
  return this.serverManager.launch();
35
23
  }