sentry 0.34.0 → 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/ink-app.js CHANGED
@@ -475,7 +475,7 @@ var require_react_production = __commonJS({
475
475
  exports.useTransition = function() {
476
476
  return ReactSharedInternals.H.useTransition();
477
477
  };
478
- exports.version = "19.2.5";
478
+ exports.version = "19.2.6";
479
479
  }
480
480
  });
481
481
 
@@ -1445,7 +1445,7 @@ var require_react_development = __commonJS({
1445
1445
  exports.useTransition = function() {
1446
1446
  return resolveDispatcher().useTransition();
1447
1447
  };
1448
- exports.version = "19.2.5";
1448
+ exports.version = "19.2.6";
1449
1449
  "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
1450
1450
  })();
1451
1451
  }
@@ -24201,9 +24201,9 @@ var require_react_reconciler = __commonJS({
24201
24201
  }
24202
24202
  });
24203
24203
 
24204
- // node_modules/ws/lib/constants.js
24204
+ // node_modules/ink/node_modules/ws/lib/constants.js
24205
24205
  var require_constants2 = __commonJS({
24206
- "node_modules/ws/lib/constants.js"(exports, module) {
24206
+ "node_modules/ink/node_modules/ws/lib/constants.js"(exports, module) {
24207
24207
  "use strict";
24208
24208
  var BINARY_TYPES = ["nodebuffer", "arraybuffer", "fragments"];
24209
24209
  var hasBlob = typeof Blob !== "undefined";
@@ -24224,9 +24224,9 @@ var require_constants2 = __commonJS({
24224
24224
  }
24225
24225
  });
24226
24226
 
24227
- // node_modules/ws/lib/buffer-util.js
24227
+ // node_modules/ink/node_modules/ws/lib/buffer-util.js
24228
24228
  var require_buffer_util = __commonJS({
24229
- "node_modules/ws/lib/buffer-util.js"(exports, module) {
24229
+ "node_modules/ink/node_modules/ws/lib/buffer-util.js"(exports, module) {
24230
24230
  "use strict";
24231
24231
  var { EMPTY_BUFFER } = require_constants2();
24232
24232
  var FastBuffer = Buffer[Symbol.species];
@@ -24299,9 +24299,9 @@ var require_buffer_util = __commonJS({
24299
24299
  }
24300
24300
  });
24301
24301
 
24302
- // node_modules/ws/lib/limiter.js
24302
+ // node_modules/ink/node_modules/ws/lib/limiter.js
24303
24303
  var require_limiter = __commonJS({
24304
- "node_modules/ws/lib/limiter.js"(exports, module) {
24304
+ "node_modules/ink/node_modules/ws/lib/limiter.js"(exports, module) {
24305
24305
  "use strict";
24306
24306
  var kDone = Symbol("kDone");
24307
24307
  var kRun = Symbol("kRun");
@@ -24349,9 +24349,9 @@ var require_limiter = __commonJS({
24349
24349
  }
24350
24350
  });
24351
24351
 
24352
- // node_modules/ws/lib/permessage-deflate.js
24352
+ // node_modules/ink/node_modules/ws/lib/permessage-deflate.js
24353
24353
  var require_permessage_deflate = __commonJS({
24354
- "node_modules/ws/lib/permessage-deflate.js"(exports, module) {
24354
+ "node_modules/ink/node_modules/ws/lib/permessage-deflate.js"(exports, module) {
24355
24355
  "use strict";
24356
24356
  var zlib = __require("zlib");
24357
24357
  var bufferUtil = require_buffer_util();
@@ -24732,9 +24732,9 @@ var require_permessage_deflate = __commonJS({
24732
24732
  }
24733
24733
  });
24734
24734
 
24735
- // node_modules/ws/lib/validation.js
24735
+ // node_modules/ink/node_modules/ws/lib/validation.js
24736
24736
  var require_validation = __commonJS({
24737
- "node_modules/ws/lib/validation.js"(exports, module) {
24737
+ "node_modules/ink/node_modules/ws/lib/validation.js"(exports, module) {
24738
24738
  "use strict";
24739
24739
  var { isUtf8 } = __require("buffer");
24740
24740
  var { hasBlob } = require_constants2();
@@ -24933,9 +24933,9 @@ var require_validation = __commonJS({
24933
24933
  }
24934
24934
  });
24935
24935
 
24936
- // node_modules/ws/lib/receiver.js
24936
+ // node_modules/ink/node_modules/ws/lib/receiver.js
24937
24937
  var require_receiver = __commonJS({
24938
- "node_modules/ws/lib/receiver.js"(exports, module) {
24938
+ "node_modules/ink/node_modules/ws/lib/receiver.js"(exports, module) {
24939
24939
  "use strict";
24940
24940
  var { Writable } = __require("stream");
24941
24941
  var PerMessageDeflate2 = require_permessage_deflate();
@@ -25525,12 +25525,15 @@ var require_receiver = __commonJS({
25525
25525
  }
25526
25526
  });
25527
25527
 
25528
- // node_modules/ws/lib/sender.js
25528
+ // node_modules/ink/node_modules/ws/lib/sender.js
25529
25529
  var require_sender = __commonJS({
25530
- "node_modules/ws/lib/sender.js"(exports, module) {
25530
+ "node_modules/ink/node_modules/ws/lib/sender.js"(exports, module) {
25531
25531
  "use strict";
25532
25532
  var { Duplex } = __require("stream");
25533
25533
  var { randomFillSync } = __require("crypto");
25534
+ var {
25535
+ types: { isUint8Array }
25536
+ } = __require("util");
25534
25537
  var PerMessageDeflate2 = require_permessage_deflate();
25535
25538
  var { EMPTY_BUFFER, kWebSocket, NOOP } = require_constants2();
25536
25539
  var { isBlob, isValidStatusCode } = require_validation();
@@ -25684,8 +25687,10 @@ var require_sender = __commonJS({
25684
25687
  buf.writeUInt16BE(code, 0);
25685
25688
  if (typeof data === "string") {
25686
25689
  buf.write(data, 2);
25687
- } else {
25690
+ } else if (isUint8Array(data)) {
25688
25691
  buf.set(data, 2);
25692
+ } else {
25693
+ throw new TypeError("Second argument must be a string or a Uint8Array");
25689
25694
  }
25690
25695
  }
25691
25696
  const options = {
@@ -26013,9 +26018,9 @@ var require_sender = __commonJS({
26013
26018
  }
26014
26019
  });
26015
26020
 
26016
- // node_modules/ws/lib/event-target.js
26021
+ // node_modules/ink/node_modules/ws/lib/event-target.js
26017
26022
  var require_event_target = __commonJS({
26018
- "node_modules/ws/lib/event-target.js"(exports, module) {
26023
+ "node_modules/ink/node_modules/ws/lib/event-target.js"(exports, module) {
26019
26024
  "use strict";
26020
26025
  var { kForOnEventAttribute, kListener } = require_constants2();
26021
26026
  var kCode = Symbol("kCode");
@@ -26242,9 +26247,9 @@ var require_event_target = __commonJS({
26242
26247
  }
26243
26248
  });
26244
26249
 
26245
- // node_modules/ws/lib/extension.js
26250
+ // node_modules/ink/node_modules/ws/lib/extension.js
26246
26251
  var require_extension = __commonJS({
26247
- "node_modules/ws/lib/extension.js"(exports, module) {
26252
+ "node_modules/ink/node_modules/ws/lib/extension.js"(exports, module) {
26248
26253
  "use strict";
26249
26254
  var { tokenChars } = require_validation();
26250
26255
  function push(dest, name, elem) {
@@ -26395,9 +26400,9 @@ var require_extension = __commonJS({
26395
26400
  }
26396
26401
  });
26397
26402
 
26398
- // node_modules/ws/lib/websocket.js
26403
+ // node_modules/ink/node_modules/ws/lib/websocket.js
26399
26404
  var require_websocket = __commonJS({
26400
- "node_modules/ws/lib/websocket.js"(exports, module) {
26405
+ "node_modules/ink/node_modules/ws/lib/websocket.js"(exports, module) {
26401
26406
  "use strict";
26402
26407
  var EventEmitter3 = __require("events");
26403
26408
  var https = __require("https");
@@ -27281,9 +27286,9 @@ var require_websocket = __commonJS({
27281
27286
  }
27282
27287
  });
27283
27288
 
27284
- // node_modules/ws/lib/stream.js
27289
+ // node_modules/ink/node_modules/ws/lib/stream.js
27285
27290
  var require_stream = __commonJS({
27286
- "node_modules/ws/lib/stream.js"(exports, module) {
27291
+ "node_modules/ink/node_modules/ws/lib/stream.js"(exports, module) {
27287
27292
  "use strict";
27288
27293
  var WebSocket2 = require_websocket();
27289
27294
  var { Duplex } = __require("stream");
@@ -27379,9 +27384,9 @@ var require_stream = __commonJS({
27379
27384
  }
27380
27385
  });
27381
27386
 
27382
- // node_modules/ws/lib/subprotocol.js
27387
+ // node_modules/ink/node_modules/ws/lib/subprotocol.js
27383
27388
  var require_subprotocol = __commonJS({
27384
- "node_modules/ws/lib/subprotocol.js"(exports, module) {
27389
+ "node_modules/ink/node_modules/ws/lib/subprotocol.js"(exports, module) {
27385
27390
  "use strict";
27386
27391
  var { tokenChars } = require_validation();
27387
27392
  function parse(header) {
@@ -27424,9 +27429,9 @@ var require_subprotocol = __commonJS({
27424
27429
  }
27425
27430
  });
27426
27431
 
27427
- // node_modules/ws/lib/websocket-server.js
27432
+ // node_modules/ink/node_modules/ws/lib/websocket-server.js
27428
27433
  var require_websocket_server = __commonJS({
27429
- "node_modules/ws/lib/websocket-server.js"(exports, module) {
27434
+ "node_modules/ink/node_modules/ws/lib/websocket-server.js"(exports, module) {
27430
27435
  "use strict";
27431
27436
  var EventEmitter3 = __require("events");
27432
27437
  var http = __require("http");
@@ -27817,10 +27822,10 @@ var require_websocket_server = __commonJS({
27817
27822
  }
27818
27823
  });
27819
27824
 
27820
- // node_modules/ws/wrapper.mjs
27825
+ // node_modules/ink/node_modules/ws/wrapper.mjs
27821
27826
  var import_stream, import_extension, import_permessage_deflate, import_receiver, import_sender, import_subprotocol, import_websocket, import_websocket_server, wrapper_default;
27822
27827
  var init_wrapper = __esm({
27823
- "node_modules/ws/wrapper.mjs"() {
27828
+ "node_modules/ink/node_modules/ws/wrapper.mjs"() {
27824
27829
  import_stream = __toESM(require_stream(), 1);
27825
27830
  import_extension = __toESM(require_extension(), 1);
27826
27831
  import_permessage_deflate = __toESM(require_permessage_deflate(), 1);
@@ -44686,9 +44691,9 @@ var require_onetime = __commonJS({
44686
44691
  }
44687
44692
  });
44688
44693
 
44689
- // node_modules/escape-string-regexp/index.js
44694
+ // node_modules/stack-utils/node_modules/escape-string-regexp/index.js
44690
44695
  var require_escape_string_regexp = __commonJS({
44691
- "node_modules/escape-string-regexp/index.js"(exports, module) {
44696
+ "node_modules/stack-utils/node_modules/escape-string-regexp/index.js"(exports, module) {
44692
44697
  "use strict";
44693
44698
  var matchOperatorsRegex = /[|\\{}()[\]^$+*?.-]/g;
44694
44699
  module.exports = (string) => {
@@ -48853,7 +48858,7 @@ function wrapAssembly(lib) {
48853
48858
  var Yoga = wrapAssembly(await yoga_wasm_base64_esm_default());
48854
48859
  var src_default = Yoga;
48855
48860
 
48856
- // node_modules/ansi-regex/index.js
48861
+ // node_modules/string-width/node_modules/ansi-regex/index.js
48857
48862
  function ansiRegex({ onlyFirst = false } = {}) {
48858
48863
  const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
48859
48864
  const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
@@ -48862,7 +48867,7 @@ function ansiRegex({ onlyFirst = false } = {}) {
48862
48867
  return new RegExp(pattern, onlyFirst ? void 0 : "g");
48863
48868
  }
48864
48869
 
48865
- // node_modules/strip-ansi/index.js
48870
+ // node_modules/string-width/node_modules/strip-ansi/index.js
48866
48871
  var regex = ansiRegex();
48867
48872
  function stripAnsi(string) {
48868
48873
  if (typeof string !== "string") {
@@ -48875,10 +48880,14 @@ function stripAnsi(string) {
48875
48880
  }
48876
48881
 
48877
48882
  // node_modules/get-east-asian-width/lookup-data.js
48883
+ var ambiguousMinimalCodePoint = 161;
48884
+ var ambiguousMaximumCodePoint = 1114109;
48878
48885
  var ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];
48886
+ var fullwidthMinimalCodePoint = 12288;
48887
+ var fullwidthMaximumCodePoint = 65510;
48879
48888
  var fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];
48880
- var halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];
48881
- var narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];
48889
+ var wideMinimalCodePoint = 4352;
48890
+ var wideMaximumCodePoint = 262141;
48882
48891
  var wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];
48883
48892
 
48884
48893
  // node_modules/get-east-asian-width/utilities.js
@@ -48900,18 +48909,8 @@ var isInRange = (ranges, codePoint) => {
48900
48909
  };
48901
48910
 
48902
48911
  // node_modules/get-east-asian-width/lookup.js
48903
- var minimumAmbiguousCodePoint = ambiguousRanges[0];
48904
- var maximumAmbiguousCodePoint = ambiguousRanges.at(-1);
48905
- var minimumFullWidthCodePoint = fullwidthRanges[0];
48906
- var maximumFullWidthCodePoint = fullwidthRanges.at(-1);
48907
- var minimumHalfWidthCodePoint = halfwidthRanges[0];
48908
- var maximumHalfWidthCodePoint = halfwidthRanges.at(-1);
48909
- var minimumNarrowCodePoint = narrowRanges[0];
48910
- var maximumNarrowCodePoint = narrowRanges.at(-1);
48911
- var minimumWideCodePoint = wideRanges[0];
48912
- var maximumWideCodePoint = wideRanges.at(-1);
48913
48912
  var commonCjkCodePoint = 19968;
48914
- var [wideFastPathStart, wideFastPathEnd] = findWideFastPathRange(wideRanges);
48913
+ var [wideFastPathStart, wideFastPathEnd] = /* @__PURE__ */ findWideFastPathRange(wideRanges);
48915
48914
  function findWideFastPathRange(ranges) {
48916
48915
  let fastPathStart = ranges[0];
48917
48916
  let fastPathEnd = ranges[1];
@@ -48929,13 +48928,13 @@ function findWideFastPathRange(ranges) {
48929
48928
  return [fastPathStart, fastPathEnd];
48930
48929
  }
48931
48930
  var isAmbiguous = (codePoint) => {
48932
- if (codePoint < minimumAmbiguousCodePoint || codePoint > maximumAmbiguousCodePoint) {
48931
+ if (codePoint < ambiguousMinimalCodePoint || codePoint > ambiguousMaximumCodePoint) {
48933
48932
  return false;
48934
48933
  }
48935
48934
  return isInRange(ambiguousRanges, codePoint);
48936
48935
  };
48937
48936
  var isFullWidth = (codePoint) => {
48938
- if (codePoint < minimumFullWidthCodePoint || codePoint > maximumFullWidthCodePoint) {
48937
+ if (codePoint < fullwidthMinimalCodePoint || codePoint > fullwidthMaximumCodePoint) {
48939
48938
  return false;
48940
48939
  }
48941
48940
  return isInRange(fullwidthRanges, codePoint);
@@ -48944,7 +48943,7 @@ var isWide = (codePoint) => {
48944
48943
  if (codePoint >= wideFastPathStart && codePoint <= wideFastPathEnd) {
48945
48944
  return true;
48946
48945
  }
48947
- if (codePoint < minimumWideCodePoint || codePoint > maximumWideCodePoint) {
48946
+ if (codePoint < wideMinimalCodePoint || codePoint > wideMaximumCodePoint) {
48948
48947
  return false;
48949
48948
  }
48950
48949
  return isInRange(wideRanges, codePoint);
@@ -48990,13 +48989,60 @@ function baseVisible(segment) {
48990
48989
  function isZeroWidthCluster(segment) {
48991
48990
  return zeroWidthClusterRegex.test(segment);
48992
48991
  }
48993
- function trailingHalfwidthWidth(segment, eastAsianWidthOptions) {
48994
- let extra = 0;
48995
- if (segment.length > 1) {
48996
- for (const char of segment.slice(1)) {
48997
- if (char >= "\uFF00" && char <= "\uFFEF") {
48998
- extra += eastAsianWidth(char.codePointAt(0), eastAsianWidthOptions);
48992
+ function isHangulLeadingJamo(codePoint) {
48993
+ return codePoint >= 4352 && codePoint <= 4447 || codePoint >= 43360 && codePoint <= 43388;
48994
+ }
48995
+ function isHangulVowelJamo(codePoint) {
48996
+ return codePoint >= 4448 && codePoint <= 4519 || codePoint >= 55216 && codePoint <= 55238;
48997
+ }
48998
+ function isHangulTrailingJamo(codePoint) {
48999
+ return codePoint >= 4520 && codePoint <= 4607 || codePoint >= 55243 && codePoint <= 55291;
49000
+ }
49001
+ function isHangulJamo(codePoint) {
49002
+ return isHangulLeadingJamo(codePoint) || isHangulVowelJamo(codePoint) || isHangulTrailingJamo(codePoint);
49003
+ }
49004
+ function hangulClusterWidth(visibleSegment, eastAsianWidthOptions) {
49005
+ const codePoints = [];
49006
+ for (const character of visibleSegment) {
49007
+ if (zeroWidthClusterRegex.test(character)) {
49008
+ continue;
49009
+ }
49010
+ codePoints.push(character.codePointAt(0));
49011
+ }
49012
+ if (codePoints.length === 0) {
49013
+ return void 0;
49014
+ }
49015
+ let width = 0;
49016
+ for (let index = 0; index < codePoints.length; index++) {
49017
+ const codePoint = codePoints[index];
49018
+ if (!isHangulJamo(codePoint)) {
49019
+ if (width === 0) {
49020
+ return void 0;
48999
49021
  }
49022
+ for (let remaining = index; remaining < codePoints.length; remaining++) {
49023
+ width += eastAsianWidth(codePoints[remaining], eastAsianWidthOptions);
49024
+ }
49025
+ return width;
49026
+ }
49027
+ if (isHangulLeadingJamo(codePoint) && isHangulVowelJamo(codePoints[index + 1])) {
49028
+ width += 2;
49029
+ index += isHangulTrailingJamo(codePoints[index + 2]) ? 2 : 1;
49030
+ continue;
49031
+ }
49032
+ width += eastAsianWidth(codePoint, eastAsianWidthOptions);
49033
+ }
49034
+ return width;
49035
+ }
49036
+ function trailingHalfwidthWidth(visibleSegment, eastAsianWidthOptions) {
49037
+ let extra = 0;
49038
+ let first = true;
49039
+ for (const character of visibleSegment) {
49040
+ if (first) {
49041
+ first = false;
49042
+ continue;
49043
+ }
49044
+ if (character >= "\uFF00" && character <= "\uFFEF") {
49045
+ extra += eastAsianWidth(character.codePointAt(0), eastAsianWidthOptions);
49000
49046
  }
49001
49047
  }
49002
49048
  return extra;
@@ -49029,13 +49075,40 @@ function stringWidth(input, options = {}) {
49029
49075
  width += 2;
49030
49076
  continue;
49031
49077
  }
49032
- const codePoint = baseVisible(segment).codePointAt(0);
49078
+ const visibleSegment = baseVisible(segment);
49079
+ const hangulWidth = hangulClusterWidth(visibleSegment, eastAsianWidthOptions);
49080
+ if (hangulWidth !== void 0) {
49081
+ width += hangulWidth;
49082
+ continue;
49083
+ }
49084
+ const codePoint = visibleSegment.codePointAt(0);
49033
49085
  width += eastAsianWidth(codePoint, eastAsianWidthOptions);
49034
- width += trailingHalfwidthWidth(segment, eastAsianWidthOptions);
49086
+ width += trailingHalfwidthWidth(visibleSegment, eastAsianWidthOptions);
49035
49087
  }
49036
49088
  return width;
49037
49089
  }
49038
49090
 
49091
+ // node_modules/wrap-ansi/node_modules/ansi-regex/index.js
49092
+ function ansiRegex2({ onlyFirst = false } = {}) {
49093
+ const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
49094
+ const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
49095
+ const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
49096
+ const pattern = `${osc}|${csi}`;
49097
+ return new RegExp(pattern, onlyFirst ? void 0 : "g");
49098
+ }
49099
+
49100
+ // node_modules/wrap-ansi/node_modules/strip-ansi/index.js
49101
+ var regex2 = ansiRegex2();
49102
+ function stripAnsi2(string) {
49103
+ if (typeof string !== "string") {
49104
+ throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
49105
+ }
49106
+ if (!string.includes("\x1B") && !string.includes("\x9B")) {
49107
+ return string;
49108
+ }
49109
+ return string.replace(regex2, "");
49110
+ }
49111
+
49039
49112
  // node_modules/ansi-styles/index.js
49040
49113
  var ANSI_BACKGROUND_OFFSET = 10;
49041
49114
  var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
@@ -49411,7 +49484,7 @@ var wrapWord = (rows, word, columns) => {
49411
49484
  const characters = getGraphemes(word);
49412
49485
  let isInsideEscape = false;
49413
49486
  let isInsideLinkEscape = false;
49414
- let visible = stringWidth(stripAnsi(rows.at(-1)));
49487
+ let visible = stringWidth(stripAnsi2(rows.at(-1)));
49415
49488
  for (const [index, character] of characters.entries()) {
49416
49489
  const characterLength = stringWidth(character);
49417
49490
  if (visible + characterLength <= columns) {
@@ -51575,6 +51648,12 @@ var reconciler_default = (0, import_react_reconciler.default)({
51575
51648
  rootNode.onComputeLayout();
51576
51649
  }
51577
51650
  emitLayoutListeners(rootNode);
51651
+ if (rootNode.staticNode !== rootNode.previousStaticNode) {
51652
+ rootNode.previousStaticNode = rootNode.staticNode;
51653
+ if (typeof rootNode.onStaticChange === "function") {
51654
+ rootNode.onStaticChange();
51655
+ }
51656
+ }
51578
51657
  if (rootNode.isStaticDirty) {
51579
51658
  rootNode.isStaticDirty = false;
51580
51659
  if (typeof rootNode.onImmediateRender === "function") {
@@ -51684,7 +51763,7 @@ var reconciler_default = (0, import_react_reconciler.default)({
51684
51763
  removeChildFromContainer(node, removeNode) {
51685
51764
  removeChildNode(node, removeNode);
51686
51765
  cleanupYogaNode(removeNode.yogaNode);
51687
- if (removeNode.internal_static && currentRootNode) {
51766
+ if (removeNode.internal_static && currentRootNode?.staticNode === removeNode) {
51688
51767
  currentRootNode.staticNode = void 0;
51689
51768
  }
51690
51769
  },
@@ -51724,7 +51803,7 @@ var reconciler_default = (0, import_react_reconciler.default)({
51724
51803
  removeChild(node, removeNode) {
51725
51804
  removeChildNode(node, removeNode);
51726
51805
  cleanupYogaNode(removeNode.yogaNode);
51727
- if (removeNode.internal_static && currentRootNode) {
51806
+ if (removeNode.internal_static && currentRootNode?.staticNode === removeNode) {
51728
51807
  currentRootNode.staticNode = void 0;
51729
51808
  }
51730
51809
  },
@@ -51803,8 +51882,8 @@ function indentString(string, count = 1, options = {}) {
51803
51882
  if (count === 0) {
51804
51883
  return string;
51805
51884
  }
51806
- const regex2 = includeEmptyLines ? /^/gm : /^(?!\s*$)/gm;
51807
- return string.replace(regex2, indent.repeat(count));
51885
+ const regex3 = includeEmptyLines ? /^/gm : /^(?!\s*$)/gm;
51886
+ return string.replace(regex3, indent.repeat(count));
51808
51887
  }
51809
51888
 
51810
51889
  // node_modules/ink/build/get-max-width.js
@@ -52397,7 +52476,7 @@ var source_default = chalk;
52397
52476
 
52398
52477
  // node_modules/ink/build/colorize.js
52399
52478
  var rgbRegex = /^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/;
52400
- var ansiRegex2 = /^ansi256\(\s?(\d+)\s?\)$/;
52479
+ var ansiRegex3 = /^ansi256\(\s?(\d+)\s?\)$/;
52401
52480
  var isNamedColor = (color) => {
52402
52481
  return color in source_default;
52403
52482
  };
@@ -52416,7 +52495,7 @@ var colorize = (str, color, type) => {
52416
52495
  return type === "foreground" ? source_default.hex(color)(str) : source_default.bgHex(color)(str);
52417
52496
  }
52418
52497
  if (color.startsWith("ansi256")) {
52419
- const matches = ansiRegex2.exec(color);
52498
+ const matches = ansiRegex3.exec(color);
52420
52499
  if (!matches) {
52421
52500
  return str;
52422
52501
  }
@@ -53929,6 +54008,7 @@ function ErrorOverview({ error }) {
53929
54008
  const filePath = cleanupPath(origin?.file);
53930
54009
  let excerpt;
53931
54010
  let lineWidth = 0;
54011
+ const stackLineCounts = /* @__PURE__ */ new Map();
53932
54012
  if (filePath && origin?.line && fs2.existsSync(filePath)) {
53933
54013
  const sourceCode = fs2.readFileSync(filePath, "utf8");
53934
54014
  excerpt = dist_default3(sourceCode, origin.line);
@@ -53988,10 +54068,13 @@ function ErrorOverview({ error }) {
53988
54068
  ))) : null,
53989
54069
  error.stack ? import_react13.default.createElement(Box_default, { marginTop: 1, flexDirection: "column" }, error.stack.split("\n").slice(1).map((line) => {
53990
54070
  const parsedLine = stackUtils.parseLine(line);
53991
- if (!parsedLine) {
54071
+ const lineCount = stackLineCounts.get(line) ?? 0;
54072
+ stackLineCounts.set(line, lineCount + 1);
54073
+ const key = `${line}-${lineCount}`;
54074
+ if (!parsedLine?.file || !parsedLine.line || !parsedLine.column) {
53992
54075
  return import_react13.default.createElement(
53993
54076
  Box_default,
53994
- { key: line },
54077
+ { key },
53995
54078
  import_react13.default.createElement(Text, { dimColor: true }, "- "),
53996
54079
  import_react13.default.createElement(
53997
54080
  Text,
@@ -54004,7 +54087,7 @@ function ErrorOverview({ error }) {
54004
54087
  }
54005
54088
  return import_react13.default.createElement(
54006
54089
  Box_default,
54007
- { key: line },
54090
+ { key },
54008
54091
  import_react13.default.createElement(Text, { dimColor: true }, "- "),
54009
54092
  import_react13.default.createElement(Text, { dimColor: true, bold: true }, parsedLine.function),
54010
54093
  import_react13.default.createElement(
@@ -54056,6 +54139,7 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
54056
54139
  const animationSubscribersRef = (0, import_react15.useRef)(/* @__PURE__ */ new Map());
54057
54140
  const animationTimerRef = (0, import_react15.useRef)(void 0);
54058
54141
  const rawModeEnabledCount = (0, import_react15.useRef)(0);
54142
+ const pendingDisableRawModeRef = (0, import_react15.useRef)(false);
54059
54143
  const bracketedPasteModeEnabledCount = (0, import_react15.useRef)(0);
54060
54144
  const internal_eventEmitter = (0, import_react15.useRef)(new EventEmitter2());
54061
54145
  internal_eventEmitter.current.setMaxListeners(Infinity);
@@ -54136,16 +54220,20 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
54136
54220
  stdin.removeListener("readable", readableListenerRef.current);
54137
54221
  readableListenerRef.current = void 0;
54138
54222
  }, [stdin]);
54223
+ const clearInputState = (0, import_react15.useCallback)(() => {
54224
+ inputParserRef.current.reset();
54225
+ clearPendingInputFlush();
54226
+ detachReadableListener();
54227
+ }, [clearPendingInputFlush, detachReadableListener]);
54139
54228
  const disableRawMode = (0, import_react15.useCallback)(() => {
54229
+ pendingDisableRawModeRef.current = false;
54140
54230
  stdin.setRawMode(false);
54141
- detachReadableListener();
54142
54231
  stdin.unref();
54143
54232
  rawModeEnabledCount.current = 0;
54144
- inputParserRef.current.reset();
54145
- clearPendingInputFlush();
54146
- }, [stdin, detachReadableListener, clearPendingInputFlush]);
54233
+ clearInputState();
54234
+ }, [stdin, clearInputState]);
54147
54235
  const handleExit = (0, import_react15.useCallback)((errorOrResult) => {
54148
- if (isRawModeSupported && rawModeEnabledCount.current > 0) {
54236
+ if (isRawModeSupported && (rawModeEnabledCount.current > 0 || pendingDisableRawModeRef.current)) {
54149
54237
  disableRawMode();
54150
54238
  }
54151
54239
  onExit(errorOrResult);
@@ -54195,6 +54283,13 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
54195
54283
  schedulePendingInputFlush();
54196
54284
  }
54197
54285
  }, [stdin, emitInput, clearPendingInputFlush, schedulePendingInputFlush]);
54286
+ const attachReadableListener = (0, import_react15.useCallback)(() => {
54287
+ if (readableListenerRef.current) {
54288
+ return;
54289
+ }
54290
+ readableListenerRef.current = handleReadable;
54291
+ stdin.addListener("readable", handleReadable);
54292
+ }, [stdin, handleReadable]);
54198
54293
  const handleSetRawMode = (0, import_react15.useCallback)((isEnabled) => {
54199
54294
  if (!isRawModeSupported) {
54200
54295
  if (stdin === process11.stdin) {
@@ -54206,10 +54301,13 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
54206
54301
  stdin.setEncoding("utf8");
54207
54302
  if (isEnabled) {
54208
54303
  if (rawModeEnabledCount.current === 0) {
54209
- stdin.ref();
54210
- stdin.setRawMode(true);
54211
- readableListenerRef.current = handleReadable;
54212
- stdin.addListener("readable", handleReadable);
54304
+ const isRawModeAlreadyEnabled = pendingDisableRawModeRef.current;
54305
+ pendingDisableRawModeRef.current = false;
54306
+ if (!isRawModeAlreadyEnabled) {
54307
+ stdin.ref();
54308
+ stdin.setRawMode(true);
54309
+ }
54310
+ attachReadableListener();
54213
54311
  }
54214
54312
  rawModeEnabledCount.current++;
54215
54313
  return;
@@ -54218,9 +54316,22 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
54218
54316
  return;
54219
54317
  }
54220
54318
  if (--rawModeEnabledCount.current === 0) {
54221
- disableRawMode();
54319
+ clearInputState();
54320
+ pendingDisableRawModeRef.current = true;
54321
+ queueMicrotask(() => {
54322
+ if (!pendingDisableRawModeRef.current) {
54323
+ return;
54324
+ }
54325
+ disableRawMode();
54326
+ });
54222
54327
  }
54223
- }, [isRawModeSupported, stdin, handleReadable, disableRawMode]);
54328
+ }, [
54329
+ isRawModeSupported,
54330
+ stdin,
54331
+ attachReadableListener,
54332
+ clearInputState,
54333
+ disableRawMode
54334
+ ]);
54224
54335
  const handleSetBracketedPasteMode = (0, import_react15.useCallback)((isEnabled) => {
54225
54336
  if (!stdout.isTTY) {
54226
54337
  return;
@@ -54384,7 +54495,7 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
54384
54495
  if (interactive && canWriteToStdout) {
54385
54496
  cli_cursor_default.show(stdout);
54386
54497
  }
54387
- if (isRawModeSupported && rawModeEnabledCount.current > 0) {
54498
+ if (isRawModeSupported && (rawModeEnabledCount.current > 0 || pendingDisableRawModeRef.current)) {
54388
54499
  disableRawMode();
54389
54500
  }
54390
54501
  if (bracketedPasteModeEnabledCount.current > 0) {
@@ -54674,6 +54785,7 @@ var Ink = class {
54674
54785
  this.throttledOnRender = throttled;
54675
54786
  }
54676
54787
  this.rootNode.onImmediateRender = this.onRender;
54788
+ this.rootNode.onStaticChange = this.handleStaticChange;
54677
54789
  this.log = log_update_default.create(options.stdout, {
54678
54790
  incremental: options.incrementalRendering
54679
54791
  });
@@ -54735,6 +54847,7 @@ var Ink = class {
54735
54847
  this.lastOutputToRender = "";
54736
54848
  }
54737
54849
  this.calculateLayout();
54850
+ emitLayoutListeners(this.rootNode);
54738
54851
  this.onRender();
54739
54852
  this.lastTerminalWidth = currentWidth;
54740
54853
  };
@@ -54771,6 +54884,10 @@ var Ink = class {
54771
54884
  this.rootNode.yogaNode.setWidth(terminalWidth);
54772
54885
  this.rootNode.yogaNode.calculateLayout(void 0, void 0, src_default.DIRECTION_LTR);
54773
54886
  };
54887
+ // Resets `fullStaticOutput` when the <Static> identity changes so stale items from a previous instance are not replayed on future rewrites.
54888
+ handleStaticChange = () => {
54889
+ this.fullStaticOutput = "";
54890
+ };
54774
54891
  onRender = () => {
54775
54892
  this.hasPendingThrottledRender = false;
54776
54893
  if (this.isUnmounted) {
@@ -57107,6 +57224,13 @@ function SummaryPanel({
57107
57224
  /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Box_default, { flexShrink: 0, width: 14, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Text, { color: MUTED, children: field.label }) }),
57108
57225
  /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Text, { bold: true, children: field.value })
57109
57226
  ] }, field.label)) }) : null,
57227
+ summary.featureBlurbs !== void 0 && summary.featureBlurbs.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Box_default, { flexDirection: "column", flexShrink: 0, marginTop: 1, children: [
57228
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Text, { bold: true, color: MUTED, children: "Here's what we set up" }),
57229
+ summary.featureBlurbs.map(({ label, blurb }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Box_default, { flexDirection: "row", flexShrink: 0, children: [
57230
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Box_default, { flexShrink: 0, width: 22, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Text, { bold: true, color: PRIMARY, children: label }) }),
57231
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Box_default, { flexShrink: 1, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Text, { color: MUTED, wrap: "wrap", children: blurb }) })
57232
+ ] }, label))
57233
+ ] }) : null,
57110
57234
  summary.changedFiles !== void 0 && summary.changedFiles.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ChangedFilesTree, { files: summary.changedFiles }) : null
57111
57235
  ]
57112
57236
  }