cline 1.0.0 → 1.0.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/cline-core.js CHANGED
@@ -18703,13 +18703,13 @@ var init_lib = __esm({
18703
18703
  editLength++;
18704
18704
  }
18705
18705
  if (callback) {
18706
- (function exec4() {
18706
+ (function exec5() {
18707
18707
  setTimeout(function() {
18708
18708
  if (editLength > maxEditLength || Date.now() > abortAfterTimestamp) {
18709
18709
  return callback();
18710
18710
  }
18711
18711
  if (!execEditLength()) {
18712
- exec4();
18712
+ exec5();
18713
18713
  }
18714
18714
  }, 0);
18715
18715
  })();
@@ -57523,6 +57523,30 @@ var init_state = __esm({
57523
57523
  responseStream: false,
57524
57524
  options: {}
57525
57525
  },
57526
+ updateCliBannerVersion: {
57527
+ name: "updateCliBannerVersion",
57528
+ requestType: Int64Request,
57529
+ requestStream: false,
57530
+ responseType: Empty,
57531
+ responseStream: false,
57532
+ options: {}
57533
+ },
57534
+ installClineCli: {
57535
+ name: "installClineCli",
57536
+ requestType: EmptyRequest,
57537
+ requestStream: false,
57538
+ responseType: Empty,
57539
+ responseStream: false,
57540
+ options: {}
57541
+ },
57542
+ checkCliInstallation: {
57543
+ name: "checkCliInstallation",
57544
+ requestType: EmptyRequest,
57545
+ requestStream: false,
57546
+ responseType: Boolean2,
57547
+ responseStream: false,
57548
+ options: {}
57549
+ },
57526
57550
  getProcessInfo: {
57527
57551
  name: "getProcessInfo",
57528
57552
  requestType: EmptyRequest,
@@ -113355,7 +113379,7 @@ var require_promisify = __commonJS({
113355
113379
  util6.toFastProperties(obj2);
113356
113380
  return obj2;
113357
113381
  }
113358
- function promisify9(callback, receiver, multiArgs) {
113382
+ function promisify10(callback, receiver, multiArgs) {
113359
113383
  return makeNodePromisified(
113360
113384
  callback,
113361
113385
  receiver,
@@ -113375,7 +113399,7 @@ var require_promisify = __commonJS({
113375
113399
  options = Object(options);
113376
113400
  var receiver = options.context === void 0 ? THIS : options.context;
113377
113401
  var multiArgs = !!options.multiArgs;
113378
- var ret2 = promisify9(fn, receiver, multiArgs);
113402
+ var ret2 = promisify10(fn, receiver, multiArgs);
113379
113403
  util6.copyDescriptors(fn, ret2, propsFilter);
113380
113404
  return ret2;
113381
113405
  };
@@ -220427,9 +220451,9 @@ var require_pdf_worker = __commonJS({
220427
220451
  /***/
220428
220452
  function(module3, exports3, __w_pdfjs_require__) {
220429
220453
  "use strict";
220430
- module3.exports = function(exec4) {
220454
+ module3.exports = function(exec5) {
220431
220455
  try {
220432
- return !!exec4();
220456
+ return !!exec5();
220433
220457
  } catch (e4) {
220434
220458
  return true;
220435
220459
  }
@@ -222751,7 +222775,7 @@ var require_pdf_worker = __commonJS({
222751
222775
  });
222752
222776
  } catch (e4) {
222753
222777
  }
222754
- module3.exports = function(exec4, skipClosing) {
222778
+ module3.exports = function(exec5, skipClosing) {
222755
222779
  if (!skipClosing && !SAFE_CLOSING) return false;
222756
222780
  var safe = false;
222757
222781
  try {
@@ -222763,7 +222787,7 @@ var require_pdf_worker = __commonJS({
222763
222787
  arr[ITERATOR] = function() {
222764
222788
  return iter2;
222765
222789
  };
222766
- exec4(arr);
222790
+ exec5(arr);
222767
222791
  } catch (e4) {
222768
222792
  }
222769
222793
  return safe;
@@ -227931,11 +227955,11 @@ var require_pdf_worker = __commonJS({
227931
227955
  /***/
227932
227956
  function(module3, exports3, __w_pdfjs_require__) {
227933
227957
  "use strict";
227934
- module3.exports = function(exec4) {
227958
+ module3.exports = function(exec5) {
227935
227959
  try {
227936
227960
  return {
227937
227961
  e: false,
227938
- v: exec4()
227962
+ v: exec5()
227939
227963
  };
227940
227964
  } catch (e4) {
227941
227965
  return {
@@ -244601,8 +244625,8 @@ var require_pdf_worker = __commonJS({
244601
244625
  var USE_NATIVE = !!function() {
244602
244626
  try {
244603
244627
  var promise = $Promise.resolve(1);
244604
- var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(4)("species")] = function(exec4) {
244605
- exec4(empty2, empty2);
244628
+ var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(4)("species")] = function(exec5) {
244629
+ exec5(empty2, empty2);
244606
244630
  };
244607
244631
  return (isNode5 || typeof PromiseRejectionEvent == "function") && promise.then(empty2) instanceof FakePromise && v8.indexOf("6.6") !== 0 && userAgent.indexOf("Chrome/66") === -1;
244608
244632
  } catch (e4) {
@@ -263449,9 +263473,9 @@ var require_pdf = __commonJS({
263449
263473
  /***/
263450
263474
  function(module3, exports3, __w_pdfjs_require__) {
263451
263475
  "use strict";
263452
- module3.exports = function(exec4) {
263476
+ module3.exports = function(exec5) {
263453
263477
  try {
263454
- return !!exec4();
263478
+ return !!exec5();
263455
263479
  } catch (e4) {
263456
263480
  return true;
263457
263481
  }
@@ -264213,7 +264237,7 @@ var require_pdf = __commonJS({
264213
264237
  });
264214
264238
  } catch (e4) {
264215
264239
  }
264216
- module3.exports = function(exec4, skipClosing) {
264240
+ module3.exports = function(exec5, skipClosing) {
264217
264241
  if (!skipClosing && !SAFE_CLOSING) return false;
264218
264242
  var safe = false;
264219
264243
  try {
@@ -264225,7 +264249,7 @@ var require_pdf = __commonJS({
264225
264249
  arr[ITERATOR] = function() {
264226
264250
  return iter2;
264227
264251
  };
264228
- exec4(arr);
264252
+ exec5(arr);
264229
264253
  } catch (e4) {
264230
264254
  }
264231
264255
  return safe;
@@ -264908,11 +264932,11 @@ var require_pdf = __commonJS({
264908
264932
  /***/
264909
264933
  function(module3, exports3, __w_pdfjs_require__) {
264910
264934
  "use strict";
264911
- module3.exports = function(exec4) {
264935
+ module3.exports = function(exec5) {
264912
264936
  try {
264913
264937
  return {
264914
264938
  e: false,
264915
- v: exec4()
264939
+ v: exec5()
264916
264940
  };
264917
264941
  } catch (e4) {
264918
264942
  return {
@@ -271645,8 +271669,8 @@ var require_pdf = __commonJS({
271645
271669
  var USE_NATIVE = !!function() {
271646
271670
  try {
271647
271671
  var promise = $Promise.resolve(1);
271648
- var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(3)("species")] = function(exec4) {
271649
- exec4(empty2, empty2);
271672
+ var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(3)("species")] = function(exec5) {
271673
+ exec5(empty2, empty2);
271650
271674
  };
271651
271675
  return (isNode5 || typeof PromiseRejectionEvent == "function") && promise.then(empty2) instanceof FakePromise && v8.indexOf("6.6") !== 0 && userAgent.indexOf("Chrome/66") === -1;
271652
271676
  } catch (e4) {
@@ -282646,9 +282670,9 @@ var require_pdf_worker2 = __commonJS({
282646
282670
  /***/
282647
282671
  function(module3, exports3, __w_pdfjs_require__) {
282648
282672
  "use strict";
282649
- module3.exports = function(exec4) {
282673
+ module3.exports = function(exec5) {
282650
282674
  try {
282651
- return !!exec4();
282675
+ return !!exec5();
282652
282676
  } catch (e4) {
282653
282677
  return true;
282654
282678
  }
@@ -284961,7 +284985,7 @@ var require_pdf_worker2 = __commonJS({
284961
284985
  });
284962
284986
  } catch (e4) {
284963
284987
  }
284964
- module3.exports = function(exec4, skipClosing) {
284988
+ module3.exports = function(exec5, skipClosing) {
284965
284989
  if (!skipClosing && !SAFE_CLOSING) return false;
284966
284990
  var safe = false;
284967
284991
  try {
@@ -284973,7 +284997,7 @@ var require_pdf_worker2 = __commonJS({
284973
284997
  arr[ITERATOR] = function() {
284974
284998
  return iter2;
284975
284999
  };
284976
- exec4(arr);
285000
+ exec5(arr);
284977
285001
  } catch (e4) {
284978
285002
  }
284979
285003
  return safe;
@@ -290137,11 +290161,11 @@ var require_pdf_worker2 = __commonJS({
290137
290161
  /***/
290138
290162
  function(module3, exports3, __w_pdfjs_require__) {
290139
290163
  "use strict";
290140
- module3.exports = function(exec4) {
290164
+ module3.exports = function(exec5) {
290141
290165
  try {
290142
290166
  return {
290143
290167
  e: false,
290144
- v: exec4()
290168
+ v: exec5()
290145
290169
  };
290146
290170
  } catch (e4) {
290147
290171
  return {
@@ -306815,8 +306839,8 @@ var require_pdf_worker2 = __commonJS({
306815
306839
  var USE_NATIVE = !!function() {
306816
306840
  try {
306817
306841
  var promise = $Promise.resolve(1);
306818
- var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(4)("species")] = function(exec4) {
306819
- exec4(empty2, empty2);
306842
+ var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(4)("species")] = function(exec5) {
306843
+ exec5(empty2, empty2);
306820
306844
  };
306821
306845
  return (isNode5 || typeof PromiseRejectionEvent == "function") && promise.then(empty2) instanceof FakePromise;
306822
306846
  } catch (e4) {
@@ -325662,9 +325686,9 @@ var require_pdf2 = __commonJS({
325662
325686
  /***/
325663
325687
  function(module3, exports3, __w_pdfjs_require__) {
325664
325688
  "use strict";
325665
- module3.exports = function(exec4) {
325689
+ module3.exports = function(exec5) {
325666
325690
  try {
325667
- return !!exec4();
325691
+ return !!exec5();
325668
325692
  } catch (e4) {
325669
325693
  return true;
325670
325694
  }
@@ -326540,7 +326564,7 @@ var require_pdf2 = __commonJS({
326540
326564
  });
326541
326565
  } catch (e4) {
326542
326566
  }
326543
- module3.exports = function(exec4, skipClosing) {
326567
+ module3.exports = function(exec5, skipClosing) {
326544
326568
  if (!skipClosing && !SAFE_CLOSING) return false;
326545
326569
  var safe = false;
326546
326570
  try {
@@ -326552,7 +326576,7 @@ var require_pdf2 = __commonJS({
326552
326576
  arr[ITERATOR] = function() {
326553
326577
  return iter2;
326554
326578
  };
326555
- exec4(arr);
326579
+ exec5(arr);
326556
326580
  } catch (e4) {
326557
326581
  }
326558
326582
  return safe;
@@ -327231,11 +327255,11 @@ var require_pdf2 = __commonJS({
327231
327255
  /***/
327232
327256
  function(module3, exports3, __w_pdfjs_require__) {
327233
327257
  "use strict";
327234
- module3.exports = function(exec4) {
327258
+ module3.exports = function(exec5) {
327235
327259
  try {
327236
327260
  return {
327237
327261
  e: false,
327238
- v: exec4()
327262
+ v: exec5()
327239
327263
  };
327240
327264
  } catch (e4) {
327241
327265
  return {
@@ -333963,8 +333987,8 @@ var require_pdf2 = __commonJS({
333963
333987
  var USE_NATIVE = !!function() {
333964
333988
  try {
333965
333989
  var promise = $Promise.resolve(1);
333966
- var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(3)("species")] = function(exec4) {
333967
- exec4(empty2, empty2);
333990
+ var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(3)("species")] = function(exec5) {
333991
+ exec5(empty2, empty2);
333968
333992
  };
333969
333993
  return (isNode5 || typeof PromiseRejectionEvent == "function") && promise.then(empty2) instanceof FakePromise;
333970
333994
  } catch (e4) {
@@ -398433,9 +398457,9 @@ var require_pdf_worker4 = __commonJS({
398433
398457
  /***/
398434
398458
  function(module3, exports3, __w_pdfjs_require__) {
398435
398459
  "use strict";
398436
- module3.exports = function(exec4) {
398460
+ module3.exports = function(exec5) {
398437
398461
  try {
398438
- return !!exec4();
398462
+ return !!exec5();
398439
398463
  } catch (e4) {
398440
398464
  return true;
398441
398465
  }
@@ -399312,8 +399336,8 @@ var require_pdf_worker4 = __commonJS({
399312
399336
  var USE_NATIVE = !!function() {
399313
399337
  try {
399314
399338
  var promise = $Promise.resolve(1);
399315
- var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(29)("species")] = function(exec4) {
399316
- exec4(empty2, empty2);
399339
+ var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(29)("species")] = function(exec5) {
399340
+ exec5(empty2, empty2);
399317
399341
  };
399318
399342
  return (isNode5 || typeof PromiseRejectionEvent == "function") && promise.then(empty2) instanceof FakePromise && v8.indexOf("6.6") !== 0 && userAgent.indexOf("Chrome/66") === -1;
399319
399343
  } catch (e4) {
@@ -399840,11 +399864,11 @@ var require_pdf_worker4 = __commonJS({
399840
399864
  /***/
399841
399865
  function(module3, exports3, __w_pdfjs_require__) {
399842
399866
  "use strict";
399843
- module3.exports = function(exec4) {
399867
+ module3.exports = function(exec5) {
399844
399868
  try {
399845
399869
  return {
399846
399870
  e: false,
399847
- v: exec4()
399871
+ v: exec5()
399848
399872
  };
399849
399873
  } catch (e4) {
399850
399874
  return {
@@ -399924,7 +399948,7 @@ var require_pdf_worker4 = __commonJS({
399924
399948
  });
399925
399949
  } catch (e4) {
399926
399950
  }
399927
- module3.exports = function(exec4, skipClosing) {
399951
+ module3.exports = function(exec5, skipClosing) {
399928
399952
  if (!skipClosing && !SAFE_CLOSING) return false;
399929
399953
  var safe = false;
399930
399954
  try {
@@ -399936,7 +399960,7 @@ var require_pdf_worker4 = __commonJS({
399936
399960
  arr[ITERATOR] = function() {
399937
399961
  return iter2;
399938
399962
  };
399939
- exec4(arr);
399963
+ exec5(arr);
399940
399964
  } catch (e4) {
399941
399965
  }
399942
399966
  return safe;
@@ -441816,9 +441840,9 @@ var require_pdf4 = __commonJS({
441816
441840
  /***/
441817
441841
  function(module3, exports3, __w_pdfjs_require__) {
441818
441842
  "use strict";
441819
- module3.exports = function(exec4) {
441843
+ module3.exports = function(exec5) {
441820
441844
  try {
441821
- return !!exec4();
441845
+ return !!exec5();
441822
441846
  } catch (e4) {
441823
441847
  return true;
441824
441848
  }
@@ -442695,8 +442719,8 @@ var require_pdf4 = __commonJS({
442695
442719
  var USE_NATIVE = !!function() {
442696
442720
  try {
442697
442721
  var promise = $Promise.resolve(1);
442698
- var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(28)("species")] = function(exec4) {
442699
- exec4(empty2, empty2);
442722
+ var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(28)("species")] = function(exec5) {
442723
+ exec5(empty2, empty2);
442700
442724
  };
442701
442725
  return (isNode5 || typeof PromiseRejectionEvent == "function") && promise.then(empty2) instanceof FakePromise && v8.indexOf("6.6") !== 0 && userAgent.indexOf("Chrome/66") === -1;
442702
442726
  } catch (e4) {
@@ -443223,11 +443247,11 @@ var require_pdf4 = __commonJS({
443223
443247
  /***/
443224
443248
  function(module3, exports3, __w_pdfjs_require__) {
443225
443249
  "use strict";
443226
- module3.exports = function(exec4) {
443250
+ module3.exports = function(exec5) {
443227
443251
  try {
443228
443252
  return {
443229
443253
  e: false,
443230
- v: exec4()
443254
+ v: exec5()
443231
443255
  };
443232
443256
  } catch (e4) {
443233
443257
  return {
@@ -443307,7 +443331,7 @@ var require_pdf4 = __commonJS({
443307
443331
  });
443308
443332
  } catch (e4) {
443309
443333
  }
443310
- module3.exports = function(exec4, skipClosing) {
443334
+ module3.exports = function(exec5, skipClosing) {
443311
443335
  if (!skipClosing && !SAFE_CLOSING) return false;
443312
443336
  var safe = false;
443313
443337
  try {
@@ -443319,7 +443343,7 @@ var require_pdf4 = __commonJS({
443319
443343
  arr[ITERATOR] = function() {
443320
443344
  return iter2;
443321
443345
  };
443322
- exec4(arr);
443346
+ exec5(arr);
443323
443347
  } catch (e4) {
443324
443348
  }
443325
443349
  return safe;
@@ -498776,8 +498800,8 @@ var require_dist_cjs51 = __commonJS({
498776
498800
  module2.exports = __toCommonJS3(index_exports);
498777
498801
  var import_shared_ini_file_loader = require_dist_cjs32();
498778
498802
  var import_property_provider2 = require_dist_cjs21();
498779
- var import_child_process10 = require("child_process");
498780
- var import_util75 = require("util");
498803
+ var import_child_process11 = require("child_process");
498804
+ var import_util76 = require("util");
498781
498805
  var import_client5 = (init_client(), __toCommonJS(client_exports));
498782
498806
  var getValidatedProcessCredentials = /* @__PURE__ */ __name((profileName, data2, profiles) => {
498783
498807
  if (data2.Version !== 1) {
@@ -498813,7 +498837,7 @@ var require_dist_cjs51 = __commonJS({
498813
498837
  if (profiles[profileName]) {
498814
498838
  const credentialProcess = profile["credential_process"];
498815
498839
  if (credentialProcess !== void 0) {
498816
- const execPromise = (0, import_util75.promisify)(import_child_process10.exec);
498840
+ const execPromise = (0, import_util76.promisify)(import_child_process11.exec);
498817
498841
  try {
498818
498842
  const { stdout } = await execPromise(credentialProcess);
498819
498843
  let data2;
@@ -508117,7 +508141,7 @@ var name2, version4, publisher;
508117
508141
  var init_package2 = __esm({
508118
508142
  "package.json"() {
508119
508143
  name2 = "claude-dev";
508120
- version4 = "3.32.8";
508144
+ version4 = "3.33.1";
508121
508145
  publisher = "saoudrizwan";
508122
508146
  }
508123
508147
  });
@@ -531304,10 +531328,13 @@ var init_testing = __esm({
531304
531328
  function createBaseGetWorkspacePathsResponse() {
531305
531329
  return { id: void 0, paths: [] };
531306
531330
  }
531331
+ function createBaseExecuteCommandInTerminalRequest() {
531332
+ return { command: "" };
531333
+ }
531307
531334
  function isSet18(value) {
531308
531335
  return value !== null && value !== void 0;
531309
531336
  }
531310
- var GetWorkspacePathsResponse;
531337
+ var GetWorkspacePathsResponse, ExecuteCommandInTerminalRequest;
531311
531338
  var init_workspace2 = __esm({
531312
531339
  "src/shared/proto/host/workspace.ts"() {
531313
531340
  "use strict";
@@ -531378,6 +531405,54 @@ var init_workspace2 = __esm({
531378
531405
  return message;
531379
531406
  }
531380
531407
  };
531408
+ ExecuteCommandInTerminalRequest = {
531409
+ encode(message, writer = new BinaryWriter()) {
531410
+ if (message.command !== "") {
531411
+ writer.uint32(10).string(message.command);
531412
+ }
531413
+ return writer;
531414
+ },
531415
+ decode(input, length) {
531416
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
531417
+ let end2 = length === void 0 ? reader.len : reader.pos + length;
531418
+ const message = createBaseExecuteCommandInTerminalRequest();
531419
+ while (reader.pos < end2) {
531420
+ const tag = reader.uint32();
531421
+ switch (tag >>> 3) {
531422
+ case 1: {
531423
+ if (tag !== 10) {
531424
+ break;
531425
+ }
531426
+ message.command = reader.string();
531427
+ continue;
531428
+ }
531429
+ }
531430
+ if ((tag & 7) === 4 || tag === 0) {
531431
+ break;
531432
+ }
531433
+ reader.skip(tag & 7);
531434
+ }
531435
+ return message;
531436
+ },
531437
+ fromJSON(object2) {
531438
+ return { command: isSet18(object2.command) ? globalThis.String(object2.command) : "" };
531439
+ },
531440
+ toJSON(message) {
531441
+ const obj2 = {};
531442
+ if (message.command !== "") {
531443
+ obj2.command = message.command;
531444
+ }
531445
+ return obj2;
531446
+ },
531447
+ create(base) {
531448
+ return ExecuteCommandInTerminalRequest.fromPartial(base ?? {});
531449
+ },
531450
+ fromPartial(object2) {
531451
+ const message = createBaseExecuteCommandInTerminalRequest();
531452
+ message.command = object2.command ?? "";
531453
+ return message;
531454
+ }
531455
+ };
531381
531456
  }
531382
531457
  });
531383
531458
 
@@ -531688,6 +531763,7 @@ async function readGlobalStateFromDisk(context3) {
531688
531763
  const dictationSettings = context3.globalState.get("dictationSettings");
531689
531764
  const lastDismissedInfoBannerVersion = context3.globalState.get("lastDismissedInfoBannerVersion");
531690
531765
  const lastDismissedModelBannerVersion = context3.globalState.get("lastDismissedModelBannerVersion");
531766
+ const lastDismissedCliBannerVersion = context3.globalState.get("lastDismissedCliBannerVersion");
531691
531767
  const qwenCodeOauthPath = context3.globalState.get("qwenCodeOauthPath");
531692
531768
  const customPrompt = context3.globalState.get("customPrompt");
531693
531769
  const autoCondenseThreshold = context3.globalState.get("autoCondenseThreshold");
@@ -531945,6 +532021,7 @@ async function readGlobalStateFromDisk(context3) {
531945
532021
  subagentsEnabled: subagentsEnabled ?? false,
531946
532022
  lastDismissedInfoBannerVersion: lastDismissedInfoBannerVersion ?? 0,
531947
532023
  lastDismissedModelBannerVersion: lastDismissedModelBannerVersion ?? 0,
532024
+ lastDismissedCliBannerVersion: lastDismissedCliBannerVersion ?? 0,
531948
532025
  // Multi-root workspace support
531949
532026
  workspaceRoots,
531950
532027
  primaryRootIndex: primaryRootIndex ?? 0,
@@ -609414,11 +609491,11 @@ var require_extract_zip = __commonJS({
609414
609491
  var { createWriteStream: createWriteStream4, promises: fs61 } = require("fs");
609415
609492
  var getStream = require_get_stream();
609416
609493
  var path81 = require("path");
609417
- var { promisify: promisify9 } = require("util");
609494
+ var { promisify: promisify10 } = require("util");
609418
609495
  var stream5 = require("stream");
609419
609496
  var yauzl = require_yauzl();
609420
- var openZip = promisify9(yauzl.open);
609421
- var pipeline = promisify9(stream5.pipeline);
609497
+ var openZip = promisify10(yauzl.open);
609498
+ var pipeline = promisify10(stream5.pipeline);
609422
609499
  var Extractor = class {
609423
609500
  constructor(zipPath, opts) {
609424
609501
  this.zipPath = zipPath;
@@ -609500,7 +609577,7 @@ var require_extract_zip = __commonJS({
609500
609577
  await fs61.mkdir(destDir, mkdirOptions);
609501
609578
  if (isDir) return;
609502
609579
  debug11("opening read stream", dest);
609503
- const readStream2 = await promisify9(this.zipfile.openReadStream.bind(this.zipfile))(entry);
609580
+ const readStream2 = await promisify10(this.zipfile.openReadStream.bind(this.zipfile))(entry);
609504
609581
  if (symlink) {
609505
609582
  const link = await getStream(readStream2);
609506
609583
  debug11("creating symlink", link, dest);
@@ -617059,7 +617136,7 @@ var require_wrap_ansi = __commonJS({
617059
617136
  }
617060
617137
  return words.slice(0, last5).join(" ") + words.slice(last5).join("");
617061
617138
  };
617062
- var exec4 = (string, columns, options = {}) => {
617139
+ var exec5 = (string, columns, options = {}) => {
617063
617140
  if (options.trim !== false && string.trim() === "") {
617064
617141
  return "";
617065
617142
  }
@@ -617141,7 +617218,7 @@ var require_wrap_ansi = __commonJS({
617141
617218
  return returnValue;
617142
617219
  };
617143
617220
  module2.exports = (string, columns, options) => {
617144
- return String(string).normalize().replace(/\r\n/g, "\n").split("\n").map((line) => exec4(line, columns, options)).join("\n");
617221
+ return String(string).normalize().replace(/\r\n/g, "\n").split("\n").map((line) => exec5(line, columns, options)).join("\n");
617145
617222
  };
617146
617223
  }
617147
617224
  });
@@ -733121,6 +733198,12 @@ async function updateSettings(controller, request5) {
733121
733198
  Number(request5.subagentTerminalOutputLineLimit)
733122
733199
  );
733123
733200
  }
733201
+ if (request5.subagentTerminalOutputLineLimit !== void 0) {
733202
+ controller.stateManager.setGlobalState(
733203
+ "subagentTerminalOutputLineLimit",
733204
+ Number(request5.subagentTerminalOutputLineLimit)
733205
+ );
733206
+ }
733124
733207
  if (request5.maxConsecutiveMistakes !== void 0) {
733125
733208
  controller.stateManager.setGlobalState("maxConsecutiveMistakes", Number(request5.maxConsecutiveMistakes));
733126
733209
  }
@@ -733239,6 +733322,7 @@ async function updateSettings(controller, request5) {
733239
733322
  if (wasEnabled !== isEnabled) {
733240
733323
  telemetryService.captureSubagentToggle(isEnabled);
733241
733324
  }
733325
+ controller.stateManager.setGlobalState("subagentsEnabled", !!request5.subagentsEnabled);
733242
733326
  }
733243
733327
  await controller.postStateToWebview();
733244
733328
  return Empty.create();
@@ -733639,6 +733723,96 @@ var init_updateModelBannerVersion = __esm({
733639
733723
  }
733640
733724
  });
733641
733725
 
733726
+ // src/core/controller/state/updateCliBannerVersion.ts
733727
+ async function updateCliBannerVersion(controller, request5) {
733728
+ controller.stateManager.setGlobalState("lastDismissedCliBannerVersion", request5.value ?? 1);
733729
+ await controller.postStateToWebview();
733730
+ return Empty.create();
733731
+ }
733732
+ var init_updateCliBannerVersion = __esm({
733733
+ "src/core/controller/state/updateCliBannerVersion.ts"() {
733734
+ "use strict";
733735
+ init_common();
733736
+ }
733737
+ });
733738
+
733739
+ // src/core/controller/state/installClineCli.ts
733740
+ async function installClineCli(_controller2, _request) {
733741
+ const installCommand = "npm install -g cline";
733742
+ try {
733743
+ const response = await HostProvider.workspace.executeCommandInTerminal(
733744
+ ExecuteCommandInTerminalRequest.create({
733745
+ command: installCommand
733746
+ })
733747
+ );
733748
+ if (!response.success) {
733749
+ throw new Error("Failed to execute command in terminal");
733750
+ }
733751
+ } catch (error) {
733752
+ console.error("Error executing CLI installation:", error);
733753
+ await HostProvider.window.showMessage({
733754
+ type: 0 /* ERROR */,
733755
+ message: `Failed to start CLI installation: ${error instanceof Error ? error.message : "Unknown error"}`,
733756
+ options: { items: [] }
733757
+ });
733758
+ }
733759
+ return Empty.create();
733760
+ }
733761
+ var init_installClineCli = __esm({
733762
+ "src/core/controller/state/installClineCli.ts"() {
733763
+ "use strict";
733764
+ init_common();
733765
+ init_window();
733766
+ init_workspace2();
733767
+ init_host_provider();
733768
+ }
733769
+ });
733770
+
733771
+ // src/utils/cli-detector.ts
733772
+ async function isClineCliInstalled() {
733773
+ try {
733774
+ const { stdout } = await execAsync2("cline version", {
733775
+ timeout: 5e3
733776
+ // 5 second timeout
733777
+ });
733778
+ return stdout.includes("Cline CLI Version") || stdout.includes("Cline Core Version");
733779
+ } catch (error) {
733780
+ return false;
733781
+ }
733782
+ }
733783
+ function isCliSubagentContext(params) {
733784
+ const hasYoloMode = params.yoloModeToggled === true;
733785
+ const hasHighMistakeLimit = params.maxConsecutiveMistakes === 6;
733786
+ return hasYoloMode && hasHighMistakeLimit;
733787
+ }
733788
+ var import_child_process8, import_util60, execAsync2;
733789
+ var init_cli_detector = __esm({
733790
+ "src/utils/cli-detector.ts"() {
733791
+ "use strict";
733792
+ import_child_process8 = require("child_process");
733793
+ import_util60 = require("util");
733794
+ execAsync2 = (0, import_util60.promisify)(import_child_process8.exec);
733795
+ }
733796
+ });
733797
+
733798
+ // src/core/controller/state/checkCliInstallation.ts
733799
+ async function checkCliInstallation(_controller2) {
733800
+ try {
733801
+ const isInstalled = await isClineCliInstalled();
733802
+ return Boolean2.create({ value: isInstalled });
733803
+ } catch (error) {
733804
+ console.error("Failed to check CLI installation:", error);
733805
+ return Boolean2.create({ value: false });
733806
+ }
733807
+ }
733808
+ var init_checkCliInstallation = __esm({
733809
+ "src/core/controller/state/checkCliInstallation.ts"() {
733810
+ "use strict";
733811
+ init_common();
733812
+ init_cli_detector();
733813
+ }
733814
+ });
733815
+
733642
733816
  // src/core/controller/state/getProcessInfo.ts
733643
733817
  async function getProcessInfo(controller, request5) {
733644
733818
  const state2 = await controller.getStateToPostToWebview();
@@ -762152,7 +762326,7 @@ var require_mock_interceptor = __commonJS({
762152
762326
  var require_mock_client = __commonJS({
762153
762327
  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
762154
762328
  "use strict";
762155
- var { promisify: promisify9 } = require("node:util");
762329
+ var { promisify: promisify10 } = require("node:util");
762156
762330
  var Client21 = require_client2();
762157
762331
  var { buildMockDispatch } = require_mock_utils();
762158
762332
  var {
@@ -762192,7 +762366,7 @@ var require_mock_client = __commonJS({
762192
762366
  return new MockInterceptor(opts, this[kDispatches]);
762193
762367
  }
762194
762368
  async [kClose]() {
762195
- await promisify9(this[kOriginalClose])();
762369
+ await promisify10(this[kOriginalClose])();
762196
762370
  this[kConnected] = 0;
762197
762371
  this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
762198
762372
  }
@@ -762205,7 +762379,7 @@ var require_mock_client = __commonJS({
762205
762379
  var require_mock_pool = __commonJS({
762206
762380
  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
762207
762381
  "use strict";
762208
- var { promisify: promisify9 } = require("node:util");
762382
+ var { promisify: promisify10 } = require("node:util");
762209
762383
  var Pool = require_pool2();
762210
762384
  var { buildMockDispatch } = require_mock_utils();
762211
762385
  var {
@@ -762245,7 +762419,7 @@ var require_mock_pool = __commonJS({
762245
762419
  return new MockInterceptor(opts, this[kDispatches]);
762246
762420
  }
762247
762421
  async [kClose]() {
762248
- await promisify9(this[kOriginalClose])();
762422
+ await promisify10(this[kOriginalClose])();
762249
762423
  this[kConnected] = 0;
762250
762424
  this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
762251
762425
  }
@@ -778094,6 +778268,9 @@ var init_protobus_services = __esm({
778094
778268
  init_setWelcomeViewCompleted();
778095
778269
  init_updateInfoBannerVersion();
778096
778270
  init_updateModelBannerVersion();
778271
+ init_updateCliBannerVersion();
778272
+ init_installClineCli();
778273
+ init_checkCliInstallation();
778097
778274
  init_getProcessInfo();
778098
778275
  init_cancelTask();
778099
778276
  init_cancelBackgroundCommand();
@@ -869971,13 +870148,13 @@ function parseServiceKeyFromEnv(aiCoreEnv) {
869971
870148
  }
869972
870149
  }
869973
870150
  }
869974
- var import_util65, import_connectivity, logger4, aiCoreServiceBinding;
870151
+ var import_util66, import_connectivity, logger4, aiCoreServiceBinding;
869975
870152
  var init_context3 = __esm({
869976
870153
  "node_modules/@sap-ai-sdk/core/dist/context.js"() {
869977
870154
  "use strict";
869978
- import_util65 = __toESM(require_dist14(), 1);
870155
+ import_util66 = __toESM(require_dist14(), 1);
869979
870156
  import_connectivity = __toESM(require_dist16(), 1);
869980
- logger4 = (0, import_util65.createLogger)({
870157
+ logger4 = (0, import_util66.createLogger)({
869981
870158
  package: "core",
869982
870159
  messageContext: "context"
869983
870160
  });
@@ -869999,7 +870176,7 @@ async function executeRequest(endpointOptions, data2, requestConfig, destination
869999
870176
  return response;
870000
870177
  } catch (error) {
870001
870178
  await handleStreamError2(error);
870002
- throw new import_util66.ErrorWithCause(`Request failed with status code ${error.status}.`, error);
870179
+ throw new import_util67.ErrorWithCause(`Request failed with status code ${error.status}.`, error);
870003
870180
  }
870004
870181
  }
870005
870182
  async function handleStreamError2(error) {
@@ -870021,26 +870198,26 @@ function mergeWithDefaultRequestConfig(apiVersion, resourceGroup, requestConfig)
870021
870198
  return {
870022
870199
  ...defaultConfig,
870023
870200
  ...requestConfig,
870024
- headers: (0, import_util66.mergeIgnoreCase)(defaultConfig.headers, requestConfig?.headers),
870025
- params: (0, import_util66.mergeIgnoreCase)(defaultConfig.params, requestConfig?.params)
870201
+ headers: (0, import_util67.mergeIgnoreCase)(defaultConfig.headers, requestConfig?.headers),
870202
+ params: (0, import_util67.mergeIgnoreCase)(defaultConfig.params, requestConfig?.params)
870026
870203
  };
870027
870204
  }
870028
870205
  function getTargetUrl(url2, endpointPath) {
870029
- url2 = (0, import_util66.removeTrailingSlashes)(url2);
870030
- endpointPath = (0, import_util66.removeLeadingSlashes)(endpointPath);
870206
+ url2 = (0, import_util67.removeTrailingSlashes)(url2);
870207
+ endpointPath = (0, import_util67.removeLeadingSlashes)(endpointPath);
870031
870208
  const urlObj = new URL(url2);
870032
870209
  if (urlObj.pathname === "/") {
870033
870210
  return url2 + "/v2/" + endpointPath;
870034
870211
  }
870035
870212
  return url2 + "/" + endpointPath;
870036
870213
  }
870037
- var import_node_stream13, import_consumers, import_util66, import_http_client;
870214
+ var import_node_stream13, import_consumers, import_util67, import_http_client;
870038
870215
  var init_http_client = __esm({
870039
870216
  "node_modules/@sap-ai-sdk/core/dist/http-client.js"() {
870040
870217
  "use strict";
870041
870218
  import_node_stream13 = require("node:stream");
870042
870219
  import_consumers = require("node:stream/consumers");
870043
- import_util66 = __toESM(require_dist14(), 1);
870220
+ import_util67 = __toESM(require_dist14(), 1);
870044
870221
  import_http_client = __toESM(require_dist17(), 1);
870045
870222
  init_context3();
870046
870223
  }
@@ -870503,14 +870680,14 @@ function findDoubleNewlineIndex4(buffer) {
870503
870680
  }
870504
870681
  return -1;
870505
870682
  }
870506
- var import_util67, logger5, SseStream;
870683
+ var import_util68, logger5, SseStream;
870507
870684
  var init_sse_stream = __esm({
870508
870685
  "node_modules/@sap-ai-sdk/core/dist/stream/sse-stream.js"() {
870509
870686
  "use strict";
870510
- import_util67 = __toESM(require_dist14(), 1);
870687
+ import_util68 = __toESM(require_dist14(), 1);
870511
870688
  init_line_decoder();
870512
870689
  init_sse_decoder();
870513
- logger5 = (0, import_util67.createLogger)({
870690
+ logger5 = (0, import_util68.createLogger)({
870514
870691
  package: "foundation-models",
870515
870692
  messageContext: "azure-openai-sse-stream"
870516
870693
  });
@@ -870733,12 +870910,12 @@ function mergeStreamOptions(globalOptions2, streamOptions) {
870733
870910
  function isTemplate(templating) {
870734
870911
  return templating && typeof templating === "object" && !("template_ref" in templating);
870735
870912
  }
870736
- var import_util68, logger6;
870913
+ var import_util69, logger6;
870737
870914
  var init_module_config = __esm({
870738
870915
  "node_modules/@sap-ai-sdk/orchestration/dist/util/module-config.js"() {
870739
870916
  "use strict";
870740
- import_util68 = __toESM(require_dist14(), 1);
870741
- logger6 = (0, import_util68.createLogger)({
870917
+ import_util69 = __toESM(require_dist14(), 1);
870918
+ logger6 = (0, import_util69.createLogger)({
870742
870919
  package: "orchestration",
870743
870920
  messageContext: "orchestration-utils"
870744
870921
  });
@@ -870910,12 +871087,12 @@ function transformStreamingToolCall(toolCall) {
870910
871087
  }
870911
871088
  };
870912
871089
  }
870913
- var import_util69, logger7;
871090
+ var import_util70, logger7;
870914
871091
  var init_stream3 = __esm({
870915
871092
  "node_modules/@sap-ai-sdk/orchestration/dist/util/stream.js"() {
870916
871093
  "use strict";
870917
- import_util69 = __toESM(require_dist14(), 1);
870918
- logger7 = (0, import_util69.createLogger)({
871094
+ import_util70 = __toESM(require_dist14(), 1);
871095
+ logger7 = (0, import_util70.createLogger)({
870919
871096
  package: "orchestration",
870920
871097
  messageContext: "stream-util"
870921
871098
  });
@@ -873934,14 +874111,14 @@ async function getAllDeployments(opts) {
873934
874111
  deploymentCache.setAll(opts, resources);
873935
874112
  return resources;
873936
874113
  } catch (error) {
873937
- throw new import_util71.ErrorWithCause("Failed to fetch the list of deployments.", error);
874114
+ throw new import_util72.ErrorWithCause("Failed to fetch the list of deployments.", error);
873938
874115
  }
873939
874116
  }
873940
- var import_util71;
874117
+ var import_util72;
873941
874118
  var init_deployment_resolver = __esm({
873942
874119
  "node_modules/@sap-ai-sdk/ai-api/dist/utils/deployment-resolver.js"() {
873943
874120
  "use strict";
873944
- import_util71 = __toESM(require_dist14(), 1);
874121
+ import_util72 = __toESM(require_dist14(), 1);
873945
874122
  init_AI_CORE_API();
873946
874123
  init_deployment_cache();
873947
874124
  init_model();
@@ -882040,20 +882217,20 @@ var init_orchestration_response = __esm({
882040
882217
  });
882041
882218
 
882042
882219
  // node_modules/@sap-ai-sdk/orchestration/dist/orchestration-client.js
882043
- var import_util72, import_yaml, logger8, OrchestrationClient;
882220
+ var import_util73, import_yaml, logger8, OrchestrationClient;
882044
882221
  var init_orchestration_client = __esm({
882045
882222
  "node_modules/@sap-ai-sdk/orchestration/dist/orchestration-client.js"() {
882046
882223
  "use strict";
882047
882224
  init_dist7();
882048
882225
  init_internal2();
882049
- import_util72 = __toESM(require_dist14(), 1);
882226
+ import_util73 = __toESM(require_dist14(), 1);
882050
882227
  import_yaml = __toESM(require_dist19(), 1);
882051
882228
  init_internal4();
882052
882229
  init_orchestration_stream();
882053
882230
  init_orchestration_stream_response();
882054
882231
  init_orchestration_response();
882055
882232
  init_util6();
882056
- logger8 = (0, import_util72.createLogger)({
882233
+ logger8 = (0, import_util73.createLogger)({
882057
882234
  package: "orchestration",
882058
882235
  messageContext: "orchestration-client"
882059
882236
  });
@@ -892242,6 +892419,7 @@ var init_placeholders = __esm({
892242
892419
  SystemPromptSection2["MCP"] = "MCP_SECTION";
892243
892420
  SystemPromptSection2["EDITING_FILES"] = "EDITING_FILES_SECTION";
892244
892421
  SystemPromptSection2["ACT_VS_PLAN"] = "ACT_VS_PLAN_SECTION";
892422
+ SystemPromptSection2["CLI_SUBAGENTS"] = "CLI_SUBAGENTS_SECTION";
892245
892423
  SystemPromptSection2["TODO"] = "TODO_SECTION";
892246
892424
  SystemPromptSection2["CAPABILITIES"] = "CAPABILITIES_SECTION";
892247
892425
  SystemPromptSection2["RULES"] = "RULES_SECTION";
@@ -892465,6 +892643,66 @@ var init_capabilities = __esm({
892465
892643
  }
892466
892644
  });
892467
892645
 
892646
+ // src/core/prompts/system-prompt/components/cli_subagents.ts
892647
+ async function getCliSubagentsSection(variant, context3) {
892648
+ if (context3.isCliSubagent) {
892649
+ return void 0;
892650
+ }
892651
+ if (!context3.isSubagentsEnabledAndCliInstalled) {
892652
+ return void 0;
892653
+ }
892654
+ const template2 = variant.componentOverrides?.["CLI_SUBAGENTS_SECTION" /* CLI_SUBAGENTS */]?.template || getCliSubagentsTemplateText;
892655
+ return new TemplateEngine().resolve(template2, context3, {});
892656
+ }
892657
+ var getCliSubagentsTemplateText;
892658
+ var init_cli_subagents = __esm({
892659
+ "src/core/prompts/system-prompt/components/cli_subagents.ts"() {
892660
+ "use strict";
892661
+ init_placeholders();
892662
+ init_TemplateEngine();
892663
+ getCliSubagentsTemplateText = (_context) => `USING THE CLINE CLI TOOL
892664
+
892665
+ The Cline CLI tool can be used to assign Cline AI agents with focused tasks. This can be used to keep you focused by delegating information-gathering and exploration to separate Cline instances. Use the Cline CLI tool to research large codebases, explore file structures, gather information from multiple files, analyze dependencies, or summarize code sections when the complete context may be too large or overwhelming.
892666
+
892667
+ ## Creating Cline AI agents
892668
+
892669
+ Cline AI agents may be referred to as agents, subagents, or subtasks. Requests may not specifically invoke agents, but you may invoke them directly if warranted. Unless you are specifically asked to use this tool, only create agents when it seems likely you may be exploring across 10 or more files. If users specifically ask that you use this tool, you then must use this tool. Do not use subagents for editing code or executing commands- they should only be used for reading and research to help you better answer questions or build useful context for future coding tasks. If you are performing a search via search_files or the terminal (grep etc.), and the results are long and overwhleming, it is reccomended that you switch to use Cline CLI agents to perform this task. You may perform code edits directly using the write_to_file and replace_in_file tools, and commands using the execute_command tool.
892670
+
892671
+ ## Command Syntax
892672
+
892673
+ You must use the following command syntax for creating Cline AI agents:
892674
+
892675
+ \`\`\`bash
892676
+ cline "your prompt here"
892677
+ \`\`\`
892678
+
892679
+ ## Examples of how you might use this tool
892680
+
892681
+ \`\`\`bash
892682
+ # Find specific patterns
892683
+ cline "find all React components that use the useState hook and list their names"
892684
+
892685
+ # Analyze code structure
892686
+ cline "analyze the authentication flow. Reverse trace through all relevant functions and methods, and provide a summary of how it works. Include file/class references in your summary."
892687
+
892688
+ # Gather targeted information
892689
+ cline "list all API endpoints and their HTTP methods"
892690
+
892691
+ # Summarize directories
892692
+ cline "summarize the purpose of all files in the src/services directory"
892693
+
892694
+ # Research implementations
892695
+ cline "find how error handling is implemented across the application"
892696
+ \`\`\`
892697
+
892698
+ ## Tips
892699
+ - Request brief, technically dense summaries over full file dumps.
892700
+ - Be specific with your instructions to get focused results.
892701
+ - Request summaries rather than full file contents. Encourage the agent to be brief, but specific and technically dense with their response.
892702
+ - If files you want to read are large or complicated, use Cline CLI agents for exploration before instead of reading these files.`;
892703
+ }
892704
+ });
892705
+
892468
892706
  // src/core/prompts/system-prompt/components/editing_files.ts
892469
892707
  async function getEditingFilesSection(variant, context3) {
892470
892708
  const template2 = variant.componentOverrides?.["EDITING_FILES_SECTION" /* EDITING_FILES */]?.template || EDITING_FILES_TEMPLATE_TEXT;
@@ -894885,7 +895123,7 @@ var init_PromptBuilder = __esm({
894885
895123
  if (!prompt) {
894886
895124
  return "";
894887
895125
  }
894888
- return prompt.replace(/\n\s*\n\s*\n/g, "\n\n").trim().replace(/====+\s*$/, "").replace(/\n====+\s*\n+\s*====+\n/g, "\n====\n").replace(/====+\n(?!\n)([^\n])/g, (match, nextChar, offset, string) => {
895126
+ return prompt.replace(/\n\s*\n\s*\n/g, "\n\n").trim().replace(/====+\s*$/, "").replace(/\n====+\s*\n+\s*====+\n/g, "\n====\n").replace(/====\s*\n\s*====\s*\n/g, "====\n").replace(/^##\s*$[\r\n]*/gm, "").replace(/\n##\s*$[\r\n]*/gm, "").replace(/====+\n(?!\n)([^\n])/g, (match, nextChar, offset, string) => {
894889
895127
  const beforeContext = string.substring(Math.max(0, offset - 50), offset);
894890
895128
  const afterContext = string.substring(offset, Math.min(string.length, offset + 50));
894891
895129
  const isDiffLike = /SEARCH|REPLACE|\+\+\+\+\+\+\+|-------/.test(beforeContext + afterContext);
@@ -894895,7 +895133,7 @@ var init_PromptBuilder = __esm({
894895
895133
  const afterContext = string.substring(offset, Math.min(string.length, offset + 50));
894896
895134
  const isDiffLike = /SEARCH|REPLACE|\+\+\+\+\+\+\+|-------/.test(beforeContext + afterContext);
894897
895135
  return isDiffLike ? match : prevChar + "\n\n" + match.substring(1).replace(/\n/, "");
894898
- });
895136
+ }).replace(/\n\s*\n\s*\n/g, "\n\n").trim();
894899
895137
  }
894900
895138
  getBuildMetadata() {
894901
895139
  return {
@@ -895138,6 +895376,10 @@ function getSystemPromptComponents() {
895138
895376
  id: "ACT_VS_PLAN_SECTION" /* ACT_VS_PLAN */,
895139
895377
  fn: getActVsPlanModeSection
895140
895378
  },
895379
+ {
895380
+ id: "CLI_SUBAGENTS_SECTION" /* CLI_SUBAGENTS */,
895381
+ fn: getCliSubagentsSection
895382
+ },
895141
895383
  {
895142
895384
  id: "FEEDBACK_SECTION" /* FEEDBACK */,
895143
895385
  fn: getFeedbackSection
@@ -895153,6 +895395,7 @@ var init_components = __esm({
895153
895395
  init_agent_role();
895154
895396
  init_auto_todo();
895155
895397
  init_capabilities();
895398
+ init_cli_subagents();
895156
895399
  init_editing_files();
895157
895400
  init_feedback();
895158
895401
  init_mcp3();
@@ -896312,6 +896555,10 @@ var init_template5 = __esm({
896312
896555
 
896313
896556
  ====
896314
896557
 
896558
+ {{${"CLI_SUBAGENTS_SECTION" /* CLI_SUBAGENTS */}}}
896559
+
896560
+ ====
896561
+
896315
896562
  {{${"TASK_PROGRESS_SECTION" /* TASK_PROGRESS */}}}
896316
896563
 
896317
896564
  ====
@@ -896361,6 +896608,7 @@ var init_config2 = __esm({
896361
896608
  "MCP_SECTION" /* MCP */,
896362
896609
  "EDITING_FILES_SECTION" /* EDITING_FILES */,
896363
896610
  "ACT_VS_PLAN_SECTION" /* ACT_VS_PLAN */,
896611
+ "CLI_SUBAGENTS_SECTION" /* CLI_SUBAGENTS */,
896364
896612
  "TODO_SECTION" /* TODO */,
896365
896613
  "CAPABILITIES_SECTION" /* CAPABILITIES */,
896366
896614
  "RULES_SECTION" /* RULES */,
@@ -896426,6 +896674,10 @@ var init_template6 = __esm({
896426
896674
 
896427
896675
  ====
896428
896676
 
896677
+ {{${"CLI_SUBAGENTS_SECTION" /* CLI_SUBAGENTS */}}}
896678
+
896679
+ ====
896680
+
896429
896681
  {{${"TASK_PROGRESS_SECTION" /* TASK_PROGRESS */}}}
896430
896682
 
896431
896683
  ====
@@ -896503,6 +896755,7 @@ var init_config3 = __esm({
896503
896755
  "MCP_SECTION" /* MCP */,
896504
896756
  "EDITING_FILES_SECTION" /* EDITING_FILES */,
896505
896757
  "ACT_VS_PLAN_SECTION" /* ACT_VS_PLAN */,
896758
+ "CLI_SUBAGENTS_SECTION" /* CLI_SUBAGENTS */,
896506
896759
  "TASK_PROGRESS_SECTION" /* TASK_PROGRESS */,
896507
896760
  "CAPABILITIES_SECTION" /* CAPABILITIES */,
896508
896761
  "FEEDBACK_SECTION" /* FEEDBACK */,
@@ -896572,6 +896825,10 @@ var init_template7 = __esm({
896572
896825
 
896573
896826
  ====
896574
896827
 
896828
+ {{${"CLI_SUBAGENTS_SECTION" /* CLI_SUBAGENTS */}}}
896829
+
896830
+ ====
896831
+
896575
896832
  {{${"TASK_PROGRESS_SECTION" /* TASK_PROGRESS */}}}
896576
896833
 
896577
896834
  ====
@@ -896649,6 +896906,7 @@ var init_config4 = __esm({
896649
896906
  "MCP_SECTION" /* MCP */,
896650
896907
  "EDITING_FILES_SECTION" /* EDITING_FILES */,
896651
896908
  "ACT_VS_PLAN_SECTION" /* ACT_VS_PLAN */,
896909
+ "CLI_SUBAGENTS_SECTION" /* CLI_SUBAGENTS */,
896652
896910
  "TASK_PROGRESS_SECTION" /* TASK_PROGRESS */,
896653
896911
  "CAPABILITIES_SECTION" /* CAPABILITIES */,
896654
896912
  "FEEDBACK_SECTION" /* FEEDBACK */,
@@ -896691,7 +896949,7 @@ var init_config4 = __esm({
896691
896949
  });
896692
896950
 
896693
896951
  // src/core/prompts/system-prompt/variants/xs/overrides.ts
896694
- var XS_EDITING_FILES, XS_ACT_PLAN_MODE, XS_CAPABILITIES, XS_RULES, XS_OBJECTIVES, xsComponentOverrides;
896952
+ var XS_EDITING_FILES, XS_ACT_PLAN_MODE, XS_CAPABILITIES, XS_RULES, XS_OBJECTIVES, XS_CLI_SUBAGENTS, xsComponentOverrides;
896695
896953
  var init_overrides = __esm({
896696
896954
  "src/core/prompts/system-prompt/variants/xs/overrides.ts"() {
896697
896955
  "use strict";
@@ -896730,6 +896988,17 @@ var init_overrides = __esm({
896730
896988
  - Understand request \u2192 PLAN explore (read-only) \u2192 propose collaborative plan with options/risks/tests \u2192 ask if it matches \u2192 output: **Switch me to ACT MODE to implement.**
896731
896989
  - Prefer replace_in_file; respect final formatted state.
896732
896990
  - When all steps succeed and are confirmed, call attempt_completion (optional demo command).`;
896991
+ XS_CLI_SUBAGENTS = `USING THE CLINE CLI TOOL
896992
+
896993
+ The Cline CLI tool is installed and available for you to use to handle focused tasks without polluting your main context window. This can be done using
896994
+ \`\`\`bash
896995
+ cline t o "your prompt here"
896996
+
896997
+ This must only be used for searching and exploring code. It cannot be used to edit files or execute commands.
896998
+ Example:
896999
+ # Find specific patterns
897000
+ cline t o "find all React components that use the useState hook and list their names"
897001
+ \`\`\``;
896733
897002
  xsComponentOverrides = {
896734
897003
  ["AGENT_ROLE_SECTION" /* AGENT_ROLE */]: {
896735
897004
  template: "You are Cline, a senior software engineer + precise task runner. Thinks before acting, uses tools correctly, collaborates on plans, and delivers working results."
@@ -896752,6 +897021,9 @@ var init_overrides = __esm({
896752
897021
  ["RULES_SECTION" /* RULES */]: {
896753
897022
  template: XS_RULES
896754
897023
  },
897024
+ ["CLI_SUBAGENTS_SECTION" /* CLI_SUBAGENTS */]: {
897025
+ template: XS_CLI_SUBAGENTS
897026
+ },
896755
897027
  ["ACT_VS_PLAN_SECTION" /* ACT_VS_PLAN */]: {
896756
897028
  template: XS_ACT_PLAN_MODE
896757
897029
  },
@@ -896792,6 +897064,8 @@ var init_template8 = __esm({
896792
897064
 
896793
897065
  ## {{${"ACT_VS_PLAN_SECTION" /* ACT_VS_PLAN */}}}
896794
897066
 
897067
+ ## {{${"CLI_SUBAGENTS_SECTION" /* CLI_SUBAGENTS */}}}
897068
+
896795
897069
  ## {{${"CAPABILITIES_SECTION" /* CAPABILITIES */}}}
896796
897070
 
896797
897071
  ## {{${"EDITING_FILES_SECTION" /* EDITING_FILES */}}}
@@ -896879,6 +897153,7 @@ var init_config5 = __esm({
896879
897153
  "AGENT_ROLE_SECTION" /* AGENT_ROLE */,
896880
897154
  "RULES_SECTION" /* RULES */,
896881
897155
  "ACT_VS_PLAN_SECTION" /* ACT_VS_PLAN */,
897156
+ "CLI_SUBAGENTS_SECTION" /* CLI_SUBAGENTS */,
896882
897157
  "CAPABILITIES_SECTION" /* CAPABILITIES */,
896883
897158
  "EDITING_FILES_SECTION" /* EDITING_FILES */,
896884
897159
  "OBJECTIVE_SECTION" /* OBJECTIVE */,
@@ -898529,7 +898804,7 @@ If the most recent user's message starts with "/newtask", "/smol", "/compact", "
898529
898804
  });
898530
898805
 
898531
898806
  // src/core/prompts/commands.ts
898532
- var newTaskToolResponse, condenseToolResponse, newRuleToolResponse, reportBugToolResponse, deepPlanningToolResponse;
898807
+ var newTaskToolResponse, condenseToolResponse, newRuleToolResponse, reportBugToolResponse, subagentToolResponse, deepPlanningToolResponse;
898533
898808
  var init_commands4 = __esm({
898534
898809
  "src/core/prompts/commands.ts"() {
898535
898810
  "use strict";
@@ -898720,6 +898995,14 @@ Usage:
898720
898995
  Below is the user's input when they indicated that they wanted to submit a Github issue.
898721
898996
  </explicit_instructions>
898722
898997
 
898998
+ `;
898999
+ subagentToolResponse = () => `<explicit_instructions type="subagent">
899000
+ The user has requested to invoke a Cline CLI subagent with the context below. You should execute a subagent command to handle this request using the CLI subagents feature.
899001
+
899002
+ Transform the user's request into a subagent command by executing:
899003
+ cline "<prompt>"
899004
+ </explicit_instructions>
899005
+
898723
899006
  `;
898724
899007
  deepPlanningToolResponse = (focusChainSettings) => {
898725
899008
  const detectedShell = getShell();
@@ -898963,14 +899246,15 @@ Below is the user's input when they indicated that they wanted to create a compr
898963
899246
 
898964
899247
  // src/core/slash-commands/index.ts
898965
899248
  async function parseSlashCommands(text3, localWorkflowToggles, globalWorkflowToggles, ulid2, focusChainSettings) {
898966
- const SUPPORTED_DEFAULT_COMMANDS = ["newtask", "smol", "compact", "newrule", "reportbug", "deep-planning"];
899249
+ const SUPPORTED_DEFAULT_COMMANDS = ["newtask", "smol", "compact", "newrule", "reportbug", "deep-planning", "subagent"];
898967
899250
  const commandReplacements = {
898968
899251
  newtask: newTaskToolResponse(),
898969
899252
  smol: condenseToolResponse(focusChainSettings),
898970
899253
  compact: condenseToolResponse(focusChainSettings),
898971
899254
  newrule: newRuleToolResponse(),
898972
899255
  reportbug: reportBugToolResponse(),
898973
- "deep-planning": deepPlanningToolResponse(focusChainSettings)
899256
+ "deep-planning": deepPlanningToolResponse(focusChainSettings),
899257
+ subagent: subagentToolResponse()
898974
899258
  };
898975
899259
  const tagPatterns = [
898976
899260
  { tag: "task", regex: /<task>(\s*\/([a-zA-Z0-9_.-]+))(\s+.+?)?\s*<\/task>/is },
@@ -900973,13 +901257,13 @@ function gitInstanceFactory(baseDir, options) {
900973
901257
  customBinaryPlugin(plugins, config6.binary, (_a22 = config6.unsafe) == null ? void 0 : _a22.allowUnsafeCustomBinary);
900974
901258
  return new Git(config6, plugins);
900975
901259
  }
900976
- var import_file_exists, import_debug7, import_child_process8, import_promise_deferred, import_promise_deferred2, import_node_events15, __defProp4, __defProps, __getOwnPropDesc2, __getOwnPropDescs, __getOwnPropNames2, __getOwnPropSymbols, __hasOwnProp2, __propIsEnum, __defNormalProp3, __spreadValues, __spreadProps, __esm2, __commonJS2, __export2, __copyProps2, __toCommonJS2, __async, cache3, init_pathspec, GitError, init_git_error, GitResponseError, init_git_response_error, TaskConfigurationError, init_task_configuration_error, NULL2, NOOP, objectToString4, init_util7, filterArray, filterString, filterStringArray, filterStringOrStringArray, filterHasLength, init_argument_filters, ExitCodes, init_exit_codes, GitOutputStreams, init_git_output_streams, LineParser, RemoteLineParser, init_line_parser, defaultOptions3, init_simple_git_options, init_task_options, init_task_parser, utils_exports2, init_utils23, check_is_repo_exports, CheckRepoActions, onError, parser2, init_check_is_repo, CleanResponse, removalRegexp, dryRunRemovalRegexp, isFolderRegexp, init_CleanSummary, task_exports, EMPTY_COMMANDS, init_task2, clean_exports, CONFIG_ERROR_INTERACTIVE_MODE, CONFIG_ERROR_MODE_REQUIRED, CONFIG_ERROR_UNKNOWN_OPTION, CleanOptions, CleanOptionValues, init_clean, ConfigList, init_ConfigList, GitConfigScope, init_config6, DiffNameStatus, diffNameStatus, init_diff_name_status, disallowedOptions, Query2, _a8, GrepQuery, init_grep, reset_exports, ResetMode, ResetModes, init_reset, init_git_logger, _TasksPendingQueue, TasksPendingQueue, init_tasks_pending_queue, GitExecutorChain, init_git_executor_chain, git_executor_exports, GitExecutor, init_git_executor, init_task_callback, init_change_working_directory, init_checkout, parser22, init_count_objects, parsers, init_parse_commit, init_commit, init_first_commit, init_hash_object, InitSummary, initResponseRegex, reInitResponseRegex, init_InitSummary, bareCommand, init_init2, logFormatRegex, init_log_format, DiffSummary, init_DiffSummary, statParser, numStatParser, nameOnlyParser, nameStatusParser, diffSummaryParsers, init_parse_diff_summary, START_BOUNDARY, COMMIT_BOUNDARY, SPLITTER, defaultFieldNames, init_parse_list_log_summary, diff_exports, init_diff2, excludeOptions, init_log2, MergeSummaryConflict, MergeSummaryDetail, init_MergeSummary, PullSummary, PullFailedSummary, init_PullSummary, remoteMessagesObjectParsers, init_parse_remote_objects, parsers2, RemoteMessageSummary, init_parse_remote_messages, FILE_UPDATE_REGEX, SUMMARY_REGEX, ACTION_REGEX, parsers3, errorParsers, parsePullDetail, parsePullResult, init_parse_pull, parsers4, parseMergeResult, parseMergeDetail, init_parse_merge, init_merge, parsers5, parsePushResult, parsePushDetail, init_parse_push, push_exports, init_push, init_show, fromPathRegex, FileStatusSummary, init_FileStatusSummary, StatusSummary, parsers6, parseStatusSummary, init_StatusSummary, ignoredOptions, init_status2, NOT_INSTALLED, parsers7, init_version11, simple_git_api_exports, SimpleGitApi, init_simple_git_api, scheduler_exports, createScheduledTask, Scheduler2, init_scheduler, apply_patch_exports, init_apply_patch, BranchDeletionBatch, init_BranchDeleteSummary, deleteSuccessRegex, deleteErrorRegex, parsers8, parseBranchDeletions, init_parse_branch_delete, BranchSummaryResult, init_BranchSummary, parsers9, init_parse_branch, branch_exports, init_branch, parseCheckIgnore, init_CheckIgnore, check_ignore_exports, init_check_ignore, clone_exports, init_clone2, parsers10, init_parse_fetch, fetch_exports2, init_fetch3, parsers11, init_parse_move, move_exports, init_move, pull_exports, init_pull, init_GetRemoteSummary, remote_exports, init_remote, stash_list_exports, init_stash_list, sub_module_exports, init_sub_module, TagList, parseTagList, init_TagList, tag_exports, init_tag, require_git, GitConstructError, GitPluginError, never, WRONG_NUMBER_ERR, WRONG_CHARS_ERR, PluginStore, Git, esm_default4;
901260
+ var import_file_exists, import_debug7, import_child_process9, import_promise_deferred, import_promise_deferred2, import_node_events15, __defProp4, __defProps, __getOwnPropDesc2, __getOwnPropDescs, __getOwnPropNames2, __getOwnPropSymbols, __hasOwnProp2, __propIsEnum, __defNormalProp3, __spreadValues, __spreadProps, __esm2, __commonJS2, __export2, __copyProps2, __toCommonJS2, __async, cache3, init_pathspec, GitError, init_git_error, GitResponseError, init_git_response_error, TaskConfigurationError, init_task_configuration_error, NULL2, NOOP, objectToString4, init_util7, filterArray, filterString, filterStringArray, filterStringOrStringArray, filterHasLength, init_argument_filters, ExitCodes, init_exit_codes, GitOutputStreams, init_git_output_streams, LineParser, RemoteLineParser, init_line_parser, defaultOptions3, init_simple_git_options, init_task_options, init_task_parser, utils_exports2, init_utils23, check_is_repo_exports, CheckRepoActions, onError, parser2, init_check_is_repo, CleanResponse, removalRegexp, dryRunRemovalRegexp, isFolderRegexp, init_CleanSummary, task_exports, EMPTY_COMMANDS, init_task2, clean_exports, CONFIG_ERROR_INTERACTIVE_MODE, CONFIG_ERROR_MODE_REQUIRED, CONFIG_ERROR_UNKNOWN_OPTION, CleanOptions, CleanOptionValues, init_clean, ConfigList, init_ConfigList, GitConfigScope, init_config6, DiffNameStatus, diffNameStatus, init_diff_name_status, disallowedOptions, Query2, _a8, GrepQuery, init_grep, reset_exports, ResetMode, ResetModes, init_reset, init_git_logger, _TasksPendingQueue, TasksPendingQueue, init_tasks_pending_queue, GitExecutorChain, init_git_executor_chain, git_executor_exports, GitExecutor, init_git_executor, init_task_callback, init_change_working_directory, init_checkout, parser22, init_count_objects, parsers, init_parse_commit, init_commit, init_first_commit, init_hash_object, InitSummary, initResponseRegex, reInitResponseRegex, init_InitSummary, bareCommand, init_init2, logFormatRegex, init_log_format, DiffSummary, init_DiffSummary, statParser, numStatParser, nameOnlyParser, nameStatusParser, diffSummaryParsers, init_parse_diff_summary, START_BOUNDARY, COMMIT_BOUNDARY, SPLITTER, defaultFieldNames, init_parse_list_log_summary, diff_exports, init_diff2, excludeOptions, init_log2, MergeSummaryConflict, MergeSummaryDetail, init_MergeSummary, PullSummary, PullFailedSummary, init_PullSummary, remoteMessagesObjectParsers, init_parse_remote_objects, parsers2, RemoteMessageSummary, init_parse_remote_messages, FILE_UPDATE_REGEX, SUMMARY_REGEX, ACTION_REGEX, parsers3, errorParsers, parsePullDetail, parsePullResult, init_parse_pull, parsers4, parseMergeResult, parseMergeDetail, init_parse_merge, init_merge, parsers5, parsePushResult, parsePushDetail, init_parse_push, push_exports, init_push, init_show, fromPathRegex, FileStatusSummary, init_FileStatusSummary, StatusSummary, parsers6, parseStatusSummary, init_StatusSummary, ignoredOptions, init_status2, NOT_INSTALLED, parsers7, init_version11, simple_git_api_exports, SimpleGitApi, init_simple_git_api, scheduler_exports, createScheduledTask, Scheduler2, init_scheduler, apply_patch_exports, init_apply_patch, BranchDeletionBatch, init_BranchDeleteSummary, deleteSuccessRegex, deleteErrorRegex, parsers8, parseBranchDeletions, init_parse_branch_delete, BranchSummaryResult, init_BranchSummary, parsers9, init_parse_branch, branch_exports, init_branch, parseCheckIgnore, init_CheckIgnore, check_ignore_exports, init_check_ignore, clone_exports, init_clone2, parsers10, init_parse_fetch, fetch_exports2, init_fetch3, parsers11, init_parse_move, move_exports, init_move, pull_exports, init_pull, init_GetRemoteSummary, remote_exports, init_remote, stash_list_exports, init_stash_list, sub_module_exports, init_sub_module, TagList, parseTagList, init_TagList, tag_exports, init_tag, require_git, GitConstructError, GitPluginError, never, WRONG_NUMBER_ERR, WRONG_CHARS_ERR, PluginStore, Git, esm_default4;
900977
901261
  var init_esm19 = __esm({
900978
901262
  "node_modules/simple-git/dist/esm/index.js"() {
900979
901263
  "use strict";
900980
901264
  import_file_exists = __toESM(require_dist20(), 1);
900981
901265
  import_debug7 = __toESM(require_src8(), 1);
900982
- import_child_process8 = require("child_process");
901266
+ import_child_process9 = require("child_process");
900983
901267
  import_promise_deferred = __toESM(require_dist21(), 1);
900984
901268
  import_promise_deferred2 = __toESM(require_dist21(), 1);
900985
901269
  import_node_events15 = require("node:events");
@@ -901731,7 +902015,7 @@ var init_esm19 = __esm({
901731
902015
  rejection = reason || rejection;
901732
902016
  }
901733
902017
  }));
901734
- const spawned = (0, import_child_process8.spawn)(command, args2, spawnOptions);
902018
+ const spawned = (0, import_child_process9.spawn)(command, args2, spawnOptions);
901735
902019
  spawned.stdout.on(
901736
902020
  "data",
901737
902021
  onDataReceived(stdOut, "stdOut", logger9, outputLogger.step("stdOut"))
@@ -912288,8 +912572,8 @@ var init_TerminalManager = __esm({
912288
912572
  setSubagentTerminalOutputLineLimit(limit2) {
912289
912573
  this.subagentTerminalOutputLineLimit = limit2;
912290
912574
  }
912291
- processOutput(outputLines, overrideLimit, isSubagentCommand) {
912292
- const limit2 = isSubagentCommand ? overrideLimit !== void 0 ? overrideLimit : this.subagentTerminalOutputLineLimit : this.terminalOutputLineLimit;
912575
+ processOutput(outputLines, overrideLimit, isSubagentCommand2) {
912576
+ const limit2 = isSubagentCommand2 ? overrideLimit !== void 0 ? overrideLimit : this.subagentTerminalOutputLineLimit : this.terminalOutputLineLimit;
912293
912577
  if (outputLines.length > limit2) {
912294
912578
  const halfLimit = Math.floor(limit2 / 2);
912295
912579
  const start2 = outputLines.slice(0, halfLimit);
@@ -945175,6 +945459,43 @@ var require_index_umd = __commonJS({
945175
945459
  }
945176
945460
  });
945177
945461
 
945462
+ // src/integrations/cli-subagents/subagent_command.ts
945463
+ function isSubagentCommand(command) {
945464
+ return CLINE_COMMAND_PATTERN.test(command);
945465
+ }
945466
+ function transformClineCommand(command) {
945467
+ if (!isSubagentCommand(command)) {
945468
+ return command;
945469
+ }
945470
+ const commandWithSettings = injectSubagentSettings(command);
945471
+ return commandWithSettings;
945472
+ }
945473
+ function injectSubagentSettings(command) {
945474
+ const prePromptFlags = [];
945475
+ const postPromptFlags = ["-s yolo_mode_toggled=true", "-s max_consecutive_mistakes=6", "-F plain", "-y", "--oneshot"];
945476
+ const match = command.match(CLINE_COMMAND_PATTERN);
945477
+ if (match) {
945478
+ const quote = match[1];
945479
+ const prompt = match[2];
945480
+ const additionalFlags = match[3] || "";
945481
+ const prePromptPart = prePromptFlags.length > 0 ? prePromptFlags.join(" ") + " " : "";
945482
+ return `cline ${prePromptPart}${quote}${prompt}${quote} ${postPromptFlags.join(" ")}${additionalFlags}`;
945483
+ }
945484
+ const parts2 = command.split(" ");
945485
+ const promptEndIndex = parts2.findIndex((p4) => p4.endsWith('"') || p4.endsWith("'"));
945486
+ if (promptEndIndex !== -1) {
945487
+ parts2.splice(promptEndIndex + 1, 0, ...postPromptFlags);
945488
+ }
945489
+ return parts2.join(" ");
945490
+ }
945491
+ var CLINE_COMMAND_PATTERN;
945492
+ var init_subagent_command = __esm({
945493
+ "src/integrations/cli-subagents/subagent_command.ts"() {
945494
+ "use strict";
945495
+ CLINE_COMMAND_PATTERN = /^cline\s+(['"])(.+?)\1(\s+.*)?$/;
945496
+ }
945497
+ });
945498
+
945178
945499
  // src/services/test/GitHelper.ts
945179
945500
  var init_GitHelper = __esm({
945180
945501
  "src/services/test/GitHelper.ts"() {
@@ -945896,7 +946217,7 @@ function isExpectedHookError(error) {
945896
946217
  }
945897
946218
  return false;
945898
946219
  }
945899
- var import_node_child_process15, import_promises49, import_path55, HOOK_EXECUTION_TIMEOUT_MS, MAX_CONTEXT_MODIFICATION_SIZE, exec3, HookRunner, NoOpRunner, StdioHookRunner, CombinedHookRunner, HookFactory;
946220
+ var import_node_child_process15, import_promises49, import_path55, HOOK_EXECUTION_TIMEOUT_MS, MAX_CONTEXT_MODIFICATION_SIZE, exec4, HookRunner, NoOpRunner, StdioHookRunner, CombinedHookRunner, HookFactory;
945900
946221
  var init_hook_factory = __esm({
945901
946222
  "src/core/hooks/hook-factory.ts"() {
945902
946223
  "use strict";
@@ -945910,7 +946231,7 @@ var init_hook_factory = __esm({
945910
946231
  init_StateManager();
945911
946232
  HOOK_EXECUTION_TIMEOUT_MS = 3e4;
945912
946233
  MAX_CONTEXT_MODIFICATION_SIZE = 5e4;
945913
- exec3 = Symbol();
946234
+ exec4 = Symbol();
945914
946235
  HookRunner = class {
945915
946236
  constructor(hookName) {
945916
946237
  this.hookName = hookName;
@@ -945923,7 +946244,7 @@ var init_hook_factory = __esm({
945923
946244
  */
945924
946245
  async run(params) {
945925
946246
  const input = HookInput.create(await this.completeParams(params));
945926
- return this[exec3](input);
946247
+ return this[exec4](input);
945927
946248
  }
945928
946249
  // Completes the hook input parameters by adding the common hook parameters to the
945929
946250
  // hook-specific parameters provided by the caller.
@@ -945941,7 +946262,7 @@ var init_hook_factory = __esm({
945941
946262
  }
945942
946263
  };
945943
946264
  NoOpRunner = class extends HookRunner {
945944
- async [exec3](_6) {
946265
+ async [exec4](_6) {
945945
946266
  return HookOutput.create({
945946
946267
  shouldContinue: true
945947
946268
  });
@@ -945952,7 +946273,7 @@ var init_hook_factory = __esm({
945952
946273
  super(hookName);
945953
946274
  this.scriptPath = scriptPath;
945954
946275
  }
945955
- async [exec3](input) {
946276
+ async [exec4](input) {
945956
946277
  return new Promise((resolve16, reject2) => {
945957
946278
  const inputJson = JSON.stringify(HookInput.toJSON(input));
945958
946279
  const child = (0, import_node_child_process15.spawn)(this.scriptPath, [], {
@@ -946014,8 +946335,8 @@ var init_hook_factory = __esm({
946014
946335
  super(hookName);
946015
946336
  this.runners = runners;
946016
946337
  }
946017
- async [exec3](input) {
946018
- const results = await Promise.all(this.runners.map((runner) => runner[exec3](input)));
946338
+ async [exec4](input) {
946339
+ const results = await Promise.all(this.runners.map((runner) => runner[exec4](input)));
946019
946340
  const shouldContinue = results.every((result2) => result2.shouldContinue);
946020
946341
  const contextModification = results.map((result2) => result2.contextModification?.trim()).filter((mod2) => mod2).join("\n\n");
946021
946342
  const errorMessage = results.map((result2) => result2.errorMessage?.trim()).filter((msg) => msg).join("\n");
@@ -946243,7 +946564,7 @@ async function detectAvailableCliTools() {
946243
946564
  const checkCommand = isWindows4 ? "where" : "which";
946244
946565
  for (const command of CLI_TOOLS) {
946245
946566
  try {
946246
- (0, import_child_process9.execSync)(`${checkCommand} ${command}`, {
946567
+ (0, import_child_process10.execSync)(`${checkCommand} ${command}`, {
946247
946568
  stdio: "ignore",
946248
946569
  // Don't output to console
946249
946570
  timeout: 1e3
@@ -946255,11 +946576,11 @@ async function detectAvailableCliTools() {
946255
946576
  }
946256
946577
  return availableCommands;
946257
946578
  }
946258
- var import_child_process9, showNotificationForApprovalIfAutoApprovalEnabled, updateApiReqMsg, CLI_TOOLS;
946579
+ var import_child_process10, showNotificationForApprovalIfAutoApprovalEnabled, updateApiReqMsg, CLI_TOOLS;
946259
946580
  var init_utils26 = __esm({
946260
946581
  "src/core/task/utils.ts"() {
946261
946582
  "use strict";
946262
- import_child_process9 = require("child_process");
946583
+ import_child_process10 = require("child_process");
946263
946584
  init_notifications();
946264
946585
  init_cost();
946265
946586
  showNotificationForApprovalIfAutoApprovalEnabled = (message, autoApprovalSettingsEnabled, notificationsEnabled) => {
@@ -952584,9 +952905,11 @@ var init_task3 = __esm({
952584
952905
  vscode16 = __toESM(require("vscode"));
952585
952906
  init_system_prompt();
952586
952907
  init_host_provider();
952908
+ init_subagent_command();
952587
952909
  init_error5();
952588
952910
  init_telemetry();
952589
952911
  init_index_host();
952912
+ init_cli_detector();
952590
952913
  init_TestMode();
952591
952914
  init_rule_helpers();
952592
952915
  init_workflows();
@@ -953147,6 +953470,47 @@ ${task}
953147
953470
  });
953148
953471
  }
953149
953472
  }
953473
+ const hooksEnabled = featureFlagsService.getHooksEnabled() && this.stateManager.getGlobalSettingsKey("hooksEnabled");
953474
+ if (hooksEnabled) {
953475
+ try {
953476
+ const { HookFactory: HookFactory2 } = await Promise.resolve().then(() => (init_hook_factory(), hook_factory_exports));
953477
+ const hookFactory = new HookFactory2();
953478
+ const taskStartHook = await hookFactory.create("TaskStart");
953479
+ const taskStartResult = await taskStartHook.run({
953480
+ taskId: this.taskId,
953481
+ taskStart: {
953482
+ taskMetadata: {
953483
+ taskId: this.taskId,
953484
+ ulid: this.ulid,
953485
+ initialTask: task || ""
953486
+ }
953487
+ }
953488
+ });
953489
+ if (!taskStartResult.shouldContinue) {
953490
+ const errorMessage = taskStartResult.errorMessage || "TaskStart hook prevented task from starting";
953491
+ await this.say("error", errorMessage);
953492
+ await this.messageStateHandler.saveClineMessagesAndUpdateHistory();
953493
+ await this.postStateToWebview();
953494
+ this.abortTask();
953495
+ return;
953496
+ }
953497
+ if (taskStartResult.contextModification) {
953498
+ const contextText = taskStartResult.contextModification.trim();
953499
+ if (contextText) {
953500
+ userContent.push({
953501
+ type: "text",
953502
+ text: `<hook_context source="TaskStart">
953503
+ ${contextText}
953504
+ </hook_context>`
953505
+ });
953506
+ }
953507
+ }
953508
+ } catch (hookError) {
953509
+ const errorMessage = `TaskStart hook failed: ${hookError instanceof Error ? hookError.message : String(hookError)}`;
953510
+ Logger.error(errorMessage, hookError);
953511
+ await this.say("error", errorMessage);
953512
+ }
953513
+ }
953150
953514
  await this.initiateTaskLoop(userContent);
953151
953515
  }
953152
953516
  async resumeTaskFromHistory() {
@@ -953389,15 +953753,31 @@ ${output}` : ""}`
953389
953753
  }
953390
953754
  }
953391
953755
  async executeCommandTool(command, timeoutSeconds) {
953756
+ const isSubagent = isSubagentCommand(command);
953757
+ if (transformClineCommand(command) !== command && isSubagent) {
953758
+ command = transformClineCommand(command);
953759
+ }
953760
+ const subAgentStartTime = isSubagent ? performance.now() : 0;
953392
953761
  Logger.info("IS_TEST: " + isInTestMode());
953393
953762
  if (isInTestMode()) {
953394
953763
  Logger.info("Executing command in Node: " + command);
953395
953764
  return this.executeCommandInNode(command);
953396
953765
  }
953766
+ const useVscodeTerminal = isSubagent;
953397
953767
  Logger.info("Executing command in terminal: " + command);
953398
- const terminalInfo = await this.terminalManager.getOrCreateTerminal(this.cwd);
953768
+ let terminalManager;
953769
+ if (useVscodeTerminal) {
953770
+ terminalManager = new TerminalManager();
953771
+ terminalManager.setShellIntegrationTimeout(this.terminalManager["shellIntegrationTimeout"] || 4e3);
953772
+ terminalManager.setTerminalReuseEnabled(this.terminalManager["terminalReuseEnabled"] ?? true);
953773
+ terminalManager.setTerminalOutputLineLimit(this.terminalManager["terminalOutputLineLimit"] || 500);
953774
+ terminalManager.setSubagentTerminalOutputLineLimit(this.terminalManager["subagentTerminalOutputLineLimit"] || 2e3);
953775
+ } else {
953776
+ terminalManager = this.terminalManager;
953777
+ }
953778
+ const terminalInfo = await terminalManager.getOrCreateTerminal(this.cwd);
953399
953779
  terminalInfo.terminal.show();
953400
- const process25 = this.terminalManager.runCommand(terminalInfo, command);
953780
+ const process25 = terminalManager.runCommand(terminalInfo, command);
953401
953781
  this.controller.updateBackgroundCommandState(true, this.taskId);
953402
953782
  if (this.terminalExecutionMode === "backgroundExec") {
953403
953783
  this.activeBackgroundCommand = { process: process25, command };
@@ -953420,9 +953800,7 @@ ${output}` : ""}`
953420
953800
  };
953421
953801
  process25.once("completed", clearCommandState);
953422
953802
  process25.once("error", clearCommandState);
953423
- process25.finally(() => {
953424
- clearCommandState();
953425
- }).catch(() => {
953803
+ process25.catch(() => {
953426
953804
  clearCommandState();
953427
953805
  });
953428
953806
  let userFeedback;
@@ -953559,7 +953937,7 @@ ${output}` : ""}`
953559
953937
  completionTimer = null;
953560
953938
  }
953561
953939
  await (0, import_promises53.setTimeout)(50);
953562
- const result3 = this.terminalManager.processOutput(outputLines);
953940
+ const result3 = this.terminalManager.processOutput(outputLines, void 0, false);
953563
953941
  if (error.message === "COMMAND_TIMEOUT") {
953564
953942
  return [
953565
953943
  false,
@@ -953581,7 +953959,11 @@ ${result3}` : ""}`
953581
953959
  if (!didCancelViaUi) {
953582
953960
  await (0, import_promises53.setTimeout)(50);
953583
953961
  }
953584
- const result2 = this.terminalManager.processOutput(outputLines);
953962
+ const result2 = terminalManager.processOutput(
953963
+ outputLines,
953964
+ isSubagent ? terminalManager["subagentTerminalOutputLineLimit"] : void 0,
953965
+ isSubagent
953966
+ );
953585
953967
  if (didCancelViaUi) {
953586
953968
  return [
953587
953969
  true,
@@ -953592,6 +953974,10 @@ ${result2}` : ""}`
953592
953974
  )
953593
953975
  ];
953594
953976
  }
953977
+ if (isSubagent && subAgentStartTime > 0) {
953978
+ const durationMs = Math.round(performance.now() - subAgentStartTime);
953979
+ telemetryService.captureSubagentExecution(this.ulid, durationMs, outputLines.length, completed);
953980
+ }
953595
953981
  if (userFeedback) {
953596
953982
  await this.say("user_feedback", userFeedback.text, userFeedback.images, userFeedback.files);
953597
953983
  let fileContentString = "";
@@ -953715,6 +954101,12 @@ You will be updated on the terminal status and new output in the future.`
953715
954101
  const preferredLanguageInstructions = preferredLanguage && preferredLanguage !== DEFAULT_LANGUAGE_SETTINGS ? `# Preferred Language
953716
954102
 
953717
954103
  Speak in ${preferredLanguage}.` : "";
954104
+ const subagentsEnabled = this.stateManager.getGlobalSettingsKey("subagentsEnabled");
954105
+ let isSubagentsEnabledAndCliInstalled = false;
954106
+ if (subagentsEnabled) {
954107
+ const clineCliInstalled = await isClineCliInstalled();
954108
+ isSubagentsEnabledAndCliInstalled = subagentsEnabled && clineCliInstalled;
954109
+ }
953718
954110
  const { globalToggles, localToggles } = await refreshClineRulesToggles(this.controller, this.cwd);
953719
954111
  const { windsurfLocalToggles, cursorLocalToggles } = await refreshExternalRulesToggles(this.controller, this.cwd);
953720
954112
  const globalClineRulesFilePath = await ensureRulesDirectoryExists();
@@ -953741,6 +954133,10 @@ Speak in ${preferredLanguage}.` : "";
953741
954133
  // Cast VcsType to string
953742
954134
  }));
953743
954135
  }
954136
+ const isCliSubagent = isCliSubagentContext({
954137
+ yoloModeToggled: this.stateManager.getGlobalSettingsKey("yoloModeToggled"),
954138
+ maxConsecutiveMistakes: this.stateManager.getGlobalSettingsKey("maxConsecutiveMistakes")
954139
+ });
953744
954140
  const promptContext = {
953745
954141
  cwd: this.cwd,
953746
954142
  ide,
@@ -953758,7 +954154,9 @@ Speak in ${preferredLanguage}.` : "";
953758
954154
  browserSettings: this.stateManager.getGlobalSettingsKey("browserSettings"),
953759
954155
  yoloModeToggled: this.stateManager.getGlobalSettingsKey("yoloModeToggled"),
953760
954156
  isMultiRootEnabled: multiRootEnabled,
953761
- workspaceRoots
954157
+ workspaceRoots,
954158
+ isSubagentsEnabledAndCliInstalled,
954159
+ isCliSubagent
953762
954160
  };
953763
954161
  const systemPrompt = await getSystemPrompt(promptContext);
953764
954162
  const contextManagementMetadata = await this.contextManager.getNewContextMessagesAndMetadata(
@@ -954880,6 +955278,7 @@ var init_controller = __esm({
954880
955278
  init_task3();
954881
955279
  init_subscribeToMcpMarketplaceCatalog();
954882
955280
  init_refreshOpenRouterModels();
955281
+ init_checkCliInstallation();
954883
955282
  init_subscribeToState();
954884
955283
  init_subscribeToChatButtonClicked();
954885
955284
  Controller = class {
@@ -954925,6 +955324,7 @@ var init_controller = __esm({
954925
955324
  cleanupLegacyCheckpoints().catch((error) => {
954926
955325
  console.error("Failed to cleanup legacy checkpoints:", error);
954927
955326
  });
955327
+ checkCliInstallation(this);
954928
955328
  }
954929
955329
  task;
954930
955330
  mcpHub;
@@ -955499,6 +955899,7 @@ var init_controller = __esm({
955499
955899
  const favoritedModelIds = this.stateManager.getGlobalStateKey("favoritedModelIds");
955500
955900
  const lastDismissedInfoBannerVersion = this.stateManager.getGlobalStateKey("lastDismissedInfoBannerVersion") || 0;
955501
955901
  const lastDismissedModelBannerVersion = this.stateManager.getGlobalStateKey("lastDismissedModelBannerVersion") || 0;
955902
+ const lastDismissedCliBannerVersion = this.stateManager.getGlobalStateKey("lastDismissedCliBannerVersion") || 0;
955502
955903
  const subagentsEnabled = this.stateManager.getGlobalSettingsKey("subagentsEnabled");
955503
955904
  const localClineRulesToggles = this.stateManager.getWorkspaceStateKey("localClineRulesToggles");
955504
955905
  const localWindsurfRulesToggles = this.stateManager.getWorkspaceStateKey("localWindsurfRulesToggles");
@@ -955586,6 +955987,7 @@ var init_controller = __esm({
955586
955987
  lastDismissedInfoBannerVersion,
955587
955988
  lastDismissedModelBannerVersion,
955588
955989
  remoteConfigSettings: this.stateManager.getRemoteConfigSettings(),
955990
+ lastDismissedCliBannerVersion,
955589
955991
  subagentsEnabled
955590
955992
  };
955591
955993
  }
@@ -971910,7 +972312,7 @@ var Metadata2 = {
971910
972312
  function createBaseEmptyRequest2() {
971911
972313
  return {};
971912
972314
  }
971913
- var EmptyRequest15 = {
972315
+ var EmptyRequest16 = {
971914
972316
  encode(_6, writer = new BinaryWriter()) {
971915
972317
  return writer;
971916
972318
  },
@@ -971937,7 +972339,7 @@ var EmptyRequest15 = {
971937
972339
  return obj2;
971938
972340
  },
971939
972341
  create(base) {
971940
- return EmptyRequest15.fromPartial(base ?? {});
972342
+ return EmptyRequest16.fromPartial(base ?? {});
971941
972343
  },
971942
972344
  fromPartial(_6) {
971943
972345
  const message = createBaseEmptyRequest2();
@@ -972397,6 +972799,8 @@ __export(index_host_exports2, {
972397
972799
  ContentDiff: () => ContentDiff,
972398
972800
  DiffServiceDefinition: () => DiffServiceDefinition,
972399
972801
  EnvServiceDefinition: () => EnvServiceDefinition,
972802
+ ExecuteCommandInTerminalRequest: () => ExecuteCommandInTerminalRequest2,
972803
+ ExecuteCommandInTerminalResponse: () => ExecuteCommandInTerminalResponse,
972400
972804
  FileExtensionList: () => FileExtensionList,
972401
972805
  GetActiveEditorRequest: () => GetActiveEditorRequest,
972402
972806
  GetActiveEditorResponse: () => GetActiveEditorResponse,
@@ -973812,7 +974216,7 @@ var EnvServiceDefinition = {
973812
974216
  /** Reads text from the system clipboard. */
973813
974217
  clipboardReadText: {
973814
974218
  name: "clipboardReadText",
973815
- requestType: EmptyRequest15,
974219
+ requestType: EmptyRequest16,
973816
974220
  requestStream: false,
973817
974221
  responseType: String3,
973818
974222
  responseStream: false,
@@ -973821,7 +974225,7 @@ var EnvServiceDefinition = {
973821
974225
  /** Returns the name and version of the host IDE or environment. */
973822
974226
  getHostVersion: {
973823
974227
  name: "getHostVersion",
973824
- requestType: EmptyRequest15,
974228
+ requestType: EmptyRequest16,
973825
974229
  requestStream: false,
973826
974230
  responseType: GetHostVersionResponse,
973827
974231
  responseStream: false,
@@ -973834,7 +974238,7 @@ var EnvServiceDefinition = {
973834
974238
  */
973835
974239
  getIdeRedirectUri: {
973836
974240
  name: "getIdeRedirectUri",
973837
- requestType: EmptyRequest15,
974241
+ requestType: EmptyRequest16,
973838
974242
  requestStream: false,
973839
974243
  responseType: String3,
973840
974244
  responseStream: false,
@@ -973846,7 +974250,7 @@ var EnvServiceDefinition = {
973846
974250
  */
973847
974251
  getTelemetrySettings: {
973848
974252
  name: "getTelemetrySettings",
973849
- requestType: EmptyRequest15,
974253
+ requestType: EmptyRequest16,
973850
974254
  requestStream: false,
973851
974255
  responseType: GetTelemetrySettingsResponse,
973852
974256
  responseStream: false,
@@ -973855,7 +974259,7 @@ var EnvServiceDefinition = {
973855
974259
  /** Returns events when the telemetry settings change. */
973856
974260
  subscribeToTelemetrySettings: {
973857
974261
  name: "subscribeToTelemetrySettings",
973858
- requestType: EmptyRequest15,
974262
+ requestType: EmptyRequest16,
973859
974263
  requestStream: false,
973860
974264
  responseType: TelemetrySettingsEvent,
973861
974265
  responseStream: true,
@@ -973864,7 +974268,7 @@ var EnvServiceDefinition = {
973864
974268
  /** Initiates a graceful shutdown of the host bridge service. */
973865
974269
  shutdown: {
973866
974270
  name: "shutdown",
973867
- requestType: EmptyRequest15,
974271
+ requestType: EmptyRequest16,
973868
974272
  requestStream: false,
973869
974273
  responseType: Empty2,
973870
974274
  responseStream: false,
@@ -976534,6 +976938,108 @@ var OpenTerminalResponse = {
976534
976938
  return message;
976535
976939
  }
976536
976940
  };
976941
+ function createBaseExecuteCommandInTerminalRequest2() {
976942
+ return { command: "" };
976943
+ }
976944
+ var ExecuteCommandInTerminalRequest2 = {
976945
+ encode(message, writer = new BinaryWriter()) {
976946
+ if (message.command !== "") {
976947
+ writer.uint32(10).string(message.command);
976948
+ }
976949
+ return writer;
976950
+ },
976951
+ decode(input, length) {
976952
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
976953
+ let end2 = length === void 0 ? reader.len : reader.pos + length;
976954
+ const message = createBaseExecuteCommandInTerminalRequest2();
976955
+ while (reader.pos < end2) {
976956
+ const tag = reader.uint32();
976957
+ switch (tag >>> 3) {
976958
+ case 1: {
976959
+ if (tag !== 10) {
976960
+ break;
976961
+ }
976962
+ message.command = reader.string();
976963
+ continue;
976964
+ }
976965
+ }
976966
+ if ((tag & 7) === 4 || tag === 0) {
976967
+ break;
976968
+ }
976969
+ reader.skip(tag & 7);
976970
+ }
976971
+ return message;
976972
+ },
976973
+ fromJSON(object2) {
976974
+ return { command: isSet24(object2.command) ? globalThis.String(object2.command) : "" };
976975
+ },
976976
+ toJSON(message) {
976977
+ const obj2 = {};
976978
+ if (message.command !== "") {
976979
+ obj2.command = message.command;
976980
+ }
976981
+ return obj2;
976982
+ },
976983
+ create(base) {
976984
+ return ExecuteCommandInTerminalRequest2.fromPartial(base ?? {});
976985
+ },
976986
+ fromPartial(object2) {
976987
+ const message = createBaseExecuteCommandInTerminalRequest2();
976988
+ message.command = object2.command ?? "";
976989
+ return message;
976990
+ }
976991
+ };
976992
+ function createBaseExecuteCommandInTerminalResponse() {
976993
+ return { success: false };
976994
+ }
976995
+ var ExecuteCommandInTerminalResponse = {
976996
+ encode(message, writer = new BinaryWriter()) {
976997
+ if (message.success !== false) {
976998
+ writer.uint32(8).bool(message.success);
976999
+ }
977000
+ return writer;
977001
+ },
977002
+ decode(input, length) {
977003
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
977004
+ let end2 = length === void 0 ? reader.len : reader.pos + length;
977005
+ const message = createBaseExecuteCommandInTerminalResponse();
977006
+ while (reader.pos < end2) {
977007
+ const tag = reader.uint32();
977008
+ switch (tag >>> 3) {
977009
+ case 1: {
977010
+ if (tag !== 8) {
977011
+ break;
977012
+ }
977013
+ message.success = reader.bool();
977014
+ continue;
977015
+ }
977016
+ }
977017
+ if ((tag & 7) === 4 || tag === 0) {
977018
+ break;
977019
+ }
977020
+ reader.skip(tag & 7);
977021
+ }
977022
+ return message;
977023
+ },
977024
+ fromJSON(object2) {
977025
+ return { success: isSet24(object2.success) ? globalThis.Boolean(object2.success) : false };
977026
+ },
977027
+ toJSON(message) {
977028
+ const obj2 = {};
977029
+ if (message.success !== false) {
977030
+ obj2.success = message.success;
977031
+ }
977032
+ return obj2;
977033
+ },
977034
+ create(base) {
977035
+ return ExecuteCommandInTerminalResponse.fromPartial(base ?? {});
977036
+ },
977037
+ fromPartial(object2) {
977038
+ const message = createBaseExecuteCommandInTerminalResponse();
977039
+ message.success = object2.success ?? false;
977040
+ return message;
977041
+ }
977042
+ };
976537
977043
  var WorkspaceServiceDefinition = {
976538
977044
  name: "WorkspaceService",
976539
977045
  fullName: "host.WorkspaceService",
@@ -976604,6 +977110,15 @@ var WorkspaceServiceDefinition = {
976604
977110
  responseType: OpenTerminalResponse,
976605
977111
  responseStream: false,
976606
977112
  options: {}
977113
+ },
977114
+ /** Executes a command in a new terminal */
977115
+ executeCommandInTerminal: {
977116
+ name: "executeCommandInTerminal",
977117
+ requestType: ExecuteCommandInTerminalRequest2,
977118
+ requestStream: false,
977119
+ responseType: ExecuteCommandInTerminalResponse,
977120
+ responseStream: false,
977121
+ options: {}
976607
977122
  }
976608
977123
  }
976609
977124
  };
@@ -976782,6 +977297,9 @@ var WorkspaceServiceClientImpl = class extends BaseGrpcClient {
976782
977297
  openTerminalPanel(request5) {
976783
977298
  return this.makeRequest((client) => client.openTerminalPanel(request5));
976784
977299
  }
977300
+ executeCommandInTerminal(request5) {
977301
+ return this.makeRequest((client) => client.executeCommandInTerminal(request5));
977302
+ }
976785
977303
  };
976786
977304
 
976787
977305
  // src/standalone/hostbridge-client.ts
@@ -977461,7 +977979,7 @@ __export(index_cline_exports3, {
977461
977979
  DictationServiceService: () => DictationServiceService,
977462
977980
  DictationSettings: () => DictationSettings3,
977463
977981
  Empty: () => Empty3,
977464
- EmptyRequest: () => EmptyRequest16,
977982
+ EmptyRequest: () => EmptyRequest17,
977465
977983
  ExecuteQuickWinRequest: () => ExecuteQuickWinRequest2,
977466
977984
  FileDiagnostics: () => FileDiagnostics5,
977467
977985
  FileInfo: () => FileInfo2,
@@ -977479,7 +977997,7 @@ __export(index_cline_exports3, {
977479
977997
  HookInput: () => HookInput2,
977480
977998
  HookOutput: () => HookOutput2,
977481
977999
  Int64: () => Int643,
977482
- Int64Request: () => Int64Request7,
978000
+ Int64Request: () => Int64Request8,
977483
978001
  IsImageUrl: () => IsImageUrl2,
977484
978002
  KeyValuePair: () => KeyValuePair3,
977485
978003
  LanguageModelChatSelector: () => LanguageModelChatSelector3,
@@ -977736,7 +978254,7 @@ var Metadata3 = {
977736
978254
  function createBaseEmptyRequest3() {
977737
978255
  return {};
977738
978256
  }
977739
- var EmptyRequest16 = {
978257
+ var EmptyRequest17 = {
977740
978258
  encode(_6, writer = new BinaryWriter()) {
977741
978259
  return writer;
977742
978260
  },
@@ -977763,7 +978281,7 @@ var EmptyRequest16 = {
977763
978281
  return obj2;
977764
978282
  },
977765
978283
  create(base) {
977766
- return EmptyRequest16.fromPartial(base ?? {});
978284
+ return EmptyRequest17.fromPartial(base ?? {});
977767
978285
  },
977768
978286
  fromPartial(_6) {
977769
978287
  const message = createBaseEmptyRequest3();
@@ -977963,7 +978481,7 @@ var String4 = {
977963
978481
  function createBaseInt64Request2() {
977964
978482
  return { value: 0 };
977965
978483
  }
977966
- var Int64Request7 = {
978484
+ var Int64Request8 = {
977967
978485
  encode(message, writer = new BinaryWriter()) {
977968
978486
  if (message.value !== 0) {
977969
978487
  writer.uint32(16).int64(message.value);
@@ -978003,7 +978521,7 @@ var Int64Request7 = {
978003
978521
  return obj2;
978004
978522
  },
978005
978523
  create(base) {
978006
- return Int64Request7.fromPartial(base ?? {});
978524
+ return Int64Request8.fromPartial(base ?? {});
978007
978525
  },
978008
978526
  fromPartial(object2) {
978009
978527
  const message = createBaseInt64Request2();
@@ -980119,7 +980637,7 @@ var AccountServiceDefinition2 = {
980119
980637
  */
980120
980638
  accountLoginClicked: {
980121
980639
  name: "accountLoginClicked",
980122
- requestType: EmptyRequest16,
980640
+ requestType: EmptyRequest17,
980123
980641
  requestStream: false,
980124
980642
  responseType: String4,
980125
980643
  responseStream: false,
@@ -980131,7 +980649,7 @@ var AccountServiceDefinition2 = {
980131
980649
  */
980132
980650
  accountLogoutClicked: {
980133
980651
  name: "accountLogoutClicked",
980134
- requestType: EmptyRequest16,
980652
+ requestType: EmptyRequest17,
980135
980653
  requestStream: false,
980136
980654
  responseType: Empty3,
980137
980655
  responseStream: false,
@@ -980140,7 +980658,7 @@ var AccountServiceDefinition2 = {
980140
980658
  /** Subscribe to auth status update events (when authentication state changes) */
980141
980659
  subscribeToAuthStatusUpdate: {
980142
980660
  name: "subscribeToAuthStatusUpdate",
980143
- requestType: EmptyRequest16,
980661
+ requestType: EmptyRequest17,
980144
980662
  requestStream: false,
980145
980663
  responseType: AuthState2,
980146
980664
  responseStream: true,
@@ -980164,7 +980682,7 @@ var AccountServiceDefinition2 = {
980164
980682
  */
980165
980683
  getUserCredits: {
980166
980684
  name: "getUserCredits",
980167
- requestType: EmptyRequest16,
980685
+ requestType: EmptyRequest17,
980168
980686
  requestStream: false,
980169
980687
  responseType: UserCreditsData2,
980170
980688
  responseStream: false,
@@ -980184,7 +980702,7 @@ var AccountServiceDefinition2 = {
980184
980702
  */
980185
980703
  getUserOrganizations: {
980186
980704
  name: "getUserOrganizations",
980187
- requestType: EmptyRequest16,
980705
+ requestType: EmptyRequest17,
980188
980706
  requestStream: false,
980189
980707
  responseType: UserOrganizationsResponse2,
980190
980708
  responseStream: false,
@@ -980200,7 +980718,7 @@ var AccountServiceDefinition2 = {
980200
980718
  },
980201
980719
  openrouterAuthClicked: {
980202
980720
  name: "openrouterAuthClicked",
980203
- requestType: EmptyRequest16,
980721
+ requestType: EmptyRequest17,
980204
980722
  requestStream: false,
980205
980723
  responseType: Empty3,
980206
980724
  responseStream: false,
@@ -980209,7 +980727,7 @@ var AccountServiceDefinition2 = {
980209
980727
  /** Returns a link the webview can use to redirect back to the user's IDE. */
980210
980728
  getRedirectUrl: {
980211
980729
  name: "getRedirectUrl",
980212
- requestType: EmptyRequest16,
980730
+ requestType: EmptyRequest17,
980213
980731
  requestStream: false,
980214
980732
  responseType: String4,
980215
980733
  responseStream: false,
@@ -980227,8 +980745,8 @@ var AccountServiceService = {
980227
980745
  path: "/cline.AccountService/accountLoginClicked",
980228
980746
  requestStream: false,
980229
980747
  responseStream: false,
980230
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
980231
- requestDeserialize: (value) => EmptyRequest16.decode(value),
980748
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
980749
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
980232
980750
  responseSerialize: (value) => Buffer.from(String4.encode(value).finish()),
980233
980751
  responseDeserialize: (value) => String4.decode(value)
980234
980752
  },
@@ -980240,8 +980758,8 @@ var AccountServiceService = {
980240
980758
  path: "/cline.AccountService/accountLogoutClicked",
980241
980759
  requestStream: false,
980242
980760
  responseStream: false,
980243
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
980244
- requestDeserialize: (value) => EmptyRequest16.decode(value),
980761
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
980762
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
980245
980763
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
980246
980764
  responseDeserialize: (value) => Empty3.decode(value)
980247
980765
  },
@@ -980250,8 +980768,8 @@ var AccountServiceService = {
980250
980768
  path: "/cline.AccountService/subscribeToAuthStatusUpdate",
980251
980769
  requestStream: false,
980252
980770
  responseStream: true,
980253
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
980254
- requestDeserialize: (value) => EmptyRequest16.decode(value),
980771
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
980772
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
980255
980773
  responseSerialize: (value) => Buffer.from(AuthState2.encode(value).finish()),
980256
980774
  responseDeserialize: (value) => AuthState2.decode(value)
980257
980775
  },
@@ -980276,8 +980794,8 @@ var AccountServiceService = {
980276
980794
  path: "/cline.AccountService/getUserCredits",
980277
980795
  requestStream: false,
980278
980796
  responseStream: false,
980279
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
980280
- requestDeserialize: (value) => EmptyRequest16.decode(value),
980797
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
980798
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
980281
980799
  responseSerialize: (value) => Buffer.from(UserCreditsData2.encode(value).finish()),
980282
980800
  responseDeserialize: (value) => UserCreditsData2.decode(value)
980283
980801
  },
@@ -980298,8 +980816,8 @@ var AccountServiceService = {
980298
980816
  path: "/cline.AccountService/getUserOrganizations",
980299
980817
  requestStream: false,
980300
980818
  responseStream: false,
980301
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
980302
- requestDeserialize: (value) => EmptyRequest16.decode(value),
980819
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
980820
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
980303
980821
  responseSerialize: (value) => Buffer.from(UserOrganizationsResponse2.encode(value).finish()),
980304
980822
  responseDeserialize: (value) => UserOrganizationsResponse2.decode(value)
980305
980823
  },
@@ -980316,8 +980834,8 @@ var AccountServiceService = {
980316
980834
  path: "/cline.AccountService/openrouterAuthClicked",
980317
980835
  requestStream: false,
980318
980836
  responseStream: false,
980319
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
980320
- requestDeserialize: (value) => EmptyRequest16.decode(value),
980837
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
980838
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
980321
980839
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
980322
980840
  responseDeserialize: (value) => Empty3.decode(value)
980323
980841
  },
@@ -980326,8 +980844,8 @@ var AccountServiceService = {
980326
980844
  path: "/cline.AccountService/getRedirectUrl",
980327
980845
  requestStream: false,
980328
980846
  responseStream: false,
980329
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
980330
- requestDeserialize: (value) => EmptyRequest16.decode(value),
980847
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
980848
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
980331
980849
  responseSerialize: (value) => Buffer.from(String4.encode(value).finish()),
980332
980850
  responseDeserialize: (value) => String4.decode(value)
980333
980851
  }
@@ -980937,7 +981455,7 @@ var BrowserServiceDefinition2 = {
980937
981455
  methods: {
980938
981456
  getBrowserConnectionInfo: {
980939
981457
  name: "getBrowserConnectionInfo",
980940
- requestType: EmptyRequest16,
981458
+ requestType: EmptyRequest17,
980941
981459
  requestStream: false,
980942
981460
  responseType: BrowserConnectionInfo2,
980943
981461
  responseStream: false,
@@ -980953,7 +981471,7 @@ var BrowserServiceDefinition2 = {
980953
981471
  },
980954
981472
  discoverBrowser: {
980955
981473
  name: "discoverBrowser",
980956
- requestType: EmptyRequest16,
981474
+ requestType: EmptyRequest17,
980957
981475
  requestStream: false,
980958
981476
  responseType: BrowserConnection2,
980959
981477
  responseStream: false,
@@ -980961,7 +981479,7 @@ var BrowserServiceDefinition2 = {
980961
981479
  },
980962
981480
  getDetectedChromePath: {
980963
981481
  name: "getDetectedChromePath",
980964
- requestType: EmptyRequest16,
981482
+ requestType: EmptyRequest17,
980965
981483
  requestStream: false,
980966
981484
  responseType: ChromePath2,
980967
981485
  responseStream: false,
@@ -980969,7 +981487,7 @@ var BrowserServiceDefinition2 = {
980969
981487
  },
980970
981488
  relaunchChromeDebugMode: {
980971
981489
  name: "relaunchChromeDebugMode",
980972
- requestType: EmptyRequest16,
981490
+ requestType: EmptyRequest17,
980973
981491
  requestStream: false,
980974
981492
  responseType: String4,
980975
981493
  responseStream: false,
@@ -980982,8 +981500,8 @@ var BrowserServiceService = {
980982
981500
  path: "/cline.BrowserService/getBrowserConnectionInfo",
980983
981501
  requestStream: false,
980984
981502
  responseStream: false,
980985
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
980986
- requestDeserialize: (value) => EmptyRequest16.decode(value),
981503
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
981504
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
980987
981505
  responseSerialize: (value) => Buffer.from(BrowserConnectionInfo2.encode(value).finish()),
980988
981506
  responseDeserialize: (value) => BrowserConnectionInfo2.decode(value)
980989
981507
  },
@@ -981000,8 +981518,8 @@ var BrowserServiceService = {
981000
981518
  path: "/cline.BrowserService/discoverBrowser",
981001
981519
  requestStream: false,
981002
981520
  responseStream: false,
981003
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
981004
- requestDeserialize: (value) => EmptyRequest16.decode(value),
981521
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
981522
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
981005
981523
  responseSerialize: (value) => Buffer.from(BrowserConnection2.encode(value).finish()),
981006
981524
  responseDeserialize: (value) => BrowserConnection2.decode(value)
981007
981525
  },
@@ -981009,8 +981527,8 @@ var BrowserServiceService = {
981009
981527
  path: "/cline.BrowserService/getDetectedChromePath",
981010
981528
  requestStream: false,
981011
981529
  responseStream: false,
981012
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
981013
- requestDeserialize: (value) => EmptyRequest16.decode(value),
981530
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
981531
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
981014
981532
  responseSerialize: (value) => Buffer.from(ChromePath2.encode(value).finish()),
981015
981533
  responseDeserialize: (value) => ChromePath2.decode(value)
981016
981534
  },
@@ -981018,8 +981536,8 @@ var BrowserServiceService = {
981018
981536
  path: "/cline.BrowserService/relaunchChromeDebugMode",
981019
981537
  requestStream: false,
981020
981538
  responseStream: false,
981021
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
981022
- requestDeserialize: (value) => EmptyRequest16.decode(value),
981539
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
981540
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
981023
981541
  responseSerialize: (value) => Buffer.from(String4.encode(value).finish()),
981024
981542
  responseDeserialize: (value) => String4.decode(value)
981025
981543
  }
@@ -981579,7 +982097,7 @@ var CheckpointsServiceDefinition2 = {
981579
982097
  methods: {
981580
982098
  checkpointDiff: {
981581
982099
  name: "checkpointDiff",
981582
- requestType: Int64Request7,
982100
+ requestType: Int64Request8,
981583
982101
  requestStream: false,
981584
982102
  responseType: Empty3,
981585
982103
  responseStream: false,
@@ -981616,8 +982134,8 @@ var CheckpointsServiceService = {
981616
982134
  path: "/cline.CheckpointsService/checkpointDiff",
981617
982135
  requestStream: false,
981618
982136
  responseStream: false,
981619
- requestSerialize: (value) => Buffer.from(Int64Request7.encode(value).finish()),
981620
- requestDeserialize: (value) => Int64Request7.decode(value),
982137
+ requestSerialize: (value) => Buffer.from(Int64Request8.encode(value).finish()),
982138
+ requestDeserialize: (value) => Int64Request8.decode(value),
981621
982139
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
981622
982140
  responseDeserialize: (value) => Empty3.decode(value)
981623
982141
  },
@@ -982253,7 +982771,7 @@ var DictationServiceDefinition2 = {
982253
982771
  methods: {
982254
982772
  startRecording: {
982255
982773
  name: "startRecording",
982256
- requestType: EmptyRequest16,
982774
+ requestType: EmptyRequest17,
982257
982775
  requestStream: false,
982258
982776
  responseType: RecordingResult2,
982259
982777
  responseStream: false,
@@ -982261,7 +982779,7 @@ var DictationServiceDefinition2 = {
982261
982779
  },
982262
982780
  stopRecording: {
982263
982781
  name: "stopRecording",
982264
- requestType: EmptyRequest16,
982782
+ requestType: EmptyRequest17,
982265
982783
  requestStream: false,
982266
982784
  responseType: RecordedAudio2,
982267
982785
  responseStream: false,
@@ -982269,7 +982787,7 @@ var DictationServiceDefinition2 = {
982269
982787
  },
982270
982788
  cancelRecording: {
982271
982789
  name: "cancelRecording",
982272
- requestType: EmptyRequest16,
982790
+ requestType: EmptyRequest17,
982273
982791
  requestStream: false,
982274
982792
  responseType: RecordingResult2,
982275
982793
  responseStream: false,
@@ -982277,7 +982795,7 @@ var DictationServiceDefinition2 = {
982277
982795
  },
982278
982796
  getRecordingStatus: {
982279
982797
  name: "getRecordingStatus",
982280
- requestType: EmptyRequest16,
982798
+ requestType: EmptyRequest17,
982281
982799
  requestStream: false,
982282
982800
  responseType: RecordingStatus2,
982283
982801
  responseStream: false,
@@ -982298,8 +982816,8 @@ var DictationServiceService = {
982298
982816
  path: "/cline.DictationService/startRecording",
982299
982817
  requestStream: false,
982300
982818
  responseStream: false,
982301
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
982302
- requestDeserialize: (value) => EmptyRequest16.decode(value),
982819
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
982820
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
982303
982821
  responseSerialize: (value) => Buffer.from(RecordingResult2.encode(value).finish()),
982304
982822
  responseDeserialize: (value) => RecordingResult2.decode(value)
982305
982823
  },
@@ -982307,8 +982825,8 @@ var DictationServiceService = {
982307
982825
  path: "/cline.DictationService/stopRecording",
982308
982826
  requestStream: false,
982309
982827
  responseStream: false,
982310
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
982311
- requestDeserialize: (value) => EmptyRequest16.decode(value),
982828
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
982829
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
982312
982830
  responseSerialize: (value) => Buffer.from(RecordedAudio2.encode(value).finish()),
982313
982831
  responseDeserialize: (value) => RecordedAudio2.decode(value)
982314
982832
  },
@@ -982316,8 +982834,8 @@ var DictationServiceService = {
982316
982834
  path: "/cline.DictationService/cancelRecording",
982317
982835
  requestStream: false,
982318
982836
  responseStream: false,
982319
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
982320
- requestDeserialize: (value) => EmptyRequest16.decode(value),
982837
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
982838
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
982321
982839
  responseSerialize: (value) => Buffer.from(RecordingResult2.encode(value).finish()),
982322
982840
  responseDeserialize: (value) => RecordingResult2.decode(value)
982323
982841
  },
@@ -982325,8 +982843,8 @@ var DictationServiceService = {
982325
982843
  path: "/cline.DictationService/getRecordingStatus",
982326
982844
  requestStream: false,
982327
982845
  responseStream: false,
982328
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
982329
- requestDeserialize: (value) => EmptyRequest16.decode(value),
982846
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
982847
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
982330
982848
  responseSerialize: (value) => Buffer.from(RecordingStatus2.encode(value).finish()),
982331
982849
  responseDeserialize: (value) => RecordingStatus2.decode(value)
982332
982850
  },
@@ -983991,7 +984509,7 @@ var FileServiceDefinition2 = {
983991
984509
  /** Refreshes all rule toggles (Cline, External, and Workflows) */
983992
984510
  refreshRules: {
983993
984511
  name: "refreshRules",
983994
- requestType: EmptyRequest16,
984512
+ requestType: EmptyRequest17,
983995
984513
  requestStream: false,
983996
984514
  responseType: RefreshedRules2,
983997
984515
  responseStream: false,
@@ -984180,8 +984698,8 @@ var FileServiceService = {
984180
984698
  path: "/cline.FileService/refreshRules",
984181
984699
  requestStream: false,
984182
984700
  responseStream: false,
984183
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
984184
- requestDeserialize: (value) => EmptyRequest16.decode(value),
984701
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
984702
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
984185
984703
  responseSerialize: (value) => Buffer.from(RefreshedRules2.encode(value).finish()),
984186
984704
  responseDeserialize: (value) => RefreshedRules2.decode(value)
984187
984705
  },
@@ -987326,7 +987844,7 @@ var McpServiceDefinition2 = {
987326
987844
  },
987327
987845
  refreshMcpMarketplace: {
987328
987846
  name: "refreshMcpMarketplace",
987329
- requestType: EmptyRequest16,
987847
+ requestType: EmptyRequest17,
987330
987848
  requestStream: false,
987331
987849
  responseType: McpMarketplaceCatalog2,
987332
987850
  responseStream: false,
@@ -987334,7 +987852,7 @@ var McpServiceDefinition2 = {
987334
987852
  },
987335
987853
  openMcpSettings: {
987336
987854
  name: "openMcpSettings",
987337
- requestType: EmptyRequest16,
987855
+ requestType: EmptyRequest17,
987338
987856
  requestStream: false,
987339
987857
  responseType: Empty3,
987340
987858
  responseStream: false,
@@ -987343,7 +987861,7 @@ var McpServiceDefinition2 = {
987343
987861
  /** Subscribe to MCP marketplace catalog updates */
987344
987862
  subscribeToMcpMarketplaceCatalog: {
987345
987863
  name: "subscribeToMcpMarketplaceCatalog",
987346
- requestType: EmptyRequest16,
987864
+ requestType: EmptyRequest17,
987347
987865
  requestStream: false,
987348
987866
  responseType: McpMarketplaceCatalog2,
987349
987867
  responseStream: true,
@@ -987360,7 +987878,7 @@ var McpServiceDefinition2 = {
987360
987878
  /** Subscribe to MCP server updates */
987361
987879
  subscribeToMcpServers: {
987362
987880
  name: "subscribeToMcpServers",
987363
- requestType: EmptyRequest16,
987881
+ requestType: EmptyRequest17,
987364
987882
  requestStream: false,
987365
987883
  responseType: McpServers2,
987366
987884
  responseStream: true,
@@ -987436,8 +987954,8 @@ var McpServiceService = {
987436
987954
  path: "/cline.McpService/refreshMcpMarketplace",
987437
987955
  requestStream: false,
987438
987956
  responseStream: false,
987439
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
987440
- requestDeserialize: (value) => EmptyRequest16.decode(value),
987957
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
987958
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
987441
987959
  responseSerialize: (value) => Buffer.from(McpMarketplaceCatalog2.encode(value).finish()),
987442
987960
  responseDeserialize: (value) => McpMarketplaceCatalog2.decode(value)
987443
987961
  },
@@ -987445,8 +987963,8 @@ var McpServiceService = {
987445
987963
  path: "/cline.McpService/openMcpSettings",
987446
987964
  requestStream: false,
987447
987965
  responseStream: false,
987448
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
987449
- requestDeserialize: (value) => EmptyRequest16.decode(value),
987966
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
987967
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
987450
987968
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
987451
987969
  responseDeserialize: (value) => Empty3.decode(value)
987452
987970
  },
@@ -987455,8 +987973,8 @@ var McpServiceService = {
987455
987973
  path: "/cline.McpService/subscribeToMcpMarketplaceCatalog",
987456
987974
  requestStream: false,
987457
987975
  responseStream: true,
987458
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
987459
- requestDeserialize: (value) => EmptyRequest16.decode(value),
987976
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
987977
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
987460
987978
  responseSerialize: (value) => Buffer.from(McpMarketplaceCatalog2.encode(value).finish()),
987461
987979
  responseDeserialize: (value) => McpMarketplaceCatalog2.decode(value)
987462
987980
  },
@@ -987474,8 +987992,8 @@ var McpServiceService = {
987474
987992
  path: "/cline.McpService/subscribeToMcpServers",
987475
987993
  requestStream: false,
987476
987994
  responseStream: true,
987477
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
987478
- requestDeserialize: (value) => EmptyRequest16.decode(value),
987995
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
987996
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
987479
987997
  responseSerialize: (value) => Buffer.from(McpServers2.encode(value).finish()),
987480
987998
  responseDeserialize: (value) => McpServers2.decode(value)
987481
987999
  }
@@ -992461,7 +992979,7 @@ var ModelsServiceDefinition2 = {
992461
992979
  /** Fetches available models from VS Code LM API */
992462
992980
  getVsCodeLmModels: {
992463
992981
  name: "getVsCodeLmModels",
992464
- requestType: EmptyRequest16,
992982
+ requestType: EmptyRequest17,
992465
992983
  requestStream: false,
992466
992984
  responseType: VsCodeLmModelsArray2,
992467
992985
  responseStream: false,
@@ -992470,7 +992988,7 @@ var ModelsServiceDefinition2 = {
992470
992988
  /** Refreshes and returns OpenRouter models */
992471
992989
  refreshOpenRouterModels: {
992472
992990
  name: "refreshOpenRouterModels",
992473
- requestType: EmptyRequest16,
992991
+ requestType: EmptyRequest17,
992474
992992
  requestStream: false,
992475
992993
  responseType: OpenRouterCompatibleModelInfo2,
992476
992994
  responseStream: false,
@@ -992479,7 +992997,7 @@ var ModelsServiceDefinition2 = {
992479
992997
  /** Refreshes and returns Hugging Face models */
992480
992998
  refreshHuggingFaceModels: {
992481
992999
  name: "refreshHuggingFaceModels",
992482
- requestType: EmptyRequest16,
993000
+ requestType: EmptyRequest17,
992483
993001
  requestStream: false,
992484
993002
  responseType: OpenRouterCompatibleModelInfo2,
992485
993003
  responseStream: false,
@@ -992497,7 +993015,7 @@ var ModelsServiceDefinition2 = {
992497
993015
  /** Refreshes and returns Vercel AI Gateway models */
992498
993016
  refreshVercelAiGatewayModels: {
992499
993017
  name: "refreshVercelAiGatewayModels",
992500
- requestType: EmptyRequest16,
993018
+ requestType: EmptyRequest17,
992501
993019
  requestStream: false,
992502
993020
  responseType: OpenRouterCompatibleModelInfo2,
992503
993021
  responseStream: false,
@@ -992506,7 +993024,7 @@ var ModelsServiceDefinition2 = {
992506
993024
  /** Refreshes and returns Requesty models */
992507
993025
  refreshRequestyModels: {
992508
993026
  name: "refreshRequestyModels",
992509
- requestType: EmptyRequest16,
993027
+ requestType: EmptyRequest17,
992510
993028
  requestStream: false,
992511
993029
  responseType: OpenRouterCompatibleModelInfo2,
992512
993030
  responseStream: false,
@@ -992515,7 +993033,7 @@ var ModelsServiceDefinition2 = {
992515
993033
  /** Subscribe to OpenRouter models updates */
992516
993034
  subscribeToOpenRouterModels: {
992517
993035
  name: "subscribeToOpenRouterModels",
992518
- requestType: EmptyRequest16,
993036
+ requestType: EmptyRequest17,
992519
993037
  requestStream: false,
992520
993038
  responseType: OpenRouterCompatibleModelInfo2,
992521
993039
  responseStream: true,
@@ -992542,7 +993060,7 @@ var ModelsServiceDefinition2 = {
992542
993060
  /** Refreshes and returns Groq models */
992543
993061
  refreshGroqModels: {
992544
993062
  name: "refreshGroqModels",
992545
- requestType: EmptyRequest16,
993063
+ requestType: EmptyRequest17,
992546
993064
  requestStream: false,
992547
993065
  responseType: OpenRouterCompatibleModelInfo2,
992548
993066
  responseStream: false,
@@ -992551,7 +993069,7 @@ var ModelsServiceDefinition2 = {
992551
993069
  /** Refreshes and returns Baseten models */
992552
993070
  refreshBasetenModels: {
992553
993071
  name: "refreshBasetenModels",
992554
- requestType: EmptyRequest16,
993072
+ requestType: EmptyRequest17,
992555
993073
  requestStream: false,
992556
993074
  responseType: OpenRouterCompatibleModelInfo2,
992557
993075
  responseStream: false,
@@ -992603,8 +993121,8 @@ var ModelsServiceService = {
992603
993121
  path: "/cline.ModelsService/getVsCodeLmModels",
992604
993122
  requestStream: false,
992605
993123
  responseStream: false,
992606
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
992607
- requestDeserialize: (value) => EmptyRequest16.decode(value),
993124
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
993125
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
992608
993126
  responseSerialize: (value) => Buffer.from(VsCodeLmModelsArray2.encode(value).finish()),
992609
993127
  responseDeserialize: (value) => VsCodeLmModelsArray2.decode(value)
992610
993128
  },
@@ -992613,8 +993131,8 @@ var ModelsServiceService = {
992613
993131
  path: "/cline.ModelsService/refreshOpenRouterModels",
992614
993132
  requestStream: false,
992615
993133
  responseStream: false,
992616
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
992617
- requestDeserialize: (value) => EmptyRequest16.decode(value),
993134
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
993135
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
992618
993136
  responseSerialize: (value) => Buffer.from(OpenRouterCompatibleModelInfo2.encode(value).finish()),
992619
993137
  responseDeserialize: (value) => OpenRouterCompatibleModelInfo2.decode(value)
992620
993138
  },
@@ -992623,8 +993141,8 @@ var ModelsServiceService = {
992623
993141
  path: "/cline.ModelsService/refreshHuggingFaceModels",
992624
993142
  requestStream: false,
992625
993143
  responseStream: false,
992626
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
992627
- requestDeserialize: (value) => EmptyRequest16.decode(value),
993144
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
993145
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
992628
993146
  responseSerialize: (value) => Buffer.from(OpenRouterCompatibleModelInfo2.encode(value).finish()),
992629
993147
  responseDeserialize: (value) => OpenRouterCompatibleModelInfo2.decode(value)
992630
993148
  },
@@ -992643,8 +993161,8 @@ var ModelsServiceService = {
992643
993161
  path: "/cline.ModelsService/refreshVercelAiGatewayModels",
992644
993162
  requestStream: false,
992645
993163
  responseStream: false,
992646
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
992647
- requestDeserialize: (value) => EmptyRequest16.decode(value),
993164
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
993165
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
992648
993166
  responseSerialize: (value) => Buffer.from(OpenRouterCompatibleModelInfo2.encode(value).finish()),
992649
993167
  responseDeserialize: (value) => OpenRouterCompatibleModelInfo2.decode(value)
992650
993168
  },
@@ -992653,8 +993171,8 @@ var ModelsServiceService = {
992653
993171
  path: "/cline.ModelsService/refreshRequestyModels",
992654
993172
  requestStream: false,
992655
993173
  responseStream: false,
992656
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
992657
- requestDeserialize: (value) => EmptyRequest16.decode(value),
993174
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
993175
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
992658
993176
  responseSerialize: (value) => Buffer.from(OpenRouterCompatibleModelInfo2.encode(value).finish()),
992659
993177
  responseDeserialize: (value) => OpenRouterCompatibleModelInfo2.decode(value)
992660
993178
  },
@@ -992663,8 +993181,8 @@ var ModelsServiceService = {
992663
993181
  path: "/cline.ModelsService/subscribeToOpenRouterModels",
992664
993182
  requestStream: false,
992665
993183
  responseStream: true,
992666
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
992667
- requestDeserialize: (value) => EmptyRequest16.decode(value),
993184
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
993185
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
992668
993186
  responseSerialize: (value) => Buffer.from(OpenRouterCompatibleModelInfo2.encode(value).finish()),
992669
993187
  responseDeserialize: (value) => OpenRouterCompatibleModelInfo2.decode(value)
992670
993188
  },
@@ -992693,8 +993211,8 @@ var ModelsServiceService = {
992693
993211
  path: "/cline.ModelsService/refreshGroqModels",
992694
993212
  requestStream: false,
992695
993213
  responseStream: false,
992696
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
992697
- requestDeserialize: (value) => EmptyRequest16.decode(value),
993214
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
993215
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
992698
993216
  responseSerialize: (value) => Buffer.from(OpenRouterCompatibleModelInfo2.encode(value).finish()),
992699
993217
  responseDeserialize: (value) => OpenRouterCompatibleModelInfo2.decode(value)
992700
993218
  },
@@ -992703,8 +993221,8 @@ var ModelsServiceService = {
992703
993221
  path: "/cline.ModelsService/refreshBasetenModels",
992704
993222
  requestStream: false,
992705
993223
  responseStream: false,
992706
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
992707
- requestDeserialize: (value) => EmptyRequest16.decode(value),
993224
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
993225
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
992708
993226
  responseSerialize: (value) => Buffer.from(OpenRouterCompatibleModelInfo2.encode(value).finish()),
992709
993227
  responseDeserialize: (value) => OpenRouterCompatibleModelInfo2.decode(value)
992710
993228
  },
@@ -992915,7 +993433,7 @@ var OcaAccountServiceDefinition2 = {
992915
993433
  */
992916
993434
  ocaAccountLoginClicked: {
992917
993435
  name: "ocaAccountLoginClicked",
992918
- requestType: EmptyRequest16,
993436
+ requestType: EmptyRequest17,
992919
993437
  requestStream: false,
992920
993438
  responseType: String4,
992921
993439
  responseStream: false,
@@ -992927,7 +993445,7 @@ var OcaAccountServiceDefinition2 = {
992927
993445
  */
992928
993446
  ocaAccountLogoutClicked: {
992929
993447
  name: "ocaAccountLogoutClicked",
992930
- requestType: EmptyRequest16,
993448
+ requestType: EmptyRequest17,
992931
993449
  requestStream: false,
992932
993450
  responseType: Empty3,
992933
993451
  responseStream: false,
@@ -992936,7 +993454,7 @@ var OcaAccountServiceDefinition2 = {
992936
993454
  /** Subscribe to auth status update events (when authentication state changes) */
992937
993455
  ocaSubscribeToAuthStatusUpdate: {
992938
993456
  name: "ocaSubscribeToAuthStatusUpdate",
992939
- requestType: EmptyRequest16,
993457
+ requestType: EmptyRequest17,
992940
993458
  requestStream: false,
992941
993459
  responseType: OcaAuthState2,
992942
993460
  responseStream: true,
@@ -992954,8 +993472,8 @@ var OcaAccountServiceService = {
992954
993472
  path: "/cline.OcaAccountService/ocaAccountLoginClicked",
992955
993473
  requestStream: false,
992956
993474
  responseStream: false,
992957
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
992958
- requestDeserialize: (value) => EmptyRequest16.decode(value),
993475
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
993476
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
992959
993477
  responseSerialize: (value) => Buffer.from(String4.encode(value).finish()),
992960
993478
  responseDeserialize: (value) => String4.decode(value)
992961
993479
  },
@@ -992967,8 +993485,8 @@ var OcaAccountServiceService = {
992967
993485
  path: "/cline.OcaAccountService/ocaAccountLogoutClicked",
992968
993486
  requestStream: false,
992969
993487
  responseStream: false,
992970
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
992971
- requestDeserialize: (value) => EmptyRequest16.decode(value),
993488
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
993489
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
992972
993490
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
992973
993491
  responseDeserialize: (value) => Empty3.decode(value)
992974
993492
  },
@@ -992977,8 +993495,8 @@ var OcaAccountServiceService = {
992977
993495
  path: "/cline.OcaAccountService/ocaSubscribeToAuthStatusUpdate",
992978
993496
  requestStream: false,
992979
993497
  responseStream: true,
992980
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
992981
- requestDeserialize: (value) => EmptyRequest16.decode(value),
993498
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
993499
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
992982
993500
  responseSerialize: (value) => Buffer.from(OcaAuthState2.encode(value).finish()),
992983
993501
  responseDeserialize: (value) => OcaAuthState2.decode(value)
992984
993502
  }
@@ -1000273,7 +1000791,7 @@ var StateServiceDefinition2 = {
1000273
1000791
  methods: {
1000274
1000792
  getLatestState: {
1000275
1000793
  name: "getLatestState",
1000276
- requestType: EmptyRequest16,
1000794
+ requestType: EmptyRequest17,
1000277
1000795
  requestStream: false,
1000278
1000796
  responseType: State5,
1000279
1000797
  responseStream: false,
@@ -1000297,7 +1000815,7 @@ var StateServiceDefinition2 = {
1000297
1000815
  },
1000298
1000816
  getAvailableTerminalProfiles: {
1000299
1000817
  name: "getAvailableTerminalProfiles",
1000300
- requestType: EmptyRequest16,
1000818
+ requestType: EmptyRequest17,
1000301
1000819
  requestStream: false,
1000302
1000820
  responseType: TerminalProfiles2,
1000303
1000821
  responseStream: false,
@@ -1000305,7 +1000823,7 @@ var StateServiceDefinition2 = {
1000305
1000823
  },
1000306
1000824
  subscribeToState: {
1000307
1000825
  name: "subscribeToState",
1000308
- requestType: EmptyRequest16,
1000826
+ requestType: EmptyRequest17,
1000309
1000827
  requestStream: false,
1000310
1000828
  responseType: State5,
1000311
1000829
  responseStream: true,
@@ -1000385,7 +1000903,7 @@ var StateServiceDefinition2 = {
1000385
1000903
  },
1000386
1000904
  updateInfoBannerVersion: {
1000387
1000905
  name: "updateInfoBannerVersion",
1000388
- requestType: Int64Request7,
1000906
+ requestType: Int64Request8,
1000389
1000907
  requestStream: false,
1000390
1000908
  responseType: Empty3,
1000391
1000909
  responseStream: false,
@@ -1000393,15 +1000911,39 @@ var StateServiceDefinition2 = {
1000393
1000911
  },
1000394
1000912
  updateModelBannerVersion: {
1000395
1000913
  name: "updateModelBannerVersion",
1000396
- requestType: Int64Request7,
1000914
+ requestType: Int64Request8,
1000397
1000915
  requestStream: false,
1000398
1000916
  responseType: Empty3,
1000399
1000917
  responseStream: false,
1000400
1000918
  options: {}
1000401
1000919
  },
1000920
+ updateCliBannerVersion: {
1000921
+ name: "updateCliBannerVersion",
1000922
+ requestType: Int64Request8,
1000923
+ requestStream: false,
1000924
+ responseType: Empty3,
1000925
+ responseStream: false,
1000926
+ options: {}
1000927
+ },
1000928
+ installClineCli: {
1000929
+ name: "installClineCli",
1000930
+ requestType: EmptyRequest17,
1000931
+ requestStream: false,
1000932
+ responseType: Empty3,
1000933
+ responseStream: false,
1000934
+ options: {}
1000935
+ },
1000936
+ checkCliInstallation: {
1000937
+ name: "checkCliInstallation",
1000938
+ requestType: EmptyRequest17,
1000939
+ requestStream: false,
1000940
+ responseType: Boolean4,
1000941
+ responseStream: false,
1000942
+ options: {}
1000943
+ },
1000402
1000944
  getProcessInfo: {
1000403
1000945
  name: "getProcessInfo",
1000404
- requestType: EmptyRequest16,
1000946
+ requestType: EmptyRequest17,
1000405
1000947
  requestStream: false,
1000406
1000948
  responseType: ProcessInfo2,
1000407
1000949
  responseStream: false,
@@ -1000414,8 +1000956,8 @@ var StateServiceService = {
1000414
1000956
  path: "/cline.StateService/getLatestState",
1000415
1000957
  requestStream: false,
1000416
1000958
  responseStream: false,
1000417
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1000418
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1000959
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1000960
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1000419
1000961
  responseSerialize: (value) => Buffer.from(State5.encode(value).finish()),
1000420
1000962
  responseDeserialize: (value) => State5.decode(value)
1000421
1000963
  },
@@ -1000441,8 +1000983,8 @@ var StateServiceService = {
1000441
1000983
  path: "/cline.StateService/getAvailableTerminalProfiles",
1000442
1000984
  requestStream: false,
1000443
1000985
  responseStream: false,
1000444
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1000445
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1000986
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1000987
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1000446
1000988
  responseSerialize: (value) => Buffer.from(TerminalProfiles2.encode(value).finish()),
1000447
1000989
  responseDeserialize: (value) => TerminalProfiles2.decode(value)
1000448
1000990
  },
@@ -1000450,8 +1000992,8 @@ var StateServiceService = {
1000450
1000992
  path: "/cline.StateService/subscribeToState",
1000451
1000993
  requestStream: false,
1000452
1000994
  responseStream: true,
1000453
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1000454
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1000995
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1000996
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1000455
1000997
  responseSerialize: (value) => Buffer.from(State5.encode(value).finish()),
1000456
1000998
  responseDeserialize: (value) => State5.decode(value)
1000457
1000999
  },
@@ -1000540,8 +1001082,8 @@ var StateServiceService = {
1000540
1001082
  path: "/cline.StateService/updateInfoBannerVersion",
1000541
1001083
  requestStream: false,
1000542
1001084
  responseStream: false,
1000543
- requestSerialize: (value) => Buffer.from(Int64Request7.encode(value).finish()),
1000544
- requestDeserialize: (value) => Int64Request7.decode(value),
1001085
+ requestSerialize: (value) => Buffer.from(Int64Request8.encode(value).finish()),
1001086
+ requestDeserialize: (value) => Int64Request8.decode(value),
1000545
1001087
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1000546
1001088
  responseDeserialize: (value) => Empty3.decode(value)
1000547
1001089
  },
@@ -1000549,17 +1001091,44 @@ var StateServiceService = {
1000549
1001091
  path: "/cline.StateService/updateModelBannerVersion",
1000550
1001092
  requestStream: false,
1000551
1001093
  responseStream: false,
1000552
- requestSerialize: (value) => Buffer.from(Int64Request7.encode(value).finish()),
1000553
- requestDeserialize: (value) => Int64Request7.decode(value),
1001094
+ requestSerialize: (value) => Buffer.from(Int64Request8.encode(value).finish()),
1001095
+ requestDeserialize: (value) => Int64Request8.decode(value),
1001096
+ responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1001097
+ responseDeserialize: (value) => Empty3.decode(value)
1001098
+ },
1001099
+ updateCliBannerVersion: {
1001100
+ path: "/cline.StateService/updateCliBannerVersion",
1001101
+ requestStream: false,
1001102
+ responseStream: false,
1001103
+ requestSerialize: (value) => Buffer.from(Int64Request8.encode(value).finish()),
1001104
+ requestDeserialize: (value) => Int64Request8.decode(value),
1001105
+ responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1001106
+ responseDeserialize: (value) => Empty3.decode(value)
1001107
+ },
1001108
+ installClineCli: {
1001109
+ path: "/cline.StateService/installClineCli",
1001110
+ requestStream: false,
1001111
+ responseStream: false,
1001112
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1001113
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1000554
1001114
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1000555
1001115
  responseDeserialize: (value) => Empty3.decode(value)
1000556
1001116
  },
1001117
+ checkCliInstallation: {
1001118
+ path: "/cline.StateService/checkCliInstallation",
1001119
+ requestStream: false,
1001120
+ responseStream: false,
1001121
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1001122
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1001123
+ responseSerialize: (value) => Buffer.from(Boolean4.encode(value).finish()),
1001124
+ responseDeserialize: (value) => Boolean4.decode(value)
1001125
+ },
1000557
1001126
  getProcessInfo: {
1000558
1001127
  path: "/cline.StateService/getProcessInfo",
1000559
1001128
  requestStream: false,
1000560
1001129
  responseStream: false,
1000561
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1000562
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1001130
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1001131
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1000563
1001132
  responseSerialize: (value) => Buffer.from(ProcessInfo2.encode(value).finish()),
1000564
1001133
  responseDeserialize: (value) => ProcessInfo2.decode(value)
1000565
1001134
  }
@@ -1001617,7 +1002186,7 @@ var TaskServiceDefinition2 = {
1001617
1002186
  /** Cancels the currently running task */
1001618
1002187
  cancelTask: {
1001619
1002188
  name: "cancelTask",
1001620
- requestType: EmptyRequest16,
1002189
+ requestType: EmptyRequest17,
1001621
1002190
  requestStream: false,
1001622
1002191
  responseType: Empty3,
1001623
1002192
  responseStream: false,
@@ -1001626,7 +1002195,7 @@ var TaskServiceDefinition2 = {
1001626
1002195
  /** Cancels the currently running background command */
1001627
1002196
  cancelBackgroundCommand: {
1001628
1002197
  name: "cancelBackgroundCommand",
1001629
- requestType: EmptyRequest16,
1002198
+ requestType: EmptyRequest17,
1001630
1002199
  requestStream: false,
1001631
1002200
  responseType: Empty3,
1001632
1002201
  responseStream: false,
@@ -1001635,7 +1002204,7 @@ var TaskServiceDefinition2 = {
1001635
1002204
  /** Clears the current task */
1001636
1002205
  clearTask: {
1001637
1002206
  name: "clearTask",
1001638
- requestType: EmptyRequest16,
1002207
+ requestType: EmptyRequest17,
1001639
1002208
  requestStream: false,
1001640
1002209
  responseType: Empty3,
1001641
1002210
  responseStream: false,
@@ -1001644,7 +1002213,7 @@ var TaskServiceDefinition2 = {
1001644
1002213
  /** Gets the total size of all tasks */
1001645
1002214
  getTotalTasksSize: {
1001646
1002215
  name: "getTotalTasksSize",
1001647
- requestType: EmptyRequest16,
1002216
+ requestType: EmptyRequest17,
1001648
1002217
  requestStream: false,
1001649
1002218
  responseType: Int643,
1001650
1002219
  responseStream: false,
@@ -1001725,7 +1002294,7 @@ var TaskServiceDefinition2 = {
1001725
1002294
  /** Shows task completion changes diff in a view */
1001726
1002295
  taskCompletionViewChanges: {
1001727
1002296
  name: "taskCompletionViewChanges",
1001728
- requestType: Int64Request7,
1002297
+ requestType: Int64Request8,
1001729
1002298
  requestStream: false,
1001730
1002299
  responseType: Empty3,
1001731
1002300
  responseStream: false,
@@ -1001743,7 +1002312,7 @@ var TaskServiceDefinition2 = {
1001743
1002312
  /** Deletes all task history */
1001744
1002313
  deleteAllTaskHistory: {
1001745
1002314
  name: "deleteAllTaskHistory",
1001746
- requestType: EmptyRequest16,
1002315
+ requestType: EmptyRequest17,
1001747
1002316
  requestStream: false,
1001748
1002317
  responseType: DeleteAllTaskHistoryCount2,
1001749
1002318
  responseStream: false,
@@ -1001757,8 +1002326,8 @@ var TaskServiceService = {
1001757
1002326
  path: "/cline.TaskService/cancelTask",
1001758
1002327
  requestStream: false,
1001759
1002328
  responseStream: false,
1001760
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1001761
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1002329
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1002330
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1001762
1002331
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1001763
1002332
  responseDeserialize: (value) => Empty3.decode(value)
1001764
1002333
  },
@@ -1001767,8 +1002336,8 @@ var TaskServiceService = {
1001767
1002336
  path: "/cline.TaskService/cancelBackgroundCommand",
1001768
1002337
  requestStream: false,
1001769
1002338
  responseStream: false,
1001770
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1001771
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1002339
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1002340
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1001772
1002341
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1001773
1002342
  responseDeserialize: (value) => Empty3.decode(value)
1001774
1002343
  },
@@ -1001777,8 +1002346,8 @@ var TaskServiceService = {
1001777
1002346
  path: "/cline.TaskService/clearTask",
1001778
1002347
  requestStream: false,
1001779
1002348
  responseStream: false,
1001780
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1001781
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1002349
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1002350
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1001782
1002351
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1001783
1002352
  responseDeserialize: (value) => Empty3.decode(value)
1001784
1002353
  },
@@ -1001787,8 +1002356,8 @@ var TaskServiceService = {
1001787
1002356
  path: "/cline.TaskService/getTotalTasksSize",
1001788
1002357
  requestStream: false,
1001789
1002358
  responseStream: false,
1001790
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1001791
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1002359
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1002360
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1001792
1002361
  responseSerialize: (value) => Buffer.from(Int643.encode(value).finish()),
1001793
1002362
  responseDeserialize: (value) => Int643.decode(value)
1001794
1002363
  },
@@ -1001877,8 +1002446,8 @@ var TaskServiceService = {
1001877
1002446
  path: "/cline.TaskService/taskCompletionViewChanges",
1001878
1002447
  requestStream: false,
1001879
1002448
  responseStream: false,
1001880
- requestSerialize: (value) => Buffer.from(Int64Request7.encode(value).finish()),
1001881
- requestDeserialize: (value) => Int64Request7.decode(value),
1002449
+ requestSerialize: (value) => Buffer.from(Int64Request8.encode(value).finish()),
1002450
+ requestDeserialize: (value) => Int64Request8.decode(value),
1001882
1002451
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1001883
1002452
  responseDeserialize: (value) => Empty3.decode(value)
1001884
1002453
  },
@@ -1001897,8 +1002466,8 @@ var TaskServiceService = {
1001897
1002466
  path: "/cline.TaskService/deleteAllTaskHistory",
1001898
1002467
  requestStream: false,
1001899
1002468
  responseStream: false,
1001900
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1001901
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1002469
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1002470
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1001902
1002471
  responseSerialize: (value) => Buffer.from(DeleteAllTaskHistoryCount2.encode(value).finish()),
1001903
1002472
  responseDeserialize: (value) => DeleteAllTaskHistoryCount2.decode(value)
1001904
1002473
  }
@@ -1003877,7 +1004446,7 @@ var UiServiceDefinition2 = {
1003877
1004446
  /** Marks the current announcement as shown and returns whether an announcement should still be shown */
1003878
1004447
  onDidShowAnnouncement: {
1003879
1004448
  name: "onDidShowAnnouncement",
1003880
- requestType: EmptyRequest16,
1004449
+ requestType: EmptyRequest17,
1003881
1004450
  requestStream: false,
1003882
1004451
  responseType: Boolean4,
1003883
1004452
  responseStream: false,
@@ -1003886,7 +1004455,7 @@ var UiServiceDefinition2 = {
1003886
1004455
  /** Subscribe to addToInput events (when user adds content via context menu) */
1003887
1004456
  subscribeToAddToInput: {
1003888
1004457
  name: "subscribeToAddToInput",
1003889
- requestType: EmptyRequest16,
1004458
+ requestType: EmptyRequest17,
1003890
1004459
  requestStream: false,
1003891
1004460
  responseType: String4,
1003892
1004461
  responseStream: true,
@@ -1003895,7 +1004464,7 @@ var UiServiceDefinition2 = {
1003895
1004464
  /** Subscribe to MCP button clicked events */
1003896
1004465
  subscribeToMcpButtonClicked: {
1003897
1004466
  name: "subscribeToMcpButtonClicked",
1003898
- requestType: EmptyRequest16,
1004467
+ requestType: EmptyRequest17,
1003899
1004468
  requestStream: false,
1003900
1004469
  responseType: Empty3,
1003901
1004470
  responseStream: true,
@@ -1003904,7 +1004473,7 @@ var UiServiceDefinition2 = {
1003904
1004473
  /** Subscribe to history button click events */
1003905
1004474
  subscribeToHistoryButtonClicked: {
1003906
1004475
  name: "subscribeToHistoryButtonClicked",
1003907
- requestType: EmptyRequest16,
1004476
+ requestType: EmptyRequest17,
1003908
1004477
  requestStream: false,
1003909
1004478
  responseType: Empty3,
1003910
1004479
  responseStream: true,
@@ -1003913,7 +1004482,7 @@ var UiServiceDefinition2 = {
1003913
1004482
  /** Subscribe to chat button clicked events (when the chat button is clicked in VSCode) */
1003914
1004483
  subscribeToChatButtonClicked: {
1003915
1004484
  name: "subscribeToChatButtonClicked",
1003916
- requestType: EmptyRequest16,
1004485
+ requestType: EmptyRequest17,
1003917
1004486
  requestStream: false,
1003918
1004487
  responseType: Empty3,
1003919
1004488
  responseStream: true,
@@ -1003922,7 +1004491,7 @@ var UiServiceDefinition2 = {
1003922
1004491
  /** Subscribe to account button click events */
1003923
1004492
  subscribeToAccountButtonClicked: {
1003924
1004493
  name: "subscribeToAccountButtonClicked",
1003925
- requestType: EmptyRequest16,
1004494
+ requestType: EmptyRequest17,
1003926
1004495
  requestStream: false,
1003927
1004496
  responseType: Empty3,
1003928
1004497
  responseStream: true,
@@ -1003931,7 +1004500,7 @@ var UiServiceDefinition2 = {
1003931
1004500
  /** Subscribe to settings button clicked events */
1003932
1004501
  subscribeToSettingsButtonClicked: {
1003933
1004502
  name: "subscribeToSettingsButtonClicked",
1003934
- requestType: EmptyRequest16,
1004503
+ requestType: EmptyRequest17,
1003935
1004504
  requestStream: false,
1003936
1004505
  responseType: Empty3,
1003937
1004506
  responseStream: true,
@@ -1003940,7 +1004509,7 @@ var UiServiceDefinition2 = {
1003940
1004509
  /** Subscribe to partial message updates (streaming Cline messages as they're built) */
1003941
1004510
  subscribeToPartialMessage: {
1003942
1004511
  name: "subscribeToPartialMessage",
1003943
- requestType: EmptyRequest16,
1004512
+ requestType: EmptyRequest17,
1003944
1004513
  requestStream: false,
1003945
1004514
  responseType: ClineMessage3,
1003946
1004515
  responseStream: true,
@@ -1003949,7 +1004518,7 @@ var UiServiceDefinition2 = {
1003949
1004518
  /** Initialize webview when it launches */
1003950
1004519
  initializeWebview: {
1003951
1004520
  name: "initializeWebview",
1003952
- requestType: EmptyRequest16,
1004521
+ requestType: EmptyRequest17,
1003953
1004522
  requestStream: false,
1003954
1004523
  responseType: Empty3,
1003955
1004524
  responseStream: false,
@@ -1003958,7 +1004527,7 @@ var UiServiceDefinition2 = {
1003958
1004527
  /** Subscribe to relinquish control events */
1003959
1004528
  subscribeToRelinquishControl: {
1003960
1004529
  name: "subscribeToRelinquishControl",
1003961
- requestType: EmptyRequest16,
1004530
+ requestType: EmptyRequest17,
1003962
1004531
  requestStream: false,
1003963
1004532
  responseType: Empty3,
1003964
1004533
  responseStream: true,
@@ -1003967,7 +1004536,7 @@ var UiServiceDefinition2 = {
1003967
1004536
  /** Subscribe to focus chat input events */
1003968
1004537
  subscribeToFocusChatInput: {
1003969
1004538
  name: "subscribeToFocusChatInput",
1003970
- requestType: EmptyRequest16,
1004539
+ requestType: EmptyRequest17,
1003971
1004540
  requestStream: false,
1003972
1004541
  responseType: Empty3,
1003973
1004542
  responseStream: true,
@@ -1003976,7 +1004545,7 @@ var UiServiceDefinition2 = {
1003976
1004545
  /** Subscribe to webview visibility change events */
1003977
1004546
  subscribeToDidBecomeVisible: {
1003978
1004547
  name: "subscribeToDidBecomeVisible",
1003979
- requestType: EmptyRequest16,
1004548
+ requestType: EmptyRequest17,
1003980
1004549
  requestStream: false,
1003981
1004550
  responseType: Empty3,
1003982
1004551
  responseStream: true,
@@ -1003985,7 +1004554,7 @@ var UiServiceDefinition2 = {
1003985
1004554
  /** Returns the HTML for the webview index page. This is only used by external clients, not by the vscode webview. */
1003986
1004555
  getWebviewHtml: {
1003987
1004556
  name: "getWebviewHtml",
1003988
- requestType: EmptyRequest16,
1004557
+ requestType: EmptyRequest17,
1003989
1004558
  requestStream: false,
1003990
1004559
  responseType: String4,
1003991
1004560
  responseStream: false,
@@ -1004003,7 +1004572,7 @@ var UiServiceDefinition2 = {
1004003
1004572
  /** Opens the Cline walkthrough */
1004004
1004573
  openWalkthrough: {
1004005
1004574
  name: "openWalkthrough",
1004006
- requestType: EmptyRequest16,
1004575
+ requestType: EmptyRequest17,
1004007
1004576
  requestStream: false,
1004008
1004577
  responseType: Empty3,
1004009
1004578
  responseStream: false,
@@ -1004037,8 +1004606,8 @@ var UiServiceService = {
1004037
1004606
  path: "/cline.UiService/onDidShowAnnouncement",
1004038
1004607
  requestStream: false,
1004039
1004608
  responseStream: false,
1004040
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1004041
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1004609
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1004610
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1004042
1004611
  responseSerialize: (value) => Buffer.from(Boolean4.encode(value).finish()),
1004043
1004612
  responseDeserialize: (value) => Boolean4.decode(value)
1004044
1004613
  },
@@ -1004047,8 +1004616,8 @@ var UiServiceService = {
1004047
1004616
  path: "/cline.UiService/subscribeToAddToInput",
1004048
1004617
  requestStream: false,
1004049
1004618
  responseStream: true,
1004050
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1004051
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1004619
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1004620
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1004052
1004621
  responseSerialize: (value) => Buffer.from(String4.encode(value).finish()),
1004053
1004622
  responseDeserialize: (value) => String4.decode(value)
1004054
1004623
  },
@@ -1004057,8 +1004626,8 @@ var UiServiceService = {
1004057
1004626
  path: "/cline.UiService/subscribeToMcpButtonClicked",
1004058
1004627
  requestStream: false,
1004059
1004628
  responseStream: true,
1004060
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1004061
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1004629
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1004630
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1004062
1004631
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1004063
1004632
  responseDeserialize: (value) => Empty3.decode(value)
1004064
1004633
  },
@@ -1004067,8 +1004636,8 @@ var UiServiceService = {
1004067
1004636
  path: "/cline.UiService/subscribeToHistoryButtonClicked",
1004068
1004637
  requestStream: false,
1004069
1004638
  responseStream: true,
1004070
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1004071
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1004639
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1004640
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1004072
1004641
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1004073
1004642
  responseDeserialize: (value) => Empty3.decode(value)
1004074
1004643
  },
@@ -1004077,8 +1004646,8 @@ var UiServiceService = {
1004077
1004646
  path: "/cline.UiService/subscribeToChatButtonClicked",
1004078
1004647
  requestStream: false,
1004079
1004648
  responseStream: true,
1004080
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1004081
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1004649
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1004650
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1004082
1004651
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1004083
1004652
  responseDeserialize: (value) => Empty3.decode(value)
1004084
1004653
  },
@@ -1004087,8 +1004656,8 @@ var UiServiceService = {
1004087
1004656
  path: "/cline.UiService/subscribeToAccountButtonClicked",
1004088
1004657
  requestStream: false,
1004089
1004658
  responseStream: true,
1004090
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1004091
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1004659
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1004660
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1004092
1004661
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1004093
1004662
  responseDeserialize: (value) => Empty3.decode(value)
1004094
1004663
  },
@@ -1004097,8 +1004666,8 @@ var UiServiceService = {
1004097
1004666
  path: "/cline.UiService/subscribeToSettingsButtonClicked",
1004098
1004667
  requestStream: false,
1004099
1004668
  responseStream: true,
1004100
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1004101
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1004669
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1004670
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1004102
1004671
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1004103
1004672
  responseDeserialize: (value) => Empty3.decode(value)
1004104
1004673
  },
@@ -1004107,8 +1004676,8 @@ var UiServiceService = {
1004107
1004676
  path: "/cline.UiService/subscribeToPartialMessage",
1004108
1004677
  requestStream: false,
1004109
1004678
  responseStream: true,
1004110
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1004111
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1004679
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1004680
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1004112
1004681
  responseSerialize: (value) => Buffer.from(ClineMessage3.encode(value).finish()),
1004113
1004682
  responseDeserialize: (value) => ClineMessage3.decode(value)
1004114
1004683
  },
@@ -1004117,8 +1004686,8 @@ var UiServiceService = {
1004117
1004686
  path: "/cline.UiService/initializeWebview",
1004118
1004687
  requestStream: false,
1004119
1004688
  responseStream: false,
1004120
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1004121
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1004689
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1004690
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1004122
1004691
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1004123
1004692
  responseDeserialize: (value) => Empty3.decode(value)
1004124
1004693
  },
@@ -1004127,8 +1004696,8 @@ var UiServiceService = {
1004127
1004696
  path: "/cline.UiService/subscribeToRelinquishControl",
1004128
1004697
  requestStream: false,
1004129
1004698
  responseStream: true,
1004130
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1004131
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1004699
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1004700
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1004132
1004701
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1004133
1004702
  responseDeserialize: (value) => Empty3.decode(value)
1004134
1004703
  },
@@ -1004137,8 +1004706,8 @@ var UiServiceService = {
1004137
1004706
  path: "/cline.UiService/subscribeToFocusChatInput",
1004138
1004707
  requestStream: false,
1004139
1004708
  responseStream: true,
1004140
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1004141
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1004709
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1004710
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1004142
1004711
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1004143
1004712
  responseDeserialize: (value) => Empty3.decode(value)
1004144
1004713
  },
@@ -1004147,8 +1004716,8 @@ var UiServiceService = {
1004147
1004716
  path: "/cline.UiService/subscribeToDidBecomeVisible",
1004148
1004717
  requestStream: false,
1004149
1004718
  responseStream: true,
1004150
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1004151
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1004719
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1004720
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1004152
1004721
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1004153
1004722
  responseDeserialize: (value) => Empty3.decode(value)
1004154
1004723
  },
@@ -1004157,8 +1004726,8 @@ var UiServiceService = {
1004157
1004726
  path: "/cline.UiService/getWebviewHtml",
1004158
1004727
  requestStream: false,
1004159
1004728
  responseStream: false,
1004160
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1004161
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1004729
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1004730
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1004162
1004731
  responseSerialize: (value) => Buffer.from(String4.encode(value).finish()),
1004163
1004732
  responseDeserialize: (value) => String4.decode(value)
1004164
1004733
  },
@@ -1004177,8 +1004746,8 @@ var UiServiceService = {
1004177
1004746
  path: "/cline.UiService/openWalkthrough",
1004178
1004747
  requestStream: false,
1004179
1004748
  responseStream: false,
1004180
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1004181
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1004749
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1004750
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1004182
1004751
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1004183
1004752
  responseDeserialize: (value) => Empty3.decode(value)
1004184
1004753
  }
@@ -1005800,8 +1006369,8 @@ var EnvServiceService = {
1005800
1006369
  path: "/host.EnvService/clipboardReadText",
1005801
1006370
  requestStream: false,
1005802
1006371
  responseStream: false,
1005803
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1005804
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1006372
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1006373
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1005805
1006374
  responseSerialize: (value) => Buffer.from(String4.encode(value).finish()),
1005806
1006375
  responseDeserialize: (value) => String4.decode(value)
1005807
1006376
  },
@@ -1005810,8 +1006379,8 @@ var EnvServiceService = {
1005810
1006379
  path: "/host.EnvService/getHostVersion",
1005811
1006380
  requestStream: false,
1005812
1006381
  responseStream: false,
1005813
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1005814
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1006382
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1006383
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1005815
1006384
  responseSerialize: (value) => Buffer.from(GetHostVersionResponse2.encode(value).finish()),
1005816
1006385
  responseDeserialize: (value) => GetHostVersionResponse2.decode(value)
1005817
1006386
  },
@@ -1005824,8 +1006393,8 @@ var EnvServiceService = {
1005824
1006393
  path: "/host.EnvService/getIdeRedirectUri",
1005825
1006394
  requestStream: false,
1005826
1006395
  responseStream: false,
1005827
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1005828
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1006396
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1006397
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1005829
1006398
  responseSerialize: (value) => Buffer.from(String4.encode(value).finish()),
1005830
1006399
  responseDeserialize: (value) => String4.decode(value)
1005831
1006400
  },
@@ -1005837,8 +1006406,8 @@ var EnvServiceService = {
1005837
1006406
  path: "/host.EnvService/getTelemetrySettings",
1005838
1006407
  requestStream: false,
1005839
1006408
  responseStream: false,
1005840
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1005841
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1006409
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1006410
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1005842
1006411
  responseSerialize: (value) => Buffer.from(GetTelemetrySettingsResponse2.encode(value).finish()),
1005843
1006412
  responseDeserialize: (value) => GetTelemetrySettingsResponse2.decode(value)
1005844
1006413
  },
@@ -1005847,8 +1006416,8 @@ var EnvServiceService = {
1005847
1006416
  path: "/host.EnvService/subscribeToTelemetrySettings",
1005848
1006417
  requestStream: false,
1005849
1006418
  responseStream: true,
1005850
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1005851
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1006419
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1006420
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1005852
1006421
  responseSerialize: (value) => Buffer.from(TelemetrySettingsEvent2.encode(value).finish()),
1005853
1006422
  responseDeserialize: (value) => TelemetrySettingsEvent2.decode(value)
1005854
1006423
  },
@@ -1005857,8 +1006426,8 @@ var EnvServiceService = {
1005857
1006426
  path: "/host.EnvService/shutdown",
1005858
1006427
  requestStream: false,
1005859
1006428
  responseStream: false,
1005860
- requestSerialize: (value) => Buffer.from(EmptyRequest16.encode(value).finish()),
1005861
- requestDeserialize: (value) => EmptyRequest16.decode(value),
1006429
+ requestSerialize: (value) => Buffer.from(EmptyRequest17.encode(value).finish()),
1006430
+ requestDeserialize: (value) => EmptyRequest17.decode(value),
1005862
1006431
  responseSerialize: (value) => Buffer.from(Empty3.encode(value).finish()),
1005863
1006432
  responseDeserialize: (value) => Empty3.decode(value)
1005864
1006433
  }
@@ -1008283,6 +1008852,108 @@ var OpenTerminalResponse2 = {
1008283
1008852
  return message;
1008284
1008853
  }
1008285
1008854
  };
1008855
+ function createBaseExecuteCommandInTerminalRequest3() {
1008856
+ return { command: "" };
1008857
+ }
1008858
+ var ExecuteCommandInTerminalRequest3 = {
1008859
+ encode(message, writer = new BinaryWriter()) {
1008860
+ if (message.command !== "") {
1008861
+ writer.uint32(10).string(message.command);
1008862
+ }
1008863
+ return writer;
1008864
+ },
1008865
+ decode(input, length) {
1008866
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1008867
+ let end2 = length === void 0 ? reader.len : reader.pos + length;
1008868
+ const message = createBaseExecuteCommandInTerminalRequest3();
1008869
+ while (reader.pos < end2) {
1008870
+ const tag = reader.uint32();
1008871
+ switch (tag >>> 3) {
1008872
+ case 1: {
1008873
+ if (tag !== 10) {
1008874
+ break;
1008875
+ }
1008876
+ message.command = reader.string();
1008877
+ continue;
1008878
+ }
1008879
+ }
1008880
+ if ((tag & 7) === 4 || tag === 0) {
1008881
+ break;
1008882
+ }
1008883
+ reader.skip(tag & 7);
1008884
+ }
1008885
+ return message;
1008886
+ },
1008887
+ fromJSON(object2) {
1008888
+ return { command: isSet45(object2.command) ? globalThis.String(object2.command) : "" };
1008889
+ },
1008890
+ toJSON(message) {
1008891
+ const obj2 = {};
1008892
+ if (message.command !== "") {
1008893
+ obj2.command = message.command;
1008894
+ }
1008895
+ return obj2;
1008896
+ },
1008897
+ create(base) {
1008898
+ return ExecuteCommandInTerminalRequest3.fromPartial(base ?? {});
1008899
+ },
1008900
+ fromPartial(object2) {
1008901
+ const message = createBaseExecuteCommandInTerminalRequest3();
1008902
+ message.command = object2.command ?? "";
1008903
+ return message;
1008904
+ }
1008905
+ };
1008906
+ function createBaseExecuteCommandInTerminalResponse2() {
1008907
+ return { success: false };
1008908
+ }
1008909
+ var ExecuteCommandInTerminalResponse2 = {
1008910
+ encode(message, writer = new BinaryWriter()) {
1008911
+ if (message.success !== false) {
1008912
+ writer.uint32(8).bool(message.success);
1008913
+ }
1008914
+ return writer;
1008915
+ },
1008916
+ decode(input, length) {
1008917
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1008918
+ let end2 = length === void 0 ? reader.len : reader.pos + length;
1008919
+ const message = createBaseExecuteCommandInTerminalResponse2();
1008920
+ while (reader.pos < end2) {
1008921
+ const tag = reader.uint32();
1008922
+ switch (tag >>> 3) {
1008923
+ case 1: {
1008924
+ if (tag !== 8) {
1008925
+ break;
1008926
+ }
1008927
+ message.success = reader.bool();
1008928
+ continue;
1008929
+ }
1008930
+ }
1008931
+ if ((tag & 7) === 4 || tag === 0) {
1008932
+ break;
1008933
+ }
1008934
+ reader.skip(tag & 7);
1008935
+ }
1008936
+ return message;
1008937
+ },
1008938
+ fromJSON(object2) {
1008939
+ return { success: isSet45(object2.success) ? globalThis.Boolean(object2.success) : false };
1008940
+ },
1008941
+ toJSON(message) {
1008942
+ const obj2 = {};
1008943
+ if (message.success !== false) {
1008944
+ obj2.success = message.success;
1008945
+ }
1008946
+ return obj2;
1008947
+ },
1008948
+ create(base) {
1008949
+ return ExecuteCommandInTerminalResponse2.fromPartial(base ?? {});
1008950
+ },
1008951
+ fromPartial(object2) {
1008952
+ const message = createBaseExecuteCommandInTerminalResponse2();
1008953
+ message.success = object2.success ?? false;
1008954
+ return message;
1008955
+ }
1008956
+ };
1008286
1008957
  var WorkspaceServiceService = {
1008287
1008958
  /** Returns a list of the top level directories of the workspace. */
1008288
1008959
  getWorkspacePaths: {
@@ -1008357,6 +1009028,16 @@ var WorkspaceServiceService = {
1008357
1009028
  requestDeserialize: (value) => OpenTerminalRequest2.decode(value),
1008358
1009029
  responseSerialize: (value) => Buffer.from(OpenTerminalResponse2.encode(value).finish()),
1008359
1009030
  responseDeserialize: (value) => OpenTerminalResponse2.decode(value)
1009031
+ },
1009032
+ /** Executes a command in a new terminal */
1009033
+ executeCommandInTerminal: {
1009034
+ path: "/host.WorkspaceService/executeCommandInTerminal",
1009035
+ requestStream: false,
1009036
+ responseStream: false,
1009037
+ requestSerialize: (value) => Buffer.from(ExecuteCommandInTerminalRequest3.encode(value).finish()),
1009038
+ requestDeserialize: (value) => ExecuteCommandInTerminalRequest3.decode(value),
1009039
+ responseSerialize: (value) => Buffer.from(ExecuteCommandInTerminalResponse2.encode(value).finish()),
1009040
+ responseDeserialize: (value) => ExecuteCommandInTerminalResponse2.decode(value)
1008360
1009041
  }
1008361
1009042
  };
1008362
1009043
  var WorkspaceServiceClient = (0, import_grpc_js21.makeGenericClientConstructor)(
@@ -1008463,6 +1009144,9 @@ init_updateTelemetrySetting();
1008463
1009144
  init_setWelcomeViewCompleted();
1008464
1009145
  init_updateInfoBannerVersion();
1008465
1009146
  init_updateModelBannerVersion();
1009147
+ init_updateCliBannerVersion();
1009148
+ init_installClineCli();
1009149
+ init_checkCliInstallation();
1008466
1009150
  init_getProcessInfo();
1008467
1009151
  init_cancelTask();
1008468
1009152
  init_cancelBackgroundCommand();
@@ -1008616,6 +1009300,9 @@ function addProtobusServices(server, controller, wrapper, wrapStreamingResponse)
1008616
1009300
  setWelcomeViewCompleted: wrapper(setWelcomeViewCompleted, controller),
1008617
1009301
  updateInfoBannerVersion: wrapper(updateInfoBannerVersion, controller),
1008618
1009302
  updateModelBannerVersion: wrapper(updateModelBannerVersion, controller),
1009303
+ updateCliBannerVersion: wrapper(updateCliBannerVersion, controller),
1009304
+ installClineCli: wrapper(installClineCli, controller),
1009305
+ checkCliInstallation: wrapper(checkCliInstallation, controller),
1008619
1009306
  getProcessInfo: wrapper(getProcessInfo, controller)
1008620
1009307
  });
1008621
1009308
  server.addService(index_cline_exports3.TaskServiceService, {