@opensumi/ide-extension 3.8.3-next-1741917543.0 → 3.8.3-next-1741920696.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/worker-host.js +265 -52
  2. package/package.json +35 -35
@@ -50897,9 +50897,10 @@ exports["default"] = warningOnce;
50897
50897
  * Where possible, operations execute without creating a new Buffer and copying everything over.
50898
50898
  */
50899
50899
  Object.defineProperty(exports, "__esModule", ({ value: true }));
50900
- exports.Cursor = exports.Buffers = exports.emptyBuffer = void 0;
50900
+ exports.Cursor = exports.Buffers = exports.buffer4Capacity = exports.emptyBuffer = void 0;
50901
50901
  exports.copy = copy;
50902
50902
  exports.emptyBuffer = new Uint8Array(0);
50903
+ exports.buffer4Capacity = new Uint8Array(4);
50903
50904
  function copy(source, target, targetStart, sourceStart, sourceEnd) {
50904
50905
  target.set(source.subarray(sourceStart, sourceEnd), targetStart);
50905
50906
  }
@@ -50949,6 +50950,31 @@ class Buffers {
50949
50950
  }
50950
50951
  return target;
50951
50952
  }
50953
+ slice4(start) {
50954
+ let end = start + 4;
50955
+ const buffers = this.buffers;
50956
+ if (end > this.size) {
50957
+ end = this.size;
50958
+ }
50959
+ if (start >= end) {
50960
+ return exports.emptyBuffer;
50961
+ }
50962
+ let startBytes = 0;
50963
+ let si = 0;
50964
+ for (; si < buffers.length && startBytes + buffers[si].length <= start; si++) {
50965
+ startBytes += buffers[si].length;
50966
+ }
50967
+ const target = exports.buffer4Capacity;
50968
+ let ti = 0;
50969
+ for (let ii = si; ti < end - start && ii < buffers.length; ii++) {
50970
+ const len = buffers[ii].length;
50971
+ const _start = ti === 0 ? start - startBytes : 0;
50972
+ const _end = ti + len >= end - start ? Math.min(_start + (end - start) - ti, len) : len;
50973
+ copy(buffers[ii], target, ti, _start, _end);
50974
+ ti += _end - _start;
50975
+ }
50976
+ return target;
50977
+ }
50952
50978
  pos(i) {
50953
50979
  if (i < 0 || i >= this.size) {
50954
50980
  throw new Error(`out of range, ${i} not in [0, ${this.size})`);
@@ -51120,6 +51146,11 @@ class Cursor {
51120
51146
  this.skip(n);
51121
51147
  return buffers;
51122
51148
  }
51149
+ read4() {
51150
+ const buffers = this.buffers.slice4(this.offset);
51151
+ this.skip(4);
51152
+ return buffers;
51153
+ }
51123
51154
  skip(n) {
51124
51155
  let count = 0;
51125
51156
  while (this.chunkIndex < this.buffers.buffers.length) {
@@ -51422,6 +51453,7 @@ exports.BaseConnection = BaseConnection;
51422
51453
 
51423
51454
  Object.defineProperty(exports, "__esModule", ({ value: true }));
51424
51455
  exports.LengthFieldBasedFrameDecoder = exports.indicator = void 0;
51456
+ /* eslint-disable no-console */
51425
51457
  const writer_1 = __webpack_require__(/*! @furyjs/fury/dist/lib/writer */ "../../node_modules/@furyjs/fury/dist/lib/writer.js");
51426
51458
  const ide_core_common_1 = __webpack_require__(/*! @opensumi/ide-core-common */ "../core-common/lib/index.js");
51427
51459
  const buffers_1 = __webpack_require__(/*! ../../buffers/buffers */ "../connection/lib/common/buffers/buffers.js");
@@ -51429,26 +51461,33 @@ const buffers_1 = __webpack_require__(/*! ../../buffers/buffers */ "../connectio
51429
51461
  * You can use `Buffer.from('\r\n\r\n')` to get this indicator.
51430
51462
  */
51431
51463
  exports.indicator = new Uint8Array([0x0d, 0x0a, 0x0d, 0x0a]);
51464
+ /**
51465
+ * The number of bytes in the length field.
51466
+ *
51467
+ * How many bytes are used to represent data length.
51468
+ *
51469
+ * For example, if the length field is 4 bytes, then the maximum length of the data is 2^32 = 4GB
51470
+ */
51471
+ const lengthFieldLength = 4;
51432
51472
  /**
51433
51473
  * sticky packet unpacking problems are generally problems at the transport layer.
51434
51474
  * we use a length field to represent the length of the data, and then read the data according to the length
51435
51475
  */
51436
51476
  class LengthFieldBasedFrameDecoder {
51437
51477
  constructor() {
51438
- this.dataEmitter = new ide_core_common_1.Emitter();
51439
- this.onData = this.dataEmitter.event;
51440
51478
  this.buffers = new buffers_1.Buffers();
51441
51479
  this.cursor = this.buffers.cursor();
51480
+ this.processingPromise = null;
51442
51481
  this.contentLength = -1;
51443
51482
  this.state = 0;
51444
- /**
51445
- * The number of bytes in the length field.
51446
- *
51447
- * How many bytes are used to represent data length.
51448
- *
51449
- * For example, if the length field is 4 bytes, then the maximum length of the data is 2^32 = 4GB
51450
- */
51451
- this.lengthFieldLength = 4;
51483
+ }
51484
+ onData(listener) {
51485
+ this._onDataListener = listener;
51486
+ return {
51487
+ dispose: () => {
51488
+ this._onDataListener = null;
51489
+ },
51490
+ };
51452
51491
  }
51453
51492
  reset() {
51454
51493
  this.contentLength = -1;
@@ -51457,30 +51496,70 @@ class LengthFieldBasedFrameDecoder {
51457
51496
  }
51458
51497
  push(chunk) {
51459
51498
  this.buffers.push(chunk);
51460
- let done = false;
51461
- while (!done) {
51462
- done = this.readFrame();
51499
+ // 确保同一时间只有一个处理过程
51500
+ if (!this.processingPromise) {
51501
+ this.processingPromise = this.processBuffers().finally(() => {
51502
+ this.processingPromise = null;
51503
+ });
51463
51504
  }
51464
51505
  }
51465
- readFrame() {
51466
- const found = this.readLengthField();
51467
- if (found) {
51506
+ async processBuffers() {
51507
+ let iterations = 0;
51508
+ let hasMoreData = false;
51509
+ do {
51510
+ hasMoreData = false;
51511
+ while (iterations < LengthFieldBasedFrameDecoder.MAX_ITERATIONS) {
51512
+ if (this.buffers.byteLength === 0) {
51513
+ break;
51514
+ }
51515
+ const result = await this.readFrame();
51516
+ if (result === true) {
51517
+ break;
51518
+ }
51519
+ iterations++;
51520
+ if (iterations % 10 === 0) {
51521
+ await new Promise((resolve) => setTimeout(resolve, 0));
51522
+ }
51523
+ }
51524
+ // 检查剩余数据
51525
+ if (this.buffers.byteLength > 0) {
51526
+ hasMoreData = true;
51527
+ // 异步继续处理,避免阻塞
51528
+ await new Promise((resolve) => (0, ide_core_common_1.setImmediate)(resolve));
51529
+ iterations = 0; // 重置迭代计数器
51530
+ }
51531
+ } while (hasMoreData);
51532
+ }
51533
+ async readFrame() {
51534
+ try {
51535
+ const found = this.readLengthField();
51536
+ if (!found) {
51537
+ return true;
51538
+ }
51468
51539
  const start = this.cursor.offset;
51469
51540
  const end = start + this.contentLength;
51470
- const binary = this.buffers.slice(start, end);
51471
- this.dataEmitter.fire(binary);
51472
- if (this.buffers.byteLength > end) {
51473
- this.contentLength = -1;
51474
- this.state = 0;
51475
- this.cursor.moveTo(end);
51476
- // has more data, continue to parse
51477
- return false;
51541
+ if (end > this.buffers.byteLength) {
51542
+ return true;
51478
51543
  }
51479
- // delete used buffers
51544
+ const binary = this.buffers.slice(start, end);
51545
+ // 立即清理已处理的数据
51480
51546
  this.buffers.splice(0, end);
51481
51547
  this.reset();
51548
+ if (this._onDataListener) {
51549
+ try {
51550
+ await Promise.resolve().then(() => { var _a; return (_a = this._onDataListener) === null || _a === void 0 ? void 0 : _a.call(this, binary); });
51551
+ }
51552
+ catch (error) {
51553
+ console.error('[Frame Decoder] Error in data listener:', error);
51554
+ }
51555
+ }
51556
+ return false;
51557
+ }
51558
+ catch (error) {
51559
+ console.error('[Frame Decoder] Error processing frame:', error);
51560
+ this.reset();
51561
+ return true;
51482
51562
  }
51483
- return true;
51484
51563
  }
51485
51564
  readLengthField() {
51486
51565
  const bufferLength = this.buffers.byteLength;
@@ -51496,12 +51575,12 @@ class LengthFieldBasedFrameDecoder {
51496
51575
  return false;
51497
51576
  }
51498
51577
  if (this.contentLength === -1) {
51499
- if (this.cursor.offset + this.lengthFieldLength > bufferLength) {
51578
+ if (this.cursor.offset + lengthFieldLength > bufferLength) {
51500
51579
  // Not enough data yet, wait for more data
51501
51580
  return false;
51502
51581
  }
51503
51582
  // read the content length
51504
- const buf = this.cursor.read(this.lengthFieldLength);
51583
+ const buf = this.cursor.read4();
51505
51584
  // fury writer use little endian
51506
51585
  this.contentLength = (0, ide_core_common_1.readUInt32LE)(buf, 0);
51507
51586
  }
@@ -51516,12 +51595,12 @@ class LengthFieldBasedFrameDecoder {
51516
51595
  let result = iter.next();
51517
51596
  while (!result.done) {
51518
51597
  switch (result.value) {
51519
- case 0x0d:
51598
+ case 0x0d: // \r
51520
51599
  switch (this.state) {
51521
51600
  case 0:
51522
51601
  this.state = 1;
51523
51602
  break;
51524
- case 2:
51603
+ case 2: // 第二个 \r
51525
51604
  this.state = 3;
51526
51605
  break;
51527
51606
  default:
@@ -51529,12 +51608,12 @@ class LengthFieldBasedFrameDecoder {
51529
51608
  break;
51530
51609
  }
51531
51610
  break;
51532
- case 0x0a:
51611
+ case 0x0a: // \n
51533
51612
  switch (this.state) {
51534
51613
  case 1:
51535
51614
  this.state = 2;
51536
51615
  break;
51537
- case 3:
51616
+ case 3: // 第二个 \n
51538
51617
  this.state = 4;
51539
51618
  iter.return();
51540
51619
  break;
@@ -51551,19 +51630,27 @@ class LengthFieldBasedFrameDecoder {
51551
51630
  }
51552
51631
  }
51553
51632
  dispose() {
51554
- this.dataEmitter.dispose();
51633
+ this._onDataListener = null;
51555
51634
  this.buffers.dispose();
51635
+ this.reset();
51556
51636
  }
51557
51637
  static construct(content) {
51558
- LengthFieldBasedFrameDecoder.writer.reset();
51559
- LengthFieldBasedFrameDecoder.writer.buffer(exports.indicator);
51560
- LengthFieldBasedFrameDecoder.writer.uint32(content.byteLength);
51561
- LengthFieldBasedFrameDecoder.writer.buffer(content);
51562
- return LengthFieldBasedFrameDecoder.writer.dump();
51638
+ // 每次都创建新的 writer,避免所有权问题
51639
+ const writer = (0, writer_1.BinaryWriter)({});
51640
+ try {
51641
+ writer.buffer(exports.indicator);
51642
+ writer.uint32(content.byteLength);
51643
+ writer.buffer(content);
51644
+ return writer;
51645
+ }
51646
+ catch (error) {
51647
+ console.warn('[Frame Decoder] Error constructing frame:', error);
51648
+ throw error;
51649
+ }
51563
51650
  }
51564
51651
  }
51565
51652
  exports.LengthFieldBasedFrameDecoder = LengthFieldBasedFrameDecoder;
51566
- LengthFieldBasedFrameDecoder.writer = (0, writer_1.BinaryWriter)({});
51653
+ LengthFieldBasedFrameDecoder.MAX_ITERATIONS = 50;
51567
51654
  //# sourceMappingURL=frame-decoder.js.map
51568
51655
 
51569
51656
  /***/ }),
@@ -51742,10 +51829,17 @@ class StreamConnection extends base_1.BaseConnection {
51742
51829
  });
51743
51830
  }
51744
51831
  send(data) {
51745
- const result = frame_decoder_1.LengthFieldBasedFrameDecoder.construct(data);
51746
- this.writable.write(result, () => {
51747
- // TODO: logger error
51748
- });
51832
+ const handle = frame_decoder_1.LengthFieldBasedFrameDecoder.construct(data).dumpAndOwn();
51833
+ try {
51834
+ this.writable.write(handle.get(), (error) => {
51835
+ if (error) {
51836
+ console.error('Failed to write data:', error);
51837
+ }
51838
+ });
51839
+ }
51840
+ finally {
51841
+ handle.dispose();
51842
+ }
51749
51843
  }
51750
51844
  onMessage(cb) {
51751
51845
  return this.decoder.onData(cb);
@@ -51814,22 +51908,84 @@ exports.StreamConnection = StreamConnection;
51814
51908
 
51815
51909
  Object.defineProperty(exports, "__esModule", ({ value: true }));
51816
51910
  exports.WSWebSocketConnection = void 0;
51911
+ const constants_1 = __webpack_require__(/*! ../../constants */ "../connection/lib/common/constants.js");
51817
51912
  const base_1 = __webpack_require__(/*! ./base */ "../connection/lib/common/connection/drivers/base.js");
51913
+ const frame_decoder_1 = __webpack_require__(/*! ./frame-decoder */ "../connection/lib/common/connection/drivers/frame-decoder.js");
51818
51914
  class WSWebSocketConnection extends base_1.BaseConnection {
51819
51915
  constructor(socket) {
51820
51916
  super();
51821
51917
  this.socket = socket;
51918
+ this.decoder = new frame_decoder_1.LengthFieldBasedFrameDecoder();
51919
+ this.sendQueue = [];
51920
+ this.pendingSize = 0;
51921
+ this.sending = false;
51922
+ this.socket.on('message', (data) => {
51923
+ this.decoder.push(data);
51924
+ });
51925
+ }
51926
+ async processSendQueue() {
51927
+ if (this.sending) {
51928
+ return;
51929
+ }
51930
+ this.sending = true;
51931
+ while (this.sendQueue.length > 0) {
51932
+ const { data, resolve, reject } = this.sendQueue[0];
51933
+ let handle = null;
51934
+ try {
51935
+ handle = frame_decoder_1.LengthFieldBasedFrameDecoder.construct(data).dumpAndOwn();
51936
+ const packet = handle.get();
51937
+ for (let i = 0; i < packet.byteLength; i += constants_1.chunkSize) {
51938
+ if (!this.isOpen()) {
51939
+ throw new Error('Connection closed while sending');
51940
+ }
51941
+ await new Promise((resolve, reject) => {
51942
+ const chunk = packet.subarray(i, Math.min(i + constants_1.chunkSize, packet.byteLength));
51943
+ this.socket.send(chunk, { binary: true }, (error) => {
51944
+ if (error) {
51945
+ reject(error);
51946
+ }
51947
+ else {
51948
+ resolve();
51949
+ }
51950
+ });
51951
+ });
51952
+ }
51953
+ resolve();
51954
+ }
51955
+ catch (error) {
51956
+ reject(error instanceof Error ? error : new Error(String(error)));
51957
+ }
51958
+ finally {
51959
+ if (handle) {
51960
+ try {
51961
+ handle.dispose();
51962
+ }
51963
+ catch (error) {
51964
+ console.warn('[WSWebSocket] Error disposing handle:', error);
51965
+ }
51966
+ }
51967
+ this.pendingSize -= this.sendQueue[0].data.byteLength;
51968
+ this.sendQueue.shift();
51969
+ }
51970
+ }
51971
+ this.sending = false;
51822
51972
  }
51823
51973
  send(data) {
51824
- this.socket.send(data);
51974
+ return new Promise((resolve, reject) => {
51975
+ // 检查队列大小限制
51976
+ if (this.sendQueue.length >= WSWebSocketConnection.MAX_QUEUE_SIZE) {
51977
+ reject(new Error('Send queue full'));
51978
+ return;
51979
+ }
51980
+ this.pendingSize += data.byteLength;
51981
+ this.sendQueue.push({ data, resolve, reject });
51982
+ this.processSendQueue().catch((error) => {
51983
+ console.error('[WSWebSocket] Error processing queue:', error);
51984
+ });
51985
+ });
51825
51986
  }
51826
51987
  onMessage(cb) {
51827
- this.socket.on('message', cb);
51828
- return {
51829
- dispose: () => {
51830
- this.socket.off('message', cb);
51831
- },
51832
- };
51988
+ return this.decoder.onData(cb);
51833
51989
  }
51834
51990
  onceClose(cb) {
51835
51991
  this.socket.once('close', cb);
@@ -51844,9 +52000,17 @@ class WSWebSocketConnection extends base_1.BaseConnection {
51844
52000
  }
51845
52001
  dispose() {
51846
52002
  this.socket.removeAllListeners();
52003
+ // 拒绝所有待发送的消息
52004
+ while (this.sendQueue.length > 0) {
52005
+ const { reject } = this.sendQueue.shift();
52006
+ reject(new Error('Connection disposed'));
52007
+ }
52008
+ this.pendingSize = 0;
52009
+ this.sending = false;
51847
52010
  }
51848
52011
  }
51849
52012
  exports.WSWebSocketConnection = WSWebSocketConnection;
52013
+ WSWebSocketConnection.MAX_QUEUE_SIZE = 1000; // 限制队列长度
51850
52014
  //# sourceMappingURL=ws-websocket.js.map
51851
52015
 
51852
52016
  /***/ }),
@@ -51875,8 +52039,12 @@ tslib_1.__exportStar(__webpack_require__(/*! ./drivers */ "../connection/lib/com
51875
52039
  "use strict";
51876
52040
 
51877
52041
  Object.defineProperty(exports, "__esModule", ({ value: true }));
51878
- exports.METHOD_NOT_REGISTERED = void 0;
52042
+ exports.chunkSize = exports.METHOD_NOT_REGISTERED = void 0;
51879
52043
  exports.METHOD_NOT_REGISTERED = '$$METHOD_NOT_REGISTERED';
52044
+ /**
52045
+ * 分片大小, 1MB
52046
+ */
52047
+ exports.chunkSize = 1 * 1024 * 1024;
51880
52048
  //# sourceMappingURL=constants.js.map
51881
52049
 
51882
52050
  /***/ }),
@@ -52133,6 +52301,9 @@ const oneOf = (schemas, context) => {
52133
52301
  case 7:
52134
52302
  v = serializers[7].read();
52135
52303
  break;
52304
+ default: {
52305
+ throw new Error('unknown index: ' + idx);
52306
+ }
52136
52307
  }
52137
52308
  v.kind = kinds[idx];
52138
52309
  return v;
@@ -62216,6 +62387,47 @@ exports.chartsPurple = (0, utils_1.registerColor)('charts.purple', { dark: '#B18
62216
62387
 
62217
62388
  /***/ }),
62218
62389
 
62390
+ /***/ "../theme/lib/common/color-tokens/chatColors.js":
62391
+ /*!******************************************************!*\
62392
+ !*** ../theme/lib/common/color-tokens/chatColors.js ***!
62393
+ \******************************************************/
62394
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
62395
+
62396
+ "use strict";
62397
+
62398
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
62399
+ exports.chatEditedFileForeground = exports.chatAvatarForeground = exports.chatAvatarBackground = exports.chatSlashCommandForeground = exports.chatSlashCommandBackground = exports.chatRequestBackground = exports.chatRequestBorder = void 0;
62400
+ const color_1 = __webpack_require__(/*! ../color */ "../theme/lib/common/color.js");
62401
+ const utils_1 = __webpack_require__(/*! ../utils */ "../theme/lib/common/utils.js");
62402
+ const badge_1 = __webpack_require__(/*! ./badge */ "../theme/lib/common/color-tokens/badge.js");
62403
+ const base_1 = __webpack_require__(/*! ./base */ "../theme/lib/common/color-tokens/base.js");
62404
+ const editor_1 = __webpack_require__(/*! ./editor */ "../theme/lib/common/color-tokens/editor.js");
62405
+ exports.chatRequestBorder = (0, utils_1.registerColor)('chat.requestBorder', {
62406
+ dark: new color_1.Color(new color_1.RGBA(255, 255, 255, 0.1)),
62407
+ light: new color_1.Color(new color_1.RGBA(0, 0, 0, 0.1)),
62408
+ hcDark: base_1.contrastBorder,
62409
+ hcLight: base_1.contrastBorder,
62410
+ }, 'The border color of a chat request.');
62411
+ exports.chatRequestBackground = (0, utils_1.registerColor)('chat.requestBackground', {
62412
+ dark: (0, utils_1.transparent)(editor_1.editorBackground, 0.62),
62413
+ light: (0, utils_1.transparent)(editor_1.editorBackground, 0.62),
62414
+ hcDark: editor_1.editorWidgetBackground,
62415
+ hcLight: null,
62416
+ }, 'The background color of a chat request.');
62417
+ exports.chatSlashCommandBackground = (0, utils_1.registerColor)('chat.slashCommandBackground', { dark: '#34414b8f', light: '#d2ecff99', hcDark: color_1.Color.white, hcLight: badge_1.badgeBackground }, 'The background color of a chat slash command.');
62418
+ exports.chatSlashCommandForeground = (0, utils_1.registerColor)('chat.slashCommandForeground', { dark: '#40A6FF', light: '#306CA2', hcDark: color_1.Color.black, hcLight: badge_1.badgeForeground }, 'The foreground color of a chat slash command.');
62419
+ exports.chatAvatarBackground = (0, utils_1.registerColor)('chat.avatarBackground', { dark: '#1f1f1f', light: '#f2f2f2', hcDark: color_1.Color.black, hcLight: color_1.Color.white }, 'The background color of a chat avatar.');
62420
+ exports.chatAvatarForeground = (0, utils_1.registerColor)('chat.avatarForeground', { dark: base_1.foreground, light: base_1.foreground, hcDark: base_1.foreground, hcLight: base_1.foreground }, 'The foreground color of a chat avatar.');
62421
+ exports.chatEditedFileForeground = (0, utils_1.registerColor)('chat.editedFileForeground', {
62422
+ light: '#895503',
62423
+ dark: '#E2C08D',
62424
+ hcDark: '#E2C08D',
62425
+ hcLight: '#895503',
62426
+ }, 'The foreground color of a chat edited file in the edited file list.');
62427
+ //# sourceMappingURL=chatColors.js.map
62428
+
62429
+ /***/ }),
62430
+
62219
62431
  /***/ "../theme/lib/common/color-tokens/checkbox.js":
62220
62432
  /*!****************************************************!*\
62221
62433
  !*** ../theme/lib/common/color-tokens/checkbox.js ***!
@@ -64039,6 +64251,7 @@ tslib_1.__exportStar(__webpack_require__(/*! ./minimap */ "../theme/lib/common/c
64039
64251
  tslib_1.__exportStar(__webpack_require__(/*! ./testing */ "../theme/lib/common/color-tokens/testing.js"), exports);
64040
64252
  tslib_1.__exportStar(__webpack_require__(/*! ./design */ "../theme/lib/common/color-tokens/design.js"), exports);
64041
64253
  tslib_1.__exportStar(__webpack_require__(/*! ./ai-native */ "../theme/lib/common/color-tokens/ai-native.js"), exports);
64254
+ tslib_1.__exportStar(__webpack_require__(/*! ./chatColors */ "../theme/lib/common/color-tokens/chatColors.js"), exports);
64042
64255
  tslib_1.__exportStar(__webpack_require__(/*! ./custom */ "../theme/lib/common/color-tokens/custom/index.js"), exports);
64043
64256
  //# sourceMappingURL=index.js.map
64044
64257
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-extension",
3
- "version": "3.8.3-next-1741917543.0",
3
+ "version": "3.8.3-next-1741920696.0",
4
4
  "files": [
5
5
  "lib",
6
6
  "hosted"
@@ -23,18 +23,18 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "@opensumi/events": "^1.0.0",
26
- "@opensumi/ide-connection": "3.8.3-next-1741917543.0",
27
- "@opensumi/ide-core-browser": "3.8.3-next-1741917543.0",
28
- "@opensumi/ide-core-node": "3.8.3-next-1741917543.0",
29
- "@opensumi/ide-debug": "3.8.3-next-1741917543.0",
30
- "@opensumi/ide-file-search": "3.8.3-next-1741917543.0",
31
- "@opensumi/ide-file-service": "3.8.3-next-1741917543.0",
32
- "@opensumi/ide-logs": "3.8.3-next-1741917543.0",
33
- "@opensumi/ide-markdown": "3.8.3-next-1741917543.0",
34
- "@opensumi/ide-task": "3.8.3-next-1741917543.0",
35
- "@opensumi/ide-terminal-next": "3.8.3-next-1741917543.0",
36
- "@opensumi/ide-utils": "3.8.3-next-1741917543.0",
37
- "@opensumi/ide-webview": "3.8.3-next-1741917543.0",
26
+ "@opensumi/ide-connection": "3.8.3-next-1741920696.0",
27
+ "@opensumi/ide-core-browser": "3.8.3-next-1741920696.0",
28
+ "@opensumi/ide-core-node": "3.8.3-next-1741920696.0",
29
+ "@opensumi/ide-debug": "3.8.3-next-1741920696.0",
30
+ "@opensumi/ide-file-search": "3.8.3-next-1741920696.0",
31
+ "@opensumi/ide-file-service": "3.8.3-next-1741920696.0",
32
+ "@opensumi/ide-logs": "3.8.3-next-1741920696.0",
33
+ "@opensumi/ide-markdown": "3.8.3-next-1741920696.0",
34
+ "@opensumi/ide-task": "3.8.3-next-1741920696.0",
35
+ "@opensumi/ide-terminal-next": "3.8.3-next-1741920696.0",
36
+ "@opensumi/ide-utils": "3.8.3-next-1741920696.0",
37
+ "@opensumi/ide-webview": "3.8.3-next-1741920696.0",
38
38
  "address": "^1.1.2",
39
39
  "glob-to-regexp": "0.4.1",
40
40
  "is-running": "^2.1.0",
@@ -45,28 +45,28 @@
45
45
  "v8-inspect-profiler": "^0.1.1"
46
46
  },
47
47
  "devDependencies": {
48
- "@opensumi/ide-ai-native": "3.8.3-next-1741917543.0",
49
- "@opensumi/ide-comments": "3.8.3-next-1741917543.0",
50
- "@opensumi/ide-components": "3.8.3-next-1741917543.0",
48
+ "@opensumi/ide-ai-native": "3.8.3-next-1741920696.0",
49
+ "@opensumi/ide-comments": "3.8.3-next-1741920696.0",
50
+ "@opensumi/ide-components": "3.8.3-next-1741920696.0",
51
51
  "@opensumi/ide-core-browser": "workspace:*",
52
- "@opensumi/ide-core-common": "3.8.3-next-1741917543.0",
53
- "@opensumi/ide-decoration": "3.8.3-next-1741917543.0",
54
- "@opensumi/ide-dev-tool": "3.8.3-next-1741917543.0",
55
- "@opensumi/ide-editor": "3.8.3-next-1741917543.0",
56
- "@opensumi/ide-extension-storage": "3.8.3-next-1741917543.0",
57
- "@opensumi/ide-file-tree-next": "3.8.3-next-1741917543.0",
58
- "@opensumi/ide-i18n": "3.8.3-next-1741917543.0",
59
- "@opensumi/ide-main-layout": "3.8.3-next-1741917543.0",
60
- "@opensumi/ide-monaco": "3.8.3-next-1741917543.0",
61
- "@opensumi/ide-output": "3.8.3-next-1741917543.0",
62
- "@opensumi/ide-overlay": "3.8.3-next-1741917543.0",
63
- "@opensumi/ide-quick-open": "3.8.3-next-1741917543.0",
64
- "@opensumi/ide-scm": "3.8.3-next-1741917543.0",
65
- "@opensumi/ide-testing": "3.8.3-next-1741917543.0",
66
- "@opensumi/ide-theme": "3.8.3-next-1741917543.0",
67
- "@opensumi/ide-toolbar": "3.8.3-next-1741917543.0",
68
- "@opensumi/ide-workspace": "3.8.3-next-1741917543.0",
69
- "@opensumi/ide-workspace-edit": "3.8.3-next-1741917543.0"
52
+ "@opensumi/ide-core-common": "3.8.3-next-1741920696.0",
53
+ "@opensumi/ide-decoration": "3.8.3-next-1741920696.0",
54
+ "@opensumi/ide-dev-tool": "3.8.3-next-1741920696.0",
55
+ "@opensumi/ide-editor": "3.8.3-next-1741920696.0",
56
+ "@opensumi/ide-extension-storage": "3.8.3-next-1741920696.0",
57
+ "@opensumi/ide-file-tree-next": "3.8.3-next-1741920696.0",
58
+ "@opensumi/ide-i18n": "3.8.3-next-1741920696.0",
59
+ "@opensumi/ide-main-layout": "3.8.3-next-1741920696.0",
60
+ "@opensumi/ide-monaco": "3.8.3-next-1741920696.0",
61
+ "@opensumi/ide-output": "3.8.3-next-1741920696.0",
62
+ "@opensumi/ide-overlay": "3.8.3-next-1741920696.0",
63
+ "@opensumi/ide-quick-open": "3.8.3-next-1741920696.0",
64
+ "@opensumi/ide-scm": "3.8.3-next-1741920696.0",
65
+ "@opensumi/ide-testing": "3.8.3-next-1741920696.0",
66
+ "@opensumi/ide-theme": "3.8.3-next-1741920696.0",
67
+ "@opensumi/ide-toolbar": "3.8.3-next-1741920696.0",
68
+ "@opensumi/ide-workspace": "3.8.3-next-1741920696.0",
69
+ "@opensumi/ide-workspace-edit": "3.8.3-next-1741920696.0"
70
70
  },
71
- "gitHead": "34335cefe1cc3f2c0e65bcf3dcb97ba5b2280300"
71
+ "gitHead": "82ddf9af7acbcc85ea154022753c8c060b6f84ce"
72
72
  }