snow-ai 0.5.25 → 0.5.27

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/bundle/cli.mjs CHANGED
@@ -43278,7 +43278,7 @@ var require_polyfills = __commonJS({
43278
43278
  var constants2 = __require("constants");
43279
43279
  var origCwd = process.cwd;
43280
43280
  var cwd2 = null;
43281
- var platform5 = process.env.GRACEFUL_FS_PLATFORM || process.platform;
43281
+ var platform6 = process.env.GRACEFUL_FS_PLATFORM || process.platform;
43282
43282
  process.cwd = function() {
43283
43283
  if (!cwd2)
43284
43284
  cwd2 = origCwd.call(process);
@@ -43337,7 +43337,7 @@ var require_polyfills = __commonJS({
43337
43337
  fs42.lchownSync = function() {
43338
43338
  };
43339
43339
  }
43340
- if (platform5 === "win32") {
43340
+ if (platform6 === "win32") {
43341
43341
  fs42.rename = typeof fs42.rename !== "function" ? fs42.rename : (function(fs$rename) {
43342
43342
  function rename2(from2, to, cb2) {
43343
43343
  var start = Date.now();
@@ -45541,7 +45541,7 @@ var require_jsonfile = __commonJS({
45541
45541
  callback(null, obj2);
45542
45542
  });
45543
45543
  }
45544
- function readFileSync22(file, options3) {
45544
+ function readFileSync23(file, options3) {
45545
45545
  options3 = options3 || {};
45546
45546
  if (typeof options3 === "string") {
45547
45547
  options3 = { encoding: options3 };
@@ -45594,7 +45594,7 @@ var require_jsonfile = __commonJS({
45594
45594
  }
45595
45595
  fs42.writeFile(file, str2, options3, callback);
45596
45596
  }
45597
- function writeFileSync15(file, obj2, options3) {
45597
+ function writeFileSync16(file, obj2, options3) {
45598
45598
  options3 = options3 || {};
45599
45599
  var fs42 = options3.fs || _fs;
45600
45600
  var str2 = stringify2(obj2, options3);
@@ -45607,9 +45607,9 @@ var require_jsonfile = __commonJS({
45607
45607
  }
45608
45608
  var jsonfile = {
45609
45609
  readFile: readFile3,
45610
- readFileSync: readFileSync22,
45610
+ readFileSync: readFileSync23,
45611
45611
  writeFile: writeFile4,
45612
- writeFileSync: writeFileSync15
45612
+ writeFileSync: writeFileSync16
45613
45613
  };
45614
45614
  module2.exports = jsonfile;
45615
45615
  }
@@ -46656,7 +46656,7 @@ function getPowerShellVersion() {
46656
46656
  }
46657
46657
  }
46658
46658
  function getSystemEnvironmentInfo(includePowerShellVersion = false) {
46659
- const platform5 = (() => {
46659
+ const platform6 = (() => {
46660
46660
  const platformType = os4.platform();
46661
46661
  switch (platformType) {
46662
46662
  case "win32":
@@ -46692,7 +46692,7 @@ function getSystemEnvironmentInfo(includePowerShellVersion = false) {
46692
46692
  return shellName || "shell";
46693
46693
  })();
46694
46694
  const workingDirectory = process.cwd();
46695
- return `Platform: ${platform5}
46695
+ return `Platform: ${platform6}
46696
46696
  Shell: ${shell}
46697
46697
  Working Directory: ${workingDirectory}`;
46698
46698
  }
@@ -80480,6 +80480,11 @@ var init_en = __esm({
80480
80480
  enterPromptContent: "Enter prompt content",
80481
80481
  notSet: "Not set",
80482
80482
  editingHint: "\u2191\u2193: Navigate fields | Enter: Edit | Ctrl+S: Save | ESC: Cancel",
80483
+ externalEditorHint: "Press E to use external editor",
80484
+ editorNotFound: "No text editor found. Please set EDITOR or VISUAL environment variable",
80485
+ editorOpenFailed: "Failed to open editor",
80486
+ editorEditFailed: "Edit failed",
80487
+ editorSaved: "Content saved successfully",
80483
80488
  confirmDelete: "Confirm Delete",
80484
80489
  deleteConfirmMessage: "Are you sure you want to delete",
80485
80490
  confirmHint: "Press Y to confirm, N or ESC to cancel",
@@ -81479,6 +81484,11 @@ var init_zh = __esm({
81479
81484
  enterPromptContent: "\u8F93\u5165\u63D0\u793A\u8BCD\u5185\u5BB9",
81480
81485
  notSet: "\u672A\u8BBE\u7F6E",
81481
81486
  editingHint: "\u2191\u2193: \u5BFC\u822A\u5B57\u6BB5 | Enter: \u7F16\u8F91 | Ctrl+S: \u4FDD\u5B58 | ESC: \u53D6\u6D88",
81487
+ externalEditorHint: "\u6309 E \u952E\u4F7F\u7528\u5916\u90E8\u7F16\u8F91\u5668",
81488
+ editorNotFound: "\u672A\u627E\u5230\u6587\u672C\u7F16\u8F91\u5668\uFF0C\u8BF7\u8BBE\u7F6E EDITOR \u6216 VISUAL \u73AF\u5883\u53D8\u91CF",
81489
+ editorOpenFailed: "\u65E0\u6CD5\u6253\u5F00\u7F16\u8F91\u5668",
81490
+ editorEditFailed: "\u7F16\u8F91\u5931\u8D25",
81491
+ editorSaved: "\u5DF2\u4FDD\u5B58\u7F16\u8F91\u5185\u5BB9",
81482
81492
  confirmDelete: "\u786E\u8BA4\u5220\u9664",
81483
81493
  deleteConfirmMessage: "\u786E\u5B9A\u8981\u5220\u9664",
81484
81494
  confirmHint: "\u6309 Y \u786E\u8BA4,N \u6216 ESC \u53D6\u6D88",
@@ -82478,6 +82488,11 @@ var init_zh_TW = __esm({
82478
82488
  enterPromptContent: "\u8F38\u5165\u63D0\u793A\u8A5E\u5167\u5BB9",
82479
82489
  notSet: "\u672A\u8A2D\u5B9A",
82480
82490
  editingHint: "\u2191\u2193: \u5C0E\u822A\u6B04\u4F4D | Enter: \u7DE8\u8F2F | Ctrl+S: \u5132\u5B58 | ESC: \u53D6\u6D88",
82491
+ externalEditorHint: "\u6309 E \u9375\u4F7F\u7528\u5916\u90E8\u7DE8\u8F2F\u5668",
82492
+ editorNotFound: "\u672A\u627E\u5230\u6587\u5B57\u7DE8\u8F2F\u5668\uFF0C\u8ACB\u8A2D\u5B9A EDITOR \u6216 VISUAL \u74B0\u5883\u8B8A\u6578",
82493
+ editorOpenFailed: "\u7121\u6CD5\u958B\u555F\u7DE8\u8F2F\u5668",
82494
+ editorEditFailed: "\u7DE8\u8F2F\u5931\u6557",
82495
+ editorSaved: "\u5DF2\u5132\u5B58\u7DE8\u8F2F\u5167\u5BB9",
82481
82496
  confirmDelete: "\u78BA\u8A8D\u522A\u9664",
82482
82497
  deleteConfirmMessage: "\u78BA\u5B9A\u8981\u522A\u9664",
82483
82498
  confirmHint: "\u6309 Y \u78BA\u8A8D,N \u6216 ESC \u53D6\u6D88",
@@ -103003,8 +103018,8 @@ var require_path_key = __commonJS({
103003
103018
  "use strict";
103004
103019
  var pathKey = (options3 = {}) => {
103005
103020
  const environment2 = options3.env || process.env;
103006
- const platform5 = options3.platform || process.platform;
103007
- if (platform5 !== "win32") {
103021
+ const platform6 = options3.platform || process.platform;
103022
+ if (platform6 !== "win32") {
103008
103023
  return "PATH";
103009
103024
  }
103010
103025
  return Object.keys(environment2).reverse().find((key) => key.toUpperCase() === "PATH") || "Path";
@@ -103250,7 +103265,7 @@ var require_cross_spawn = __commonJS({
103250
103265
  var cp = __require("child_process");
103251
103266
  var parse3 = require_parse4();
103252
103267
  var enoent = require_enoent();
103253
- function spawn10(command, args2, options3) {
103268
+ function spawn11(command, args2, options3) {
103254
103269
  const parsed = parse3(command, args2, options3);
103255
103270
  const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
103256
103271
  enoent.hookChildProcess(spawned, parsed);
@@ -103262,8 +103277,8 @@ var require_cross_spawn = __commonJS({
103262
103277
  result2.error = result2.error || enoent.verifyENOENTSync(result2.status, parsed);
103263
103278
  return result2;
103264
103279
  }
103265
- module2.exports = spawn10;
103266
- module2.exports.spawn = spawn10;
103280
+ module2.exports = spawn11;
103281
+ module2.exports.spawn = spawn11;
103267
103282
  module2.exports.sync = spawnSync4;
103268
103283
  module2.exports._parse = parse3;
103269
103284
  module2.exports._enoent = enoent;
@@ -105454,7 +105469,7 @@ var require_doc = __commonJS({
105454
105469
  type: "cursor",
105455
105470
  placeholder: Symbol("cursor")
105456
105471
  };
105457
- function join30(sep, arr) {
105472
+ function join31(sep, arr) {
105458
105473
  const res = [];
105459
105474
  for (let i = 0; i < arr.length; i++) {
105460
105475
  if (i !== 0) {
@@ -105484,7 +105499,7 @@ var require_doc = __commonJS({
105484
105499
  }
105485
105500
  module22.exports = {
105486
105501
  concat: concat2,
105487
- join: join30,
105502
+ join: join31,
105488
105503
  line,
105489
105504
  softline,
105490
105505
  hardline,
@@ -105676,7 +105691,7 @@ var require_doc = __commonJS({
105676
105691
  var getLast = require_get_last();
105677
105692
  var {
105678
105693
  literalline,
105679
- join: join30
105694
+ join: join31
105680
105695
  } = require_doc_builders();
105681
105696
  var isConcat = (doc) => Array.isArray(doc) || doc && doc.type === "concat";
105682
105697
  var getDocParts = (doc) => {
@@ -105989,7 +106004,7 @@ var require_doc = __commonJS({
105989
106004
  }
105990
106005
  function replaceTextEndOfLine(text3) {
105991
106006
  let replacement = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : literalline;
105992
- return join30(replacement, text3.split("\n")).parts;
106007
+ return join31(replacement, text3.split("\n")).parts;
105993
106008
  }
105994
106009
  function canBreakFn(doc) {
105995
106010
  if (doc.type === "line") {
@@ -114959,7 +114974,7 @@ ${error.message}`;
114959
114974
  value: true
114960
114975
  });
114961
114976
  exports22.readFile = readFile3;
114962
- exports22.readFileSync = readFileSync22;
114977
+ exports22.readFileSync = readFileSync23;
114963
114978
  var _fs = _interopRequireDefault(__require("fs"));
114964
114979
  function _interopRequireDefault(obj2) {
114965
114980
  return obj2 && obj2.__esModule ? obj2 : {
@@ -114989,7 +115004,7 @@ ${error.message}`;
114989
115004
  throw error;
114990
115005
  }
114991
115006
  }
114992
- function readFileSync22(filepath, options3 = {}) {
115007
+ function readFileSync23(filepath, options3 = {}) {
114993
115008
  const throwNotFound = options3.throwNotFound === true;
114994
115009
  try {
114995
115010
  const content = _fs.default.readFileSync(filepath, "utf8");
@@ -115376,7 +115391,7 @@ ${error.message}`;
115376
115391
  var path53 = __require("path");
115377
115392
  var fs42 = __require("fs");
115378
115393
  var exists = fs42.exists || path53.exists;
115379
- var existsSync26 = fs42.existsSync || path53.existsSync;
115394
+ var existsSync27 = fs42.existsSync || path53.existsSync;
115380
115395
  function splitPath(path210) {
115381
115396
  var parts = path210.split(/(\/|\\)/);
115382
115397
  if (!parts.length)
@@ -115401,7 +115416,7 @@ ${error.message}`;
115401
115416
  if (parts.length === 0)
115402
115417
  return null;
115403
115418
  var p = parts.join("");
115404
- var itdoes = existsSync26(path53.join(p, clue));
115419
+ var itdoes = existsSync27(path53.join(p, clue));
115405
115420
  return itdoes ? p : testDir(parts.slice(0, -1));
115406
115421
  }
115407
115422
  return testDir(splitPath(currentFullPath));
@@ -216314,7 +216329,7 @@ var require_prettier = __commonJS({
216314
216329
  tokenize: function tokenize5(value) {
216315
216330
  return value.split("");
216316
216331
  },
216317
- join: function join30(chars) {
216332
+ join: function join31(chars) {
216318
216333
  return chars.join("");
216319
216334
  }
216320
216335
  };
@@ -222233,7 +222248,7 @@ ${frame}`;
222233
222248
  breakParent,
222234
222249
  indent,
222235
222250
  lineSuffix,
222236
- join: join30,
222251
+ join: join31,
222237
222252
  cursor: cursor4
222238
222253
  }
222239
222254
  } = require_doc();
@@ -222615,9 +222630,9 @@ ${frame}`;
222615
222630
  return "";
222616
222631
  }
222617
222632
  if (sameIndent) {
222618
- return join30(hardline, parts);
222633
+ return join31(hardline, parts);
222619
222634
  }
222620
- return indent([hardline, join30(hardline, parts)]);
222635
+ return indent([hardline, join31(hardline, parts)]);
222621
222636
  }
222622
222637
  function printCommentsSeparately(path53, options3, ignored) {
222623
222638
  const value = path53.getValue();
@@ -230166,8 +230181,8 @@ ${error.message}`;
230166
230181
  }
230167
230182
  return x;
230168
230183
  };
230169
- var defaultReadPackageSync = function defaultReadPackageSync2(readFileSync22, pkgfile) {
230170
- var body = readFileSync22(pkgfile);
230184
+ var defaultReadPackageSync = function defaultReadPackageSync2(readFileSync23, pkgfile) {
230185
+ var body = readFileSync23(pkgfile);
230171
230186
  try {
230172
230187
  var pkg = JSON.parse(body);
230173
230188
  return pkg;
@@ -230187,7 +230202,7 @@ ${error.message}`;
230187
230202
  }
230188
230203
  var opts = normalizeOptions(x, options3);
230189
230204
  var isFile = opts.isFile || defaultIsFile;
230190
- var readFileSync22 = opts.readFileSync || fs42.readFileSync;
230205
+ var readFileSync23 = opts.readFileSync || fs42.readFileSync;
230191
230206
  var isDirectory = opts.isDirectory || defaultIsDir;
230192
230207
  var realpathSync = opts.realpathSync || defaultRealpathSync;
230193
230208
  var readPackageSync2 = opts.readPackageSync || defaultReadPackageSync;
@@ -230249,7 +230264,7 @@ ${error.message}`;
230249
230264
  if (!isFile(pkgfile)) {
230250
230265
  return loadpkg(path53.dirname(dir));
230251
230266
  }
230252
- var pkg = readPackageSync2(readFileSync22, pkgfile);
230267
+ var pkg = readPackageSync2(readFileSync23, pkgfile);
230253
230268
  if (pkg && opts.packageFilter) {
230254
230269
  pkg = opts.packageFilter(pkg, dir);
230255
230270
  }
@@ -230262,7 +230277,7 @@ ${error.message}`;
230262
230277
  var pkgfile = path53.join(maybeRealpathSync(realpathSync, x2, opts), "/package.json");
230263
230278
  if (isFile(pkgfile)) {
230264
230279
  try {
230265
- var pkg = readPackageSync2(readFileSync22, pkgfile);
230280
+ var pkg = readPackageSync2(readFileSync23, pkgfile);
230266
230281
  } catch (e) {
230267
230282
  }
230268
230283
  if (pkg && opts.packageFilter) {
@@ -231451,7 +231466,7 @@ ${fromBody}`;
231451
231466
  });
231452
231467
  var require_fnmatch = __commonJS22({
231453
231468
  "node_modules/editorconfig/src/lib/fnmatch.js"(exports22, module22) {
231454
- var platform5 = typeof process === "object" ? process.platform : "win32";
231469
+ var platform6 = typeof process === "object" ? process.platform : "win32";
231455
231470
  if (module22)
231456
231471
  module22.exports = minimatch;
231457
231472
  else
@@ -231545,7 +231560,7 @@ ${fromBody}`;
231545
231560
  }
231546
231561
  if (!options3)
231547
231562
  options3 = {};
231548
- if (platform5 === "win32") {
231563
+ if (platform6 === "win32") {
231549
231564
  pattern = pattern.split("\\").join("/");
231550
231565
  }
231551
231566
  var cacheKey = pattern + "\n" + sigmund(options3);
@@ -231949,7 +231964,7 @@ ${fromBody}`;
231949
231964
  if (f === "/" && partial2)
231950
231965
  return true;
231951
231966
  var options3 = this.options;
231952
- if (platform5 === "win32") {
231967
+ if (platform6 === "win32") {
231953
231968
  f = f.split("\\").join("/");
231954
231969
  }
231955
231970
  f = f.split(slashSplit);
@@ -236962,7 +236977,7 @@ ${fromBody}`;
236962
236977
  } = require_util15();
236963
236978
  var {
236964
236979
  builders: {
236965
- join: join30,
236980
+ join: join31,
236966
236981
  hardline,
236967
236982
  softline,
236968
236983
  group: group2,
@@ -237075,7 +237090,7 @@ ${fromBody}`;
237075
237090
  maxColumnWidths[index] = Math.max(maxColumnWidths[index], getStringWidth(cell));
237076
237091
  }
237077
237092
  }
237078
- parts.push(lineSuffixBoundary, "`", indent([hardline, join30(hardline, table2.map((row) => join30(" | ", row.cells.map((cell, index) => row.hasLineBreak ? cell : cell + " ".repeat(maxColumnWidths[index] - getStringWidth(cell))))))]), hardline, "`");
237093
+ parts.push(lineSuffixBoundary, "`", indent([hardline, join31(hardline, table2.map((row) => join31(" | ", row.cells.map((cell, index) => row.hasLineBreak ? cell : cell + " ".repeat(maxColumnWidths[index] - getStringWidth(cell))))))]), hardline, "`");
237079
237094
  return parts;
237080
237095
  }
237081
237096
  }
@@ -237219,7 +237234,7 @@ ${fromBody}`;
237219
237234
  var {
237220
237235
  builders: {
237221
237236
  indent,
237222
- join: join30,
237237
+ join: join31,
237223
237238
  hardline
237224
237239
  }
237225
237240
  } = require_doc();
@@ -237275,7 +237290,7 @@ ${fromBody}`;
237275
237290
  parts.push(expressionDoc);
237276
237291
  }
237277
237292
  }
237278
- return ["`", indent([hardline, join30(hardline, parts)]), hardline, "`"];
237293
+ return ["`", indent([hardline, join31(hardline, parts)]), hardline, "`"];
237279
237294
  }
237280
237295
  function printGraphqlComments(lines) {
237281
237296
  const parts = [];
@@ -237292,7 +237307,7 @@ ${fromBody}`;
237292
237307
  }
237293
237308
  seenComment = true;
237294
237309
  }
237295
- return parts.length === 0 ? null : join30(hardline, parts);
237310
+ return parts.length === 0 ? null : join31(hardline, parts);
237296
237311
  }
237297
237312
  module22.exports = format4;
237298
237313
  }
@@ -238952,7 +238967,7 @@ ${fromBody}`;
238952
238967
  "use strict";
238953
238968
  var {
238954
238969
  builders: {
238955
- join: join30,
238970
+ join: join31,
238956
238971
  line,
238957
238972
  group: group2,
238958
238973
  softline,
@@ -238969,7 +238984,7 @@ ${fromBody}`;
238969
238984
  }
238970
238985
  if (options3.__isVueForBindingLeft) {
238971
238986
  return path53.call((functionDeclarationPath) => {
238972
- const printed = join30([",", line], functionDeclarationPath.map(print, "params"));
238987
+ const printed = join31([",", line], functionDeclarationPath.map(print, "params"));
238973
238988
  const {
238974
238989
  params
238975
238990
  } = functionDeclarationPath.getValue();
@@ -238980,7 +238995,7 @@ ${fromBody}`;
238980
238995
  }, "program", "body", 0);
238981
238996
  }
238982
238997
  if (options3.__isVueBindings) {
238983
- return path53.call((functionDeclarationPath) => join30([",", line], functionDeclarationPath.map(print, "params")), "program", "body", 0);
238998
+ return path53.call((functionDeclarationPath) => join31([",", line], functionDeclarationPath.map(print, "params")), "program", "body", 0);
238984
238999
  }
238985
239000
  }
238986
239001
  function isVueEventBindingExpression(node) {
@@ -239016,7 +239031,7 @@ ${fromBody}`;
239016
239031
  } = require_util15();
239017
239032
  var {
239018
239033
  builders: {
239019
- join: join30,
239034
+ join: join31,
239020
239035
  line,
239021
239036
  softline,
239022
239037
  group: group2,
@@ -239098,7 +239113,7 @@ ${fromBody}`;
239098
239113
  const shouldInline = shouldInlineLogicalExpression(node);
239099
239114
  const lineBeforeOperator = (node.operator === "|>" || node.type === "NGPipeExpression" || node.operator === "|" && options3.parser === "__vue_expression") && !hasLeadingOwnLineComment(options3.originalText, node.right);
239100
239115
  const operator = node.type === "NGPipeExpression" ? "|" : node.operator;
239101
- const rightSuffix = node.type === "NGPipeExpression" && node.arguments.length > 0 ? group2(indent([line, ": ", join30([line, ": "], path53.map(print, "arguments").map((arg) => align(2, group2(arg))))])) : "";
239116
+ const rightSuffix = node.type === "NGPipeExpression" && node.arguments.length > 0 ? group2(indent([line, ": ", join31([line, ": "], path53.map(print, "arguments").map((arg) => align(2, group2(arg))))])) : "";
239102
239117
  let right;
239103
239118
  if (shouldInline) {
239104
239119
  right = [operator, " ", print("right"), rightSuffix];
@@ -239148,7 +239163,7 @@ ${fromBody}`;
239148
239163
  "use strict";
239149
239164
  var {
239150
239165
  builders: {
239151
- join: join30,
239166
+ join: join31,
239152
239167
  line,
239153
239168
  group: group2
239154
239169
  }
@@ -239172,7 +239187,7 @@ ${fromBody}`;
239172
239187
  case "NGPipeExpression":
239173
239188
  return printBinaryishExpression(path53, options3, print);
239174
239189
  case "NGChainedExpression":
239175
- return group2(join30([";", line], path53.map((childPath) => hasNgSideEffect(childPath) ? print() : ["(", print(), ")"], "expressions")));
239190
+ return group2(join31([";", line], path53.map((childPath) => hasNgSideEffect(childPath) ? print() : ["(", print(), ")"], "expressions")));
239176
239191
  case "NGEmptyExpression":
239177
239192
  return "";
239178
239193
  case "NGQuotedExpression":
@@ -239236,7 +239251,7 @@ ${fromBody}`;
239236
239251
  fill,
239237
239252
  ifBreak,
239238
239253
  lineSuffixBoundary,
239239
- join: join30
239254
+ join: join31
239240
239255
  },
239241
239256
  utils: {
239242
239257
  willBreak
@@ -239574,9 +239589,9 @@ ${fromBody}`;
239574
239589
  case "JSXIdentifier":
239575
239590
  return String(node.name);
239576
239591
  case "JSXNamespacedName":
239577
- return join30(":", [print("namespace"), print("name")]);
239592
+ return join31(":", [print("namespace"), print("name")]);
239578
239593
  case "JSXMemberExpression":
239579
- return join30(".", [print("object"), print("property")]);
239594
+ return join31(".", [print("object"), print("property")]);
239580
239595
  case "JSXSpreadAttribute":
239581
239596
  return printJsxSpreadAttribute(path53, options3, print);
239582
239597
  case "JSXSpreadChild": {
@@ -239783,7 +239798,7 @@ ${fromBody}`;
239783
239798
  type: "cursor",
239784
239799
  placeholder: Symbol("cursor")
239785
239800
  };
239786
- function join30(sep, arr) {
239801
+ function join31(sep, arr) {
239787
239802
  const res = [];
239788
239803
  for (let i = 0; i < arr.length; i++) {
239789
239804
  if (i !== 0) {
@@ -239813,7 +239828,7 @@ ${fromBody}`;
239813
239828
  }
239814
239829
  module22.exports = {
239815
239830
  concat: concat2,
239816
- join: join30,
239831
+ join: join31,
239817
239832
  line,
239818
239833
  softline,
239819
239834
  hardline,
@@ -239846,7 +239861,7 @@ ${fromBody}`;
239846
239861
  var getLast = require_get_last();
239847
239862
  var {
239848
239863
  literalline,
239849
- join: join30
239864
+ join: join31
239850
239865
  } = require_doc_builders();
239851
239866
  var isConcat = (doc2) => Array.isArray(doc2) || doc2 && doc2.type === "concat";
239852
239867
  var getDocParts = (doc2) => {
@@ -240158,7 +240173,7 @@ ${fromBody}`;
240158
240173
  return mapDoc(doc2, (currentDoc) => typeof currentDoc === "string" && currentDoc.includes("\n") ? replaceTextEndOfLine(currentDoc) : currentDoc);
240159
240174
  }
240160
240175
  function replaceTextEndOfLine(text3, replacement = literalline) {
240161
- return join30(replacement, text3.split("\n")).parts;
240176
+ return join31(replacement, text3.split("\n")).parts;
240162
240177
  }
240163
240178
  function canBreakFn(doc2) {
240164
240179
  if (doc2.type === "line") {
@@ -240196,7 +240211,7 @@ ${fromBody}`;
240196
240211
  var {
240197
240212
  builders: {
240198
240213
  indent,
240199
- join: join30,
240214
+ join: join31,
240200
240215
  line
240201
240216
  }
240202
240217
  } = require_doc();
@@ -240246,7 +240261,7 @@ ${fromBody}`;
240246
240261
  if (!isNonEmptyArray(node.modifiers)) {
240247
240262
  return "";
240248
240263
  }
240249
- return [join30(" ", path53.map(print, "modifiers")), " "];
240264
+ return [join31(" ", path53.map(print, "modifiers")), " "];
240250
240265
  }
240251
240266
  function adjustClause(node, clause, forceSpace) {
240252
240267
  if (node.type === "EmptyStatement") {
@@ -240629,7 +240644,7 @@ ${fromBody}`;
240629
240644
  } = require_loc();
240630
240645
  var {
240631
240646
  builders: {
240632
- join: join30,
240647
+ join: join31,
240633
240648
  hardline,
240634
240649
  group: group2,
240635
240650
  indent,
@@ -240773,7 +240788,7 @@ ${fromBody}`;
240773
240788
  if (groups2.length === 0) {
240774
240789
  return "";
240775
240790
  }
240776
- return indent(group2([hardline, join30(hardline, groups2.map(printGroup))]));
240791
+ return indent(group2([hardline, join31(hardline, groups2.map(printGroup))]));
240777
240792
  }
240778
240793
  const printedGroups = groups.map(printGroup);
240779
240794
  const oneLine = printedGroups;
@@ -240813,7 +240828,7 @@ ${fromBody}`;
240813
240828
  "use strict";
240814
240829
  var {
240815
240830
  builders: {
240816
- join: join30,
240831
+ join: join31,
240817
240832
  group: group2
240818
240833
  }
240819
240834
  } = require_doc();
@@ -240846,7 +240861,7 @@ ${fromBody}`;
240846
240861
  iterateCallArgumentsPath(path53, () => {
240847
240862
  printed.push(print());
240848
240863
  });
240849
- return [isNew ? "new " : "", print("callee"), optional, printFunctionTypeParameters(path53, options3, print), "(", join30(", ", printed), ")"];
240864
+ return [isNew ? "new " : "", print("callee"), optional, printFunctionTypeParameters(path53, options3, print), "(", join31(", ", printed), ")"];
240850
240865
  }
240851
240866
  const isIdentifierWithFlowAnnotation = (options3.parser === "babel" || options3.parser === "babel-flow") && node.callee && node.callee.type === "Identifier" && hasFlowAnnotationComment(node.callee.trailingComments);
240852
240867
  if (isIdentifierWithFlowAnnotation) {
@@ -241328,7 +241343,7 @@ ${fromBody}`;
241328
241343
  var {
241329
241344
  builders: {
241330
241345
  group: group2,
241331
- join: join30,
241346
+ join: join31,
241332
241347
  line,
241333
241348
  softline,
241334
241349
  indent,
@@ -241429,10 +241444,10 @@ ${fromBody}`;
241429
241444
  return printComments(typePath, printedType, options3);
241430
241445
  }, "types");
241431
241446
  if (shouldHug) {
241432
- return join30(" | ", printed);
241447
+ return join31(" | ", printed);
241433
241448
  }
241434
241449
  const shouldAddStartLine = shouldIndent && !hasLeadingOwnLineComment(options3.originalText, node);
241435
- const code2 = [ifBreak([shouldAddStartLine ? line : "", "| "]), join30([line, "| "], printed)];
241450
+ const code2 = [ifBreak([shouldAddStartLine ? line : "", "| "]), join31([line, "| "], printed)];
241436
241451
  if (pathNeedsParens(path53, options3)) {
241437
241452
  return group2([indent(code2), softline]);
241438
241453
  }
@@ -241507,7 +241522,7 @@ ${fromBody}`;
241507
241522
  } = require_comments();
241508
241523
  var {
241509
241524
  builders: {
241510
- join: join30,
241525
+ join: join31,
241511
241526
  line,
241512
241527
  hardline,
241513
241528
  softline,
@@ -241549,10 +241564,10 @@ ${fromBody}`;
241549
241564
  const isArrowFunctionVariable = path53.match((node2) => !(node2[paramsKey].length === 1 && isObjectType(node2[paramsKey][0])), void 0, (node2, name) => name === "typeAnnotation", (node2) => node2.type === "Identifier", isArrowFunctionVariableDeclarator);
241550
241565
  const shouldInline = node[paramsKey].length === 0 || !isArrowFunctionVariable && (isParameterInTestCall || node[paramsKey].length === 1 && (node[paramsKey][0].type === "NullableTypeAnnotation" || shouldHugType(node[paramsKey][0])));
241551
241566
  if (shouldInline) {
241552
- return ["<", join30(", ", path53.map(print, paramsKey)), printDanglingCommentsForInline(path53, options3), ">"];
241567
+ return ["<", join31(", ", path53.map(print, paramsKey)), printDanglingCommentsForInline(path53, options3), ">"];
241553
241568
  }
241554
241569
  const trailingComma = node.type === "TSTypeParameterInstantiation" ? "" : getFunctionParameters(node).length === 1 && isTSXFile(options3) && !node[paramsKey][0].constraint && path53.getParentNode().type === "ArrowFunctionExpression" ? "," : shouldPrintComma(options3, "all") ? ifBreak(",") : "";
241555
- return group2(["<", indent([softline, join30([",", line], path53.map(print, paramsKey))]), trailingComma, softline, ">"], {
241570
+ return group2(["<", indent([softline, join31([",", line], path53.map(print, paramsKey))]), trailingComma, softline, ">"], {
241556
241571
  id: getTypeParametersGroupId(node)
241557
241572
  });
241558
241573
  }
@@ -241690,7 +241705,7 @@ ${fromBody}`;
241690
241705
  indent,
241691
241706
  ifBreak,
241692
241707
  hardline,
241693
- join: join30,
241708
+ join: join31,
241694
241709
  indentIfBreak
241695
241710
  },
241696
241711
  utils: {
@@ -241846,7 +241861,7 @@ ${fromBody}`;
241846
241861
  if (tailNode.body.type === "SequenceExpression") {
241847
241862
  bodyDoc = group2(["(", indent([softline, bodyDoc]), softline, ")"]);
241848
241863
  }
241849
- return group2([group2(indent([isCallee || isAssignmentRhs ? softline : "", group2(join30([" =>", line], signatures), {
241864
+ return group2([group2(indent([isCallee || isAssignmentRhs ? softline : "", group2(join31([" =>", line], signatures), {
241850
241865
  shouldBreak
241851
241866
  })]), {
241852
241867
  id: groupId,
@@ -241998,7 +242013,7 @@ ${fromBody}`;
241998
242013
  builders: {
241999
242014
  line,
242000
242015
  hardline,
242001
- join: join30,
242016
+ join: join31,
242002
242017
  breakParent,
242003
242018
  group: group2
242004
242019
  }
@@ -242012,10 +242027,10 @@ ${fromBody}`;
242012
242027
  } = require_utils72();
242013
242028
  function printClassMemberDecorators(path53, options3, print) {
242014
242029
  const node = path53.getValue();
242015
- return group2([join30(line, path53.map(print, "decorators")), hasNewlineBetweenOrAfterDecorators(node, options3) ? hardline : line]);
242030
+ return group2([join31(line, path53.map(print, "decorators")), hasNewlineBetweenOrAfterDecorators(node, options3) ? hardline : line]);
242016
242031
  }
242017
242032
  function printDecoratorsBeforeExport(path53, options3, print) {
242018
- return [join30(hardline, path53.map(print, "declaration", "decorators")), hardline];
242033
+ return [join31(hardline, path53.map(print, "declaration", "decorators")), hardline];
242019
242034
  }
242020
242035
  function printDecorators(path53, options3, print) {
242021
242036
  const node = path53.getValue();
@@ -242026,7 +242041,7 @@ ${fromBody}`;
242026
242041
  return;
242027
242042
  }
242028
242043
  const shouldBreak = node.type === "ClassExpression" || node.type === "ClassDeclaration" || hasNewlineBetweenOrAfterDecorators(node, options3);
242029
- return [getParentExportDeclaration(path53) ? hardline : shouldBreak ? breakParent : "", join30(line, path53.map(print, "decorators")), line];
242044
+ return [getParentExportDeclaration(path53) ? hardline : shouldBreak ? breakParent : "", join31(line, path53.map(print, "decorators")), line];
242030
242045
  }
242031
242046
  function hasNewlineBetweenOrAfterDecorators(node, options3) {
242032
242047
  return node.decorators.some((decorator) => hasNewline(options3.originalText, locEnd(decorator)));
@@ -242059,7 +242074,7 @@ ${fromBody}`;
242059
242074
  } = require_comments();
242060
242075
  var {
242061
242076
  builders: {
242062
- join: join30,
242077
+ join: join31,
242063
242078
  line,
242064
242079
  hardline,
242065
242080
  softline,
@@ -242159,7 +242174,7 @@ ${fromBody}`;
242159
242174
  }) => marker === listName);
242160
242175
  return [shouldIndentOnlyHeritageClauses(node) ? ifBreak(" ", line, {
242161
242176
  groupId: getTypeParametersGroupId(node.typeParameters)
242162
- }) : line, printedLeadingComments, printedLeadingComments && hardline, listName, group2(indent([line, join30([",", line], path53.map(print, listName))]))];
242177
+ }) : line, printedLeadingComments, printedLeadingComments && hardline, listName, group2(indent([line, join31([",", line], path53.map(print, listName))]))];
242163
242178
  }
242164
242179
  function printSuperClass(path53, options3, print) {
242165
242180
  const printed = print("superClass");
@@ -242246,7 +242261,7 @@ ${fromBody}`;
242246
242261
  } = require_util15();
242247
242262
  var {
242248
242263
  builders: {
242249
- join: join30,
242264
+ join: join31,
242250
242265
  line,
242251
242266
  group: group2,
242252
242267
  indent,
@@ -242283,7 +242298,7 @@ ${fromBody}`;
242283
242298
  if (isNonEmptyArray(node.extends)) {
242284
242299
  extendsParts.push(shouldIndentOnlyHeritageClauses ? ifBreak(" ", line, {
242285
242300
  groupId: getTypeParametersGroupId(node.typeParameters)
242286
- }) : line, "extends ", (node.extends.length === 1 ? identity4 : indent)(join30([",", line], path53.map(print, "extends"))));
242301
+ }) : line, "extends ", (node.extends.length === 1 ? identity4 : indent)(join31([",", line], path53.map(print, "extends"))));
242287
242302
  }
242288
242303
  if (node.id && hasComment(node.id, CommentCheckFlags.Trailing) || isNonEmptyArray(node.extends)) {
242289
242304
  if (shouldIndentOnlyHeritageClauses) {
@@ -242313,7 +242328,7 @@ ${fromBody}`;
242313
242328
  softline,
242314
242329
  group: group2,
242315
242330
  indent,
242316
- join: join30,
242331
+ join: join31,
242317
242332
  line,
242318
242333
  ifBreak,
242319
242334
  hardline
@@ -242454,14 +242469,14 @@ ${fromBody}`;
242454
242469
  throw new Error(`Unknown specifier type ${JSON.stringify(specifierType)}`);
242455
242470
  }
242456
242471
  }, "specifiers");
242457
- parts.push(join30(", ", standaloneSpecifiers));
242472
+ parts.push(join31(", ", standaloneSpecifiers));
242458
242473
  if (groupedSpecifiers.length > 0) {
242459
242474
  if (standaloneSpecifiers.length > 0) {
242460
242475
  parts.push(", ");
242461
242476
  }
242462
242477
  const canBreak = groupedSpecifiers.length > 1 || standaloneSpecifiers.length > 0 || node.specifiers.some((node2) => hasComment(node2));
242463
242478
  if (canBreak) {
242464
- parts.push(group2(["{", indent([options3.bracketSpacing ? line : softline, join30([",", line], groupedSpecifiers)]), ifBreak(shouldPrintComma(options3) ? "," : ""), options3.bracketSpacing ? line : softline, "}"]));
242479
+ parts.push(group2(["{", indent([options3.bracketSpacing ? line : softline, join31([",", line], groupedSpecifiers)]), ifBreak(shouldPrintComma(options3) ? "," : ""), options3.bracketSpacing ? line : softline, "}"]));
242465
242480
  } else {
242466
242481
  parts.push(["{", options3.bracketSpacing ? " " : "", ...groupedSpecifiers, options3.bracketSpacing ? " " : "", "}"]);
242467
242482
  }
@@ -242486,7 +242501,7 @@ ${fromBody}`;
242486
242501
  function printImportAssertions(path53, options3, print) {
242487
242502
  const node = path53.getNode();
242488
242503
  if (isNonEmptyArray(node.assertions)) {
242489
- return [" assert {", options3.bracketSpacing ? " " : "", join30(", ", path53.map(print, "assertions")), options3.bracketSpacing ? " " : "", "}"];
242504
+ return [" assert {", options3.bracketSpacing ? " " : "", join31(", ", path53.map(print, "assertions")), options3.bracketSpacing ? " " : "", "}"];
242490
242505
  }
242491
242506
  return "";
242492
242507
  }
@@ -243397,7 +243412,7 @@ ${fromBody}`;
243397
243412
  } = require_util15();
243398
243413
  var {
243399
243414
  builders: {
243400
- join: join30,
243415
+ join: join31,
243401
243416
  line,
243402
243417
  hardline,
243403
243418
  softline,
@@ -243505,7 +243520,7 @@ ${fromBody}`;
243505
243520
  case "TSTypeAliasDeclaration":
243506
243521
  return printTypeAlias(path53, options3, print);
243507
243522
  case "TSQualifiedName":
243508
- return join30(".", [print("left"), print("right")]);
243523
+ return join31(".", [print("left"), print("right")]);
243509
243524
  case "TSAbstractMethodDefinition":
243510
243525
  case "TSDeclareMethod":
243511
243526
  return printClassMethod(path53, options3, print);
@@ -243584,7 +243599,7 @@ ${fromBody}`;
243584
243599
  case "TSIndexSignature": {
243585
243600
  const parent = path53.getParentNode();
243586
243601
  const trailingComma = node.parameters.length > 1 ? ifBreak(shouldPrintComma(options3) ? "," : "") : "";
243587
- const parametersGroup = group2([indent([softline, join30([", ", softline], path53.map(print, "parameters"))]), trailingComma, softline]);
243602
+ const parametersGroup = group2([indent([softline, join31([", ", softline], path53.map(print, "parameters"))]), trailingComma, softline]);
243588
243603
  return [node.export ? "export " : "", node.accessibility ? [node.accessibility, " "] : "", node.static ? "static " : "", node.readonly ? "readonly " : "", node.declare ? "declare " : "", "[", node.parameters ? parametersGroup : "", node.typeAnnotation ? "]: " : "]", node.typeAnnotation ? print("typeAnnotation") : "", parent.type === "ClassBody" ? semi : ""];
243589
243604
  }
243590
243605
  case "TSTypePredicate":
@@ -243756,7 +243771,7 @@ ${fromBody}`;
243756
243771
  } = require_util15();
243757
243772
  var {
243758
243773
  builders: {
243759
- join: join30,
243774
+ join: join31,
243760
243775
  hardline
243761
243776
  },
243762
243777
  utils: {
@@ -243798,7 +243813,7 @@ ${fromBody}`;
243798
243813
  }
243799
243814
  function printIndentableBlockComment(comment2) {
243800
243815
  const lines = comment2.value.split("\n");
243801
- return ["/*", join30(hardline, lines.map((line, index) => index === 0 ? line.trimEnd() : " " + (index < lines.length - 1 ? line.trim() : line.trimStart()))), "*/"];
243816
+ return ["/*", join31(hardline, lines.map((line, index) => index === 0 ? line.trimEnd() : " " + (index < lines.length - 1 ? line.trim() : line.trimStart()))), "*/"];
243802
243817
  }
243803
243818
  module22.exports = {
243804
243819
  printComment
@@ -243891,7 +243906,7 @@ ${fromBody}`;
243891
243906
  } = require_util15();
243892
243907
  var {
243893
243908
  builders: {
243894
- join: join30,
243909
+ join: join31,
243895
243910
  line,
243896
243911
  hardline,
243897
243912
  softline,
@@ -244238,7 +244253,7 @@ ${fromBody}`;
244238
244253
  }, "expressions");
244239
244254
  return group2(parts2);
244240
244255
  }
244241
- return group2(join30([",", line], path53.map(print, "expressions")));
244256
+ return group2(join31([",", line], path53.map(print, "expressions")));
244242
244257
  }
244243
244258
  case "ThisExpression":
244244
244259
  return "this";
@@ -244361,7 +244376,7 @@ ${fromBody}`;
244361
244376
  }
244362
244377
  return ["catch ", print("body")];
244363
244378
  case "SwitchStatement":
244364
- return [group2(["switch (", indent([softline, print("discriminant")]), softline, ")"]), " {", node.cases.length > 0 ? indent([hardline, join30(hardline, path53.map((casePath, index, cases) => {
244379
+ return [group2(["switch (", indent([softline, print("discriminant")]), softline, ")"]), " {", node.cases.length > 0 ? indent([hardline, join31(hardline, path53.map((casePath, index, cases) => {
244365
244380
  const caseNode = casePath.getValue();
244366
244381
  return [print(), index !== cases.length - 1 && isNextLineEmpty(caseNode, options3) ? hardline : ""];
244367
244382
  }, "cases"))]) : "", hardline, "}"];
@@ -244462,7 +244477,7 @@ ${fromBody}`;
244462
244477
  builders: {
244463
244478
  hardline,
244464
244479
  indent,
244465
- join: join30
244480
+ join: join31
244466
244481
  }
244467
244482
  } = require_doc();
244468
244483
  var preprocess = require_print_preprocess();
@@ -244476,10 +244491,10 @@ ${fromBody}`;
244476
244491
  return "[]";
244477
244492
  }
244478
244493
  const printed = path53.map(() => path53.getValue() === null ? "null" : print(), "elements");
244479
- return ["[", indent([hardline, join30([",", hardline], printed)]), hardline, "]"];
244494
+ return ["[", indent([hardline, join31([",", hardline], printed)]), hardline, "]"];
244480
244495
  }
244481
244496
  case "ObjectExpression":
244482
- return node.properties.length === 0 ? "{}" : ["{", indent([hardline, join30([",", hardline], path53.map(print, "properties"))]), hardline, "}"];
244497
+ return node.properties.length === 0 ? "{}" : ["{", indent([hardline, join31([",", hardline], path53.map(print, "properties"))]), hardline, "}"];
244483
244498
  case "ObjectProperty":
244484
244499
  return [print("key"), ": ", print("value")];
244485
244500
  case "UnaryExpression":
@@ -245765,7 +245780,7 @@ ${fromBody}`;
245765
245780
  } = require_util15();
245766
245781
  var {
245767
245782
  builders: {
245768
- join: join30,
245783
+ join: join31,
245769
245784
  line,
245770
245785
  hardline,
245771
245786
  softline,
@@ -245908,10 +245923,10 @@ ${fromBody}`;
245908
245923
  }
245909
245924
  parts.push(print());
245910
245925
  }, "nodes");
245911
- return group2(indent(join30(line, parts)));
245926
+ return group2(indent(join31(line, parts)));
245912
245927
  }
245913
245928
  case "media-query": {
245914
- return [join30(" ", path53.map(print, "nodes")), isLastNode(path53, node) ? "" : ","];
245929
+ return [join31(" ", path53.map(print, "nodes")), isLastNode(path53, node) ? "" : ","];
245915
245930
  }
245916
245931
  case "media-type": {
245917
245932
  return adjustNumbers(adjustStrings(node.value, options3));
@@ -245941,7 +245956,7 @@ ${fromBody}`;
245941
245956
  return node.value;
245942
245957
  }
245943
245958
  case "selector-root": {
245944
- return group2([insideAtRuleNode(path53, "custom-selector") ? [getAncestorNode(path53, "css-atrule").customSelector, line] : "", join30([",", insideAtRuleNode(path53, ["extend", "custom-selector", "nest"]) ? line : hardline], path53.map(print, "nodes"))]);
245959
+ return group2([insideAtRuleNode(path53, "custom-selector") ? [getAncestorNode(path53, "css-atrule").customSelector, line] : "", join31([",", insideAtRuleNode(path53, ["extend", "custom-selector", "nest"]) ? line : hardline], path53.map(print, "nodes"))]);
245945
245960
  }
245946
245961
  case "selector-selector": {
245947
245962
  return group2(indent(path53.map(print, "nodes")));
@@ -245982,7 +245997,7 @@ ${fromBody}`;
245982
245997
  return [node.namespace ? [node.namespace === true ? "" : node.namespace.trim(), "|"] : "", node.value];
245983
245998
  }
245984
245999
  case "selector-pseudo": {
245985
- return [maybeToLowerCase(node.value), isNonEmptyArray(node.nodes) ? group2(["(", indent([softline, join30([",", line], path53.map(print, "nodes"))]), softline, ")"]) : ""];
246000
+ return [maybeToLowerCase(node.value), isNonEmptyArray(node.nodes) ? group2(["(", indent([softline, join31([",", line], path53.map(print, "nodes"))]), softline, ")"]) : ""];
245986
246001
  }
245987
246002
  case "selector-nesting": {
245988
246003
  return node.value;
@@ -246178,7 +246193,7 @@ ${fromBody}`;
246178
246193
  case "value-paren_group": {
246179
246194
  const parentNode = path53.getParentNode();
246180
246195
  if (parentNode && isURLFunctionNode(parentNode) && (node.groups.length === 1 || node.groups.length > 0 && node.groups[0].type === "value-comma_group" && node.groups[0].groups.length > 0 && node.groups[0].groups[0].type === "value-word" && node.groups[0].groups[0].value.startsWith("data:"))) {
246181
- return [node.open ? print("open") : "", join30(",", path53.map(print, "groups")), node.close ? print("close") : ""];
246196
+ return [node.open ? print("open") : "", join31(",", path53.map(print, "groups")), node.close ? print("close") : ""];
246182
246197
  }
246183
246198
  if (!node.open) {
246184
246199
  const printed2 = path53.map(print, "groups");
@@ -246198,7 +246213,7 @@ ${fromBody}`;
246198
246213
  const isConfiguration = isConfigurationNode(node, parentNode);
246199
246214
  const shouldBreak = isConfiguration || isSCSSMapItem && !isKey;
246200
246215
  const shouldDedent = isConfiguration || isKey;
246201
- const printed = group2([node.open ? print("open") : "", indent([softline, join30([line], path53.map((childPath, index) => {
246216
+ const printed = group2([node.open ? print("open") : "", indent([softline, join31([line], path53.map((childPath, index) => {
246202
246217
  const child = childPath.getValue();
246203
246218
  const isLast = index === node.groups.length - 1;
246204
246219
  let printed2 = [print(), isLast ? "" : ","];
@@ -246570,7 +246585,7 @@ ${fromBody}`;
246570
246585
  hardline,
246571
246586
  ifBreak,
246572
246587
  indent,
246573
- join: join30,
246588
+ join: join31,
246574
246589
  line,
246575
246590
  softline
246576
246591
  },
@@ -246662,7 +246677,7 @@ ${fromBody}`;
246662
246677
  return path53.map(print2, "parts");
246663
246678
  }
246664
246679
  case "Hash": {
246665
- return join30(line, path53.map(print2, "pairs"));
246680
+ return join31(line, path53.map(print2, "pairs"));
246666
246681
  }
246667
246682
  case "HashPair": {
246668
246683
  return [node.key, "=", print2("value")];
@@ -246898,7 +246913,7 @@ ${fromBody}`;
246898
246913
  if (isNonEmptyArray(node.program.blockParams)) {
246899
246914
  parts.push(printBlockParams(node.program));
246900
246915
  }
246901
- return group2([printOpeningBlockOpeningMustache(node), printPath(path53, print2), parts.length > 0 ? indent([line, join30(line, parts)]) : "", softline, printOpeningBlockClosingMustache(node)]);
246916
+ return group2([printOpeningBlockOpeningMustache(node), printPath(path53, print2), parts.length > 0 ? indent([line, join31(line, parts)]) : "", softline, printOpeningBlockClosingMustache(node)]);
246902
246917
  }
246903
246918
  function printElseBlock(node, options3) {
246904
246919
  return [options3.htmlWhitespaceSensitivity === "ignore" ? hardline : "", printInverseBlockOpeningMustache(node), "else", printInverseBlockClosingMustache(node)];
@@ -246949,7 +246964,7 @@ ${fromBody}`;
246949
246964
  return "";
246950
246965
  }
246951
246966
  function getTextValueParts(value) {
246952
- return getDocParts(join30(line, splitByHtmlWhitespace(value)));
246967
+ return getDocParts(join31(line, splitByHtmlWhitespace(value)));
246953
246968
  }
246954
246969
  function splitByHtmlWhitespace(string) {
246955
246970
  return string.split(/[\t\n\f\r ]+/);
@@ -247033,7 +247048,7 @@ ${fromBody}`;
247033
247048
  if (parts.length === 0) {
247034
247049
  return "";
247035
247050
  }
247036
- return join30(line, parts);
247051
+ return join31(line, parts);
247037
247052
  }
247038
247053
  function printBlockParams(node) {
247039
247054
  return ["as |", node.blockParams.join(" "), "|"];
@@ -247130,7 +247145,7 @@ ${fromBody}`;
247130
247145
  "use strict";
247131
247146
  var {
247132
247147
  builders: {
247133
- join: join30,
247148
+ join: join31,
247134
247149
  hardline,
247135
247150
  line,
247136
247151
  softline,
@@ -247175,16 +247190,16 @@ ${fromBody}`;
247175
247190
  case "OperationDefinition": {
247176
247191
  const hasOperation = options3.originalText[locStart(node)] !== "{";
247177
247192
  const hasName2 = Boolean(node.name);
247178
- return [hasOperation ? node.operation : "", hasOperation && hasName2 ? [" ", print("name")] : "", hasOperation && !hasName2 && isNonEmptyArray(node.variableDefinitions) ? " " : "", isNonEmptyArray(node.variableDefinitions) ? group2(["(", indent([softline, join30([ifBreak("", ", "), softline], path53.map(print, "variableDefinitions"))]), softline, ")"]) : "", printDirectives(path53, print, node), node.selectionSet ? !hasOperation && !hasName2 ? "" : " " : "", print("selectionSet")];
247193
+ return [hasOperation ? node.operation : "", hasOperation && hasName2 ? [" ", print("name")] : "", hasOperation && !hasName2 && isNonEmptyArray(node.variableDefinitions) ? " " : "", isNonEmptyArray(node.variableDefinitions) ? group2(["(", indent([softline, join31([ifBreak("", ", "), softline], path53.map(print, "variableDefinitions"))]), softline, ")"]) : "", printDirectives(path53, print, node), node.selectionSet ? !hasOperation && !hasName2 ? "" : " " : "", print("selectionSet")];
247179
247194
  }
247180
247195
  case "FragmentDefinition": {
247181
- return ["fragment ", print("name"), isNonEmptyArray(node.variableDefinitions) ? group2(["(", indent([softline, join30([ifBreak("", ", "), softline], path53.map(print, "variableDefinitions"))]), softline, ")"]) : "", " on ", print("typeCondition"), printDirectives(path53, print, node), " ", print("selectionSet")];
247196
+ return ["fragment ", print("name"), isNonEmptyArray(node.variableDefinitions) ? group2(["(", indent([softline, join31([ifBreak("", ", "), softline], path53.map(print, "variableDefinitions"))]), softline, ")"]) : "", " on ", print("typeCondition"), printDirectives(path53, print, node), " ", print("selectionSet")];
247182
247197
  }
247183
247198
  case "SelectionSet": {
247184
- return ["{", indent([hardline, join30(hardline, printSequence(path53, options3, print, "selections"))]), hardline, "}"];
247199
+ return ["{", indent([hardline, join31(hardline, printSequence(path53, options3, print, "selections"))]), hardline, "}"];
247185
247200
  }
247186
247201
  case "Field": {
247187
- return group2([node.alias ? [print("alias"), ": "] : "", print("name"), node.arguments.length > 0 ? group2(["(", indent([softline, join30([ifBreak("", ", "), softline], printSequence(path53, options3, print, "arguments"))]), softline, ")"]) : "", printDirectives(path53, print, node), node.selectionSet ? " " : "", print("selectionSet")]);
247202
+ return group2([node.alias ? [print("alias"), ": "] : "", print("name"), node.arguments.length > 0 ? group2(["(", indent([softline, join31([ifBreak("", ", "), softline], printSequence(path53, options3, print, "arguments"))]), softline, ")"]) : "", printDirectives(path53, print, node), node.selectionSet ? " " : "", print("selectionSet")]);
247188
247203
  }
247189
247204
  case "Name": {
247190
247205
  return node.value;
@@ -247198,7 +247213,7 @@ ${fromBody}`;
247198
247213
  if (lines.every((line2) => line2 === "")) {
247199
247214
  lines.length = 0;
247200
247215
  }
247201
- return join30(hardline, ['"""', ...lines, '"""']);
247216
+ return join31(hardline, ['"""', ...lines, '"""']);
247202
247217
  }
247203
247218
  return ['"', node.value.replace(/["\\]/g, "\\$&").replace(/\n/g, "\\n"), '"'];
247204
247219
  }
@@ -247217,17 +247232,17 @@ ${fromBody}`;
247217
247232
  return ["$", print("name")];
247218
247233
  }
247219
247234
  case "ListValue": {
247220
- return group2(["[", indent([softline, join30([ifBreak("", ", "), softline], path53.map(print, "values"))]), softline, "]"]);
247235
+ return group2(["[", indent([softline, join31([ifBreak("", ", "), softline], path53.map(print, "values"))]), softline, "]"]);
247221
247236
  }
247222
247237
  case "ObjectValue": {
247223
- return group2(["{", options3.bracketSpacing && node.fields.length > 0 ? " " : "", indent([softline, join30([ifBreak("", ", "), softline], path53.map(print, "fields"))]), softline, ifBreak("", options3.bracketSpacing && node.fields.length > 0 ? " " : ""), "}"]);
247238
+ return group2(["{", options3.bracketSpacing && node.fields.length > 0 ? " " : "", indent([softline, join31([ifBreak("", ", "), softline], path53.map(print, "fields"))]), softline, ifBreak("", options3.bracketSpacing && node.fields.length > 0 ? " " : ""), "}"]);
247224
247239
  }
247225
247240
  case "ObjectField":
247226
247241
  case "Argument": {
247227
247242
  return [print("name"), ": ", print("value")];
247228
247243
  }
247229
247244
  case "Directive": {
247230
- return ["@", print("name"), node.arguments.length > 0 ? group2(["(", indent([softline, join30([ifBreak("", ", "), softline], printSequence(path53, options3, print, "arguments"))]), softline, ")"]) : ""];
247245
+ return ["@", print("name"), node.arguments.length > 0 ? group2(["(", indent([softline, join31([ifBreak("", ", "), softline], printSequence(path53, options3, print, "arguments"))]), softline, ")"]) : ""];
247231
247246
  }
247232
247247
  case "NamedType": {
247233
247248
  return print("name");
@@ -247237,17 +247252,17 @@ ${fromBody}`;
247237
247252
  }
247238
247253
  case "ObjectTypeExtension":
247239
247254
  case "ObjectTypeDefinition": {
247240
- return [print("description"), node.description ? hardline : "", node.kind === "ObjectTypeExtension" ? "extend " : "", "type ", print("name"), node.interfaces.length > 0 ? [" implements ", ...printInterfaces(path53, options3, print)] : "", printDirectives(path53, print, node), node.fields.length > 0 ? [" {", indent([hardline, join30(hardline, printSequence(path53, options3, print, "fields"))]), hardline, "}"] : ""];
247255
+ return [print("description"), node.description ? hardline : "", node.kind === "ObjectTypeExtension" ? "extend " : "", "type ", print("name"), node.interfaces.length > 0 ? [" implements ", ...printInterfaces(path53, options3, print)] : "", printDirectives(path53, print, node), node.fields.length > 0 ? [" {", indent([hardline, join31(hardline, printSequence(path53, options3, print, "fields"))]), hardline, "}"] : ""];
247241
247256
  }
247242
247257
  case "FieldDefinition": {
247243
- return [print("description"), node.description ? hardline : "", print("name"), node.arguments.length > 0 ? group2(["(", indent([softline, join30([ifBreak("", ", "), softline], printSequence(path53, options3, print, "arguments"))]), softline, ")"]) : "", ": ", print("type"), printDirectives(path53, print, node)];
247258
+ return [print("description"), node.description ? hardline : "", print("name"), node.arguments.length > 0 ? group2(["(", indent([softline, join31([ifBreak("", ", "), softline], printSequence(path53, options3, print, "arguments"))]), softline, ")"]) : "", ": ", print("type"), printDirectives(path53, print, node)];
247244
247259
  }
247245
247260
  case "DirectiveDefinition": {
247246
- return [print("description"), node.description ? hardline : "", "directive ", "@", print("name"), node.arguments.length > 0 ? group2(["(", indent([softline, join30([ifBreak("", ", "), softline], printSequence(path53, options3, print, "arguments"))]), softline, ")"]) : "", node.repeatable ? " repeatable" : "", " on ", join30(" | ", path53.map(print, "locations"))];
247261
+ return [print("description"), node.description ? hardline : "", "directive ", "@", print("name"), node.arguments.length > 0 ? group2(["(", indent([softline, join31([ifBreak("", ", "), softline], printSequence(path53, options3, print, "arguments"))]), softline, ")"]) : "", node.repeatable ? " repeatable" : "", " on ", join31(" | ", path53.map(print, "locations"))];
247247
247262
  }
247248
247263
  case "EnumTypeExtension":
247249
247264
  case "EnumTypeDefinition": {
247250
- return [print("description"), node.description ? hardline : "", node.kind === "EnumTypeExtension" ? "extend " : "", "enum ", print("name"), printDirectives(path53, print, node), node.values.length > 0 ? [" {", indent([hardline, join30(hardline, printSequence(path53, options3, print, "values"))]), hardline, "}"] : ""];
247265
+ return [print("description"), node.description ? hardline : "", node.kind === "EnumTypeExtension" ? "extend " : "", "enum ", print("name"), printDirectives(path53, print, node), node.values.length > 0 ? [" {", indent([hardline, join31(hardline, printSequence(path53, options3, print, "values"))]), hardline, "}"] : ""];
247251
247266
  }
247252
247267
  case "EnumValueDefinition": {
247253
247268
  return [print("description"), node.description ? hardline : "", print("name"), printDirectives(path53, print, node)];
@@ -247257,20 +247272,20 @@ ${fromBody}`;
247257
247272
  }
247258
247273
  case "InputObjectTypeExtension":
247259
247274
  case "InputObjectTypeDefinition": {
247260
- return [print("description"), node.description ? hardline : "", node.kind === "InputObjectTypeExtension" ? "extend " : "", "input ", print("name"), printDirectives(path53, print, node), node.fields.length > 0 ? [" {", indent([hardline, join30(hardline, printSequence(path53, options3, print, "fields"))]), hardline, "}"] : ""];
247275
+ return [print("description"), node.description ? hardline : "", node.kind === "InputObjectTypeExtension" ? "extend " : "", "input ", print("name"), printDirectives(path53, print, node), node.fields.length > 0 ? [" {", indent([hardline, join31(hardline, printSequence(path53, options3, print, "fields"))]), hardline, "}"] : ""];
247261
247276
  }
247262
247277
  case "SchemaExtension": {
247263
- return ["extend schema", printDirectives(path53, print, node), ...node.operationTypes.length > 0 ? [" {", indent([hardline, join30(hardline, printSequence(path53, options3, print, "operationTypes"))]), hardline, "}"] : []];
247278
+ return ["extend schema", printDirectives(path53, print, node), ...node.operationTypes.length > 0 ? [" {", indent([hardline, join31(hardline, printSequence(path53, options3, print, "operationTypes"))]), hardline, "}"] : []];
247264
247279
  }
247265
247280
  case "SchemaDefinition": {
247266
- return [print("description"), node.description ? hardline : "", "schema", printDirectives(path53, print, node), " {", node.operationTypes.length > 0 ? indent([hardline, join30(hardline, printSequence(path53, options3, print, "operationTypes"))]) : "", hardline, "}"];
247281
+ return [print("description"), node.description ? hardline : "", "schema", printDirectives(path53, print, node), " {", node.operationTypes.length > 0 ? indent([hardline, join31(hardline, printSequence(path53, options3, print, "operationTypes"))]) : "", hardline, "}"];
247267
247282
  }
247268
247283
  case "OperationTypeDefinition": {
247269
247284
  return [print("operation"), ": ", print("type")];
247270
247285
  }
247271
247286
  case "InterfaceTypeExtension":
247272
247287
  case "InterfaceTypeDefinition": {
247273
- return [print("description"), node.description ? hardline : "", node.kind === "InterfaceTypeExtension" ? "extend " : "", "interface ", print("name"), node.interfaces.length > 0 ? [" implements ", ...printInterfaces(path53, options3, print)] : "", printDirectives(path53, print, node), node.fields.length > 0 ? [" {", indent([hardline, join30(hardline, printSequence(path53, options3, print, "fields"))]), hardline, "}"] : ""];
247288
+ return [print("description"), node.description ? hardline : "", node.kind === "InterfaceTypeExtension" ? "extend " : "", "interface ", print("name"), node.interfaces.length > 0 ? [" implements ", ...printInterfaces(path53, options3, print)] : "", printDirectives(path53, print, node), node.fields.length > 0 ? [" {", indent([hardline, join31(hardline, printSequence(path53, options3, print, "fields"))]), hardline, "}"] : ""];
247274
247289
  }
247275
247290
  case "FragmentSpread": {
247276
247291
  return ["...", print("name"), printDirectives(path53, print, node)];
@@ -247280,7 +247295,7 @@ ${fromBody}`;
247280
247295
  }
247281
247296
  case "UnionTypeExtension":
247282
247297
  case "UnionTypeDefinition": {
247283
- return group2([print("description"), node.description ? hardline : "", group2([node.kind === "UnionTypeExtension" ? "extend " : "", "union ", print("name"), printDirectives(path53, print, node), node.types.length > 0 ? [" =", ifBreak("", " "), indent([ifBreak([line, " "]), join30([line, "| "], path53.map(print, "types"))])] : ""])]);
247298
+ return group2([print("description"), node.description ? hardline : "", group2([node.kind === "UnionTypeExtension" ? "extend " : "", "union ", print("name"), printDirectives(path53, print, node), node.types.length > 0 ? [" =", ifBreak("", " "), indent([ifBreak([line, " "]), join31([line, "| "], path53.map(print, "types"))])] : ""])]);
247284
247299
  }
247285
247300
  case "ScalarTypeExtension":
247286
247301
  case "ScalarTypeDefinition": {
@@ -247300,7 +247315,7 @@ ${fromBody}`;
247300
247315
  if (node.directives.length === 0) {
247301
247316
  return "";
247302
247317
  }
247303
- const printed = join30(line, path53.map(print, "directives"));
247318
+ const printed = join31(line, path53.map(print, "directives"));
247304
247319
  if (node.kind === "FragmentDefinition" || node.kind === "OperationDefinition") {
247305
247320
  return group2([line, printed]);
247306
247321
  }
@@ -247936,7 +247951,7 @@ ${extracted.content}`;
247936
247951
  var {
247937
247952
  builders: {
247938
247953
  breakParent,
247939
- join: join30,
247954
+ join: join31,
247940
247955
  line,
247941
247956
  literalline,
247942
247957
  markAsRoot,
@@ -248237,9 +248252,9 @@ ${extracted.content}`;
248237
248252
  function printTableContents(isCompact) {
248238
248253
  const parts = [printRow(contents[0], isCompact), printAlign(isCompact)];
248239
248254
  if (contents.length > 1) {
248240
- parts.push(join30(hardlineWithoutBreakParent, contents.slice(1).map((rowContents) => printRow(rowContents, isCompact))));
248255
+ parts.push(join31(hardlineWithoutBreakParent, contents.slice(1).map((rowContents) => printRow(rowContents, isCompact))));
248241
248256
  }
248242
- return join30(hardlineWithoutBreakParent, parts);
248257
+ return join31(hardlineWithoutBreakParent, parts);
248243
248258
  }
248244
248259
  function printAlign(isCompact) {
248245
248260
  const align2 = columnMaxWidths.map((width, index) => {
@@ -248690,7 +248705,7 @@ ${extracted.content}`;
248690
248705
  builders: {
248691
248706
  line,
248692
248707
  hardline,
248693
- join: join30
248708
+ join: join31
248694
248709
  },
248695
248710
  utils: {
248696
248711
  getDocParts,
@@ -249044,7 +249059,7 @@ ${extracted.content}`;
249044
249059
  return tagName === "script" && attributeName === "setup" || tagName === "style" && attributeName === "vars";
249045
249060
  }
249046
249061
  function getTextValueParts(node, value = node.value) {
249047
- return node.parent.isWhitespaceSensitive ? node.parent.isIndentationSensitive ? replaceTextEndOfLine(value) : replaceTextEndOfLine(dedentString(htmlTrimPreserveIndentation(value)), hardline) : getDocParts(join30(line, splitByHtmlWhitespace(value)));
249062
+ return node.parent.isWhitespaceSensitive ? node.parent.isIndentationSensitive ? replaceTextEndOfLine(value) : replaceTextEndOfLine(dedentString(htmlTrimPreserveIndentation(value)), hardline) : getDocParts(join31(line, splitByHtmlWhitespace(value)));
249048
249063
  }
249049
249064
  function isVueScriptTag(node, options3) {
249050
249065
  return isVueSfcBlock(node, options3) && node.name === "script";
@@ -250339,7 +250354,7 @@ ${extracted.content}`;
250339
250354
  var {
250340
250355
  builders: {
250341
250356
  indent,
250342
- join: join30,
250357
+ join: join31,
250343
250358
  line,
250344
250359
  softline,
250345
250360
  hardline
@@ -250453,7 +250468,7 @@ ${extracted.content}`;
250453
250468
  const forceNotToBreakAttrContent = node.type === "element" && node.fullName === "script" && node.attrs.length === 1 && node.attrs[0].fullName === "src" && node.children.length === 0;
250454
250469
  const shouldPrintAttributePerLine = options3.singleAttributePerLine && node.attrs.length > 1 && !isVueSfcBlock(node, options3);
250455
250470
  const attributeLine = shouldPrintAttributePerLine ? hardline : line;
250456
- const parts = [indent([forceNotToBreakAttrContent ? " " : line, join30(attributeLine, printedAttributes)])];
250471
+ const parts = [indent([forceNotToBreakAttrContent ? " " : line, join31(attributeLine, printedAttributes)])];
250457
250472
  if (node.firstChild && needsToBorrowParentOpeningTagEndMarker(node.firstChild) || node.isSelfClosing && needsToBorrowLastChildClosingTagEndMarker(node.parent) || forceNotToBreakAttrContent) {
250458
250473
  parts.push(node.isSelfClosing ? " " : "");
250459
250474
  } else {
@@ -250687,7 +250702,7 @@ ${extracted.content}`;
250687
250702
  var {
250688
250703
  builders: {
250689
250704
  ifBreak,
250690
- join: join30,
250705
+ join: join31,
250691
250706
  line
250692
250707
  }
250693
250708
  } = require_doc();
@@ -250722,7 +250737,7 @@ ${extracted.content}`;
250722
250737
  return index === -1 ? descriptor.length : index;
250723
250738
  });
250724
250739
  const maxDescriptorLeftLength = getMax(descriptorLeftLengths);
250725
- return join30([",", line], urls.map((url, index) => {
250740
+ return join31([",", line], urls.map((url, index) => {
250726
250741
  const parts = [url];
250727
250742
  const descriptor = descriptors[index];
250728
250743
  if (descriptor) {
@@ -251896,7 +251911,7 @@ ${text3}`;
251896
251911
  line,
251897
251912
  softline,
251898
251913
  hardline,
251899
- join: join30
251914
+ join: join31
251900
251915
  }
251901
251916
  } = require_doc();
251902
251917
  var {
@@ -251919,7 +251934,7 @@ ${text3}`;
251919
251934
  }
251920
251935
  const lastItem = getLast(node.children);
251921
251936
  const isLastItemEmptyMappingItem = lastItem && lastItem.type === "flowMappingItem" && isEmptyNode(lastItem.key) && isEmptyNode(lastItem.value);
251922
- return [openMarker, alignWithSpaces(options3.tabWidth, [bracketSpacing, printChildren(path53, print, options3), options3.trailingComma === "none" ? "" : ifBreak(","), hasEndComments(node) ? [hardline, join30(hardline, path53.map(print, "endComments"))] : ""]), isLastItemEmptyMappingItem ? "" : bracketSpacing, closeMarker];
251937
+ return [openMarker, alignWithSpaces(options3.tabWidth, [bracketSpacing, printChildren(path53, print, options3), options3.trailingComma === "none" ? "" : ifBreak(","), hasEndComments(node) ? [hardline, join31(hardline, path53.map(print, "endComments"))] : ""]), isLastItemEmptyMappingItem ? "" : bracketSpacing, closeMarker];
251923
251938
  }
251924
251939
  function printChildren(path53, print, options3) {
251925
251940
  const node = path53.getValue();
@@ -251941,7 +251956,7 @@ ${text3}`;
251941
251956
  group: group2,
251942
251957
  hardline,
251943
251958
  ifBreak,
251944
- join: join30,
251959
+ join: join31,
251945
251960
  line
251946
251961
  }
251947
251962
  } = require_doc();
@@ -251983,7 +251998,7 @@ ${text3}`;
251983
251998
  return [": ", alignWithSpaces(2, printedValue)];
251984
251999
  }
251985
252000
  if (hasLeadingComments(value) || !isInlineNode(key.content)) {
251986
- return ["? ", alignWithSpaces(2, printedKey), hardline, join30("", path53.map(print, "value", "leadingComments").map((comment2) => [comment2, hardline])), ": ", alignWithSpaces(2, printedValue)];
252001
+ return ["? ", alignWithSpaces(2, printedKey), hardline, join31("", path53.map(print, "value", "leadingComments").map((comment2) => [comment2, hardline])), ": ", alignWithSpaces(2, printedValue)];
251987
252002
  }
251988
252003
  if (isSingleLineNode(key.content) && !hasLeadingComments(key.content) && !hasMiddleComments(key.content) && !hasTrailingComment(key.content) && !hasEndComments(key) && !hasLeadingComments(value.content) && !hasMiddleComments(value.content) && !hasEndComments(value) && isAbsolutelyPrintedAsSingleLineNode(value.content, options3)) {
251989
252004
  return [printedKey, spaceBeforeColon, ": ", printedValue];
@@ -252067,7 +252082,7 @@ ${text3}`;
252067
252082
  dedentToRoot,
252068
252083
  fill,
252069
252084
  hardline,
252070
- join: join30,
252085
+ join: join31,
252071
252086
  line,
252072
252087
  literalline,
252073
252088
  markAsRoot
@@ -252110,7 +252125,7 @@ ${text3}`;
252110
252125
  if (index === 0) {
252111
252126
  contentsParts.push(hardline);
252112
252127
  }
252113
- contentsParts.push(fill(getDocParts(join30(line, lineWords))));
252128
+ contentsParts.push(fill(getDocParts(join31(line, lineWords))));
252114
252129
  if (index !== lineContents.length - 1) {
252115
252130
  contentsParts.push(lineWords.length === 0 ? hardline : markAsRoot(literalline));
252116
252131
  } else if (node.chomping === "keep" && isLastDescendant) {
@@ -252136,7 +252151,7 @@ ${text3}`;
252136
252151
  fill,
252137
252152
  group: group2,
252138
252153
  hardline,
252139
- join: join30,
252154
+ join: join31,
252140
252155
  line,
252141
252156
  lineSuffix,
252142
252157
  literalline
@@ -252185,7 +252200,7 @@ ${text3}`;
252185
252200
  const node = path53.getValue();
252186
252201
  const parts = [];
252187
252202
  if (node.type !== "mappingValue" && hasLeadingComments(node)) {
252188
- parts.push([join30(hardline, path53.map(print, "leadingComments")), hardline]);
252203
+ parts.push([join31(hardline, path53.map(print, "leadingComments")), hardline]);
252189
252204
  }
252190
252205
  const {
252191
252206
  tag: tag2,
@@ -252212,7 +252227,7 @@ ${text3}`;
252212
252227
  }
252213
252228
  }
252214
252229
  if (hasMiddleComments(node)) {
252215
- parts.push([node.middleComments.length === 1 ? "" : hardline, join30(hardline, path53.map(print, "middleComments")), hardline]);
252230
+ parts.push([node.middleComments.length === 1 ? "" : hardline, join31(hardline, path53.map(print, "middleComments")), hardline]);
252216
252231
  }
252217
252232
  const parentNode = path53.getParentNode();
252218
252233
  if (hasPrettierIgnore(path53)) {
@@ -252224,7 +252239,7 @@ ${text3}`;
252224
252239
  parts.push(lineSuffix([node.type === "mappingValue" && !node.content ? "" : " ", parentNode.type === "mappingKey" && path53.getParentNode(2).type === "mapping" && isInlineNode(node) ? "" : breakParent, print("trailingComment")]));
252225
252240
  }
252226
252241
  if (shouldPrintEndComments(node)) {
252227
- parts.push(alignWithSpaces(node.type === "sequenceItem" ? 2 : 0, [hardline, join30(hardline, path53.map((path210) => [isPreviousLineEmpty(options3.originalText, path210.getValue(), locStart) ? hardline : "", print()], "endComments"))]));
252242
+ parts.push(alignWithSpaces(node.type === "sequenceItem" ? 2 : 0, [hardline, join31(hardline, path53.map((path210) => [isPreviousLineEmpty(options3.originalText, path210.getValue(), locStart) ? hardline : "", print()], "endComments"))]));
252228
252243
  }
252229
252244
  parts.push(nextEmptyLine);
252230
252245
  return parts;
@@ -252274,10 +252289,10 @@ ${text3}`;
252274
252289
  if (shouldPrintDocumentBody(node)) {
252275
252290
  parts.push(print("body"));
252276
252291
  }
252277
- return join30(hardline, parts);
252292
+ return join31(hardline, parts);
252278
252293
  }
252279
252294
  case "documentHead":
252280
- return join30(hardline, [...path53.map(print, "children"), ...path53.map(print, "endComments")]);
252295
+ return join31(hardline, [...path53.map(print, "children"), ...path53.map(print, "endComments")]);
252281
252296
  case "documentBody": {
252282
252297
  const {
252283
252298
  children,
@@ -252294,10 +252309,10 @@ ${text3}`;
252294
252309
  separator = hardline;
252295
252310
  }
252296
252311
  }
252297
- return [join30(hardline, path53.map(print, "children")), separator, join30(hardline, path53.map(print, "endComments"))];
252312
+ return [join31(hardline, path53.map(print, "children")), separator, join31(hardline, path53.map(print, "endComments"))];
252298
252313
  }
252299
252314
  case "directive":
252300
- return ["%", join30(" ", [node.name, ...node.parameters])];
252315
+ return ["%", join31(" ", [node.name, ...node.parameters])];
252301
252316
  case "comment":
252302
252317
  return ["#", node.value];
252303
252318
  case "alias":
@@ -252332,7 +252347,7 @@ ${text3}`;
252332
252347
  }
252333
252348
  case "mapping":
252334
252349
  case "sequence":
252335
- return join30(hardline, path53.map(print, "children"));
252350
+ return join31(hardline, path53.map(print, "children"));
252336
252351
  case "sequenceItem":
252337
252352
  return ["- ", alignWithSpaces(2, node.content ? print("content") : "")];
252338
252353
  case "mappingKey":
@@ -252369,7 +252384,7 @@ ${text3}`;
252369
252384
  }
252370
252385
  function printFlowScalarContent(nodeType, content, options3) {
252371
252386
  const lineContents = getFlowScalarLineContents(nodeType, content, options3);
252372
- return join30(hardline, lineContents.map((lineContentWords) => fill(getDocParts(join30(line, lineContentWords)))));
252387
+ return join31(hardline, lineContents.map((lineContentWords) => fill(getDocParts(join31(line, lineContentWords)))));
252373
252388
  }
252374
252389
  function clean(node, newNode) {
252375
252390
  if (isNode5(newNode)) {
@@ -259773,15 +259788,15 @@ var require_generators = __commonJS({
259773
259788
  var stack = new Error().stack;
259774
259789
  return function() {
259775
259790
  var generator = generatorFunction.apply(this, arguments);
259776
- var spawn10 = new PromiseSpawn$(
259791
+ var spawn11 = new PromiseSpawn$(
259777
259792
  void 0,
259778
259793
  void 0,
259779
259794
  yieldHandler,
259780
259795
  stack
259781
259796
  );
259782
- var ret2 = spawn10.promise();
259783
- spawn10._generator = generator;
259784
- spawn10._promiseFulfilled(void 0);
259797
+ var ret2 = spawn11.promise();
259798
+ spawn11._generator = generator;
259799
+ spawn11._promiseFulfilled(void 0);
259785
259800
  return ret2;
259786
259801
  };
259787
259802
  };
@@ -259796,9 +259811,9 @@ var require_generators = __commonJS({
259796
259811
  if (typeof generatorFunction !== "function") {
259797
259812
  return apiRejection("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n");
259798
259813
  }
259799
- var spawn10 = new PromiseSpawn(generatorFunction, this);
259800
- var ret2 = spawn10.promise();
259801
- spawn10._run(Promise2.spawn);
259814
+ var spawn11 = new PromiseSpawn(generatorFunction, this);
259815
+ var ret2 = spawn11.promise();
259816
+ spawn11._run(Promise2.spawn);
259802
259817
  return ret2;
259803
259818
  };
259804
259819
  };
@@ -262092,7 +262107,7 @@ var require_BufferList = __commonJS({
262092
262107
  this.head = this.tail = null;
262093
262108
  this.length = 0;
262094
262109
  };
262095
- BufferList.prototype.join = function join30(s) {
262110
+ BufferList.prototype.join = function join31(s) {
262096
262111
  if (this.length === 0) return "";
262097
262112
  var p = this.head;
262098
262113
  var ret2 = "" + p.data;
@@ -269879,7 +269894,7 @@ var require_ZipFileWorker = __commonJS({
269879
269894
  var generateDosExternalFileAttr = function(dosPermissions) {
269880
269895
  return (dosPermissions || 0) & 63;
269881
269896
  };
269882
- var generateZipParts = function(streamInfo, streamedContent, streamingEnded, offset, platform5, encodeFileName) {
269897
+ var generateZipParts = function(streamInfo, streamedContent, streamingEnded, offset, platform6, encodeFileName) {
269883
269898
  var file = streamInfo["file"], compression = streamInfo["compression"], useCustomEncoding = encodeFileName !== utf8.utf8encode, encodedFileName = utils3.transformTo("string", encodeFileName(file.name)), utfEncodedFileName = utils3.transformTo("string", utf8.utf8encode(file.name)), comment2 = file.comment, encodedComment = utils3.transformTo("string", encodeFileName(comment2)), utfEncodedComment = utils3.transformTo("string", utf8.utf8encode(comment2)), useUTF8ForFileName = utfEncodedFileName.length !== file.name.length, useUTF8ForComment = utfEncodedComment.length !== comment2.length, dosTime, dosDate, extraFields = "", unicodePathExtraField = "", unicodeCommentExtraField = "", dir = file.dir, date = file.date;
269884
269899
  var dataInfo = {
269885
269900
  crc32: 0,
@@ -269903,7 +269918,7 @@ var require_ZipFileWorker = __commonJS({
269903
269918
  if (dir) {
269904
269919
  extFileAttr |= 16;
269905
269920
  }
269906
- if (platform5 === "UNIX") {
269921
+ if (platform6 === "UNIX") {
269907
269922
  versionMadeBy = 798;
269908
269923
  extFileAttr |= generateUnixExternalFileAttr(file.unixPermissions, dir);
269909
269924
  } else {
@@ -269988,11 +270003,11 @@ var require_ZipFileWorker = __commonJS({
269988
270003
  decToHex(streamInfo["uncompressedSize"], 4);
269989
270004
  return descriptor;
269990
270005
  };
269991
- function ZipFileWorker(streamFiles, comment2, platform5, encodeFileName) {
270006
+ function ZipFileWorker(streamFiles, comment2, platform6, encodeFileName) {
269992
270007
  GenericWorker.call(this, "ZipFileWorker");
269993
270008
  this.bytesWritten = 0;
269994
270009
  this.zipComment = comment2;
269995
- this.zipPlatform = platform5;
270010
+ this.zipPlatform = platform6;
269996
270011
  this.encodeFileName = encodeFileName;
269997
270012
  this.streamFiles = streamFiles;
269998
270013
  this.accumulate = false;
@@ -280948,14 +280963,14 @@ var require_files = __commonJS({
280948
280963
  };
280949
280964
  }
280950
280965
  var readFile3 = promises.promisify(fs42.readFile.bind(fs42));
280951
- function uriToPath(uriString, platform5) {
280952
- if (!platform5) {
280953
- platform5 = os23.platform();
280966
+ function uriToPath(uriString, platform6) {
280967
+ if (!platform6) {
280968
+ platform6 = os23.platform();
280954
280969
  }
280955
280970
  var uri = url.parse(uriString);
280956
280971
  if (isLocalFileUri(uri) || isRelativeUri(uri)) {
280957
280972
  var path53 = decodeURIComponent(uri.path);
280958
- if (platform5 === "win32" && /^\/[a-z]:/i.test(path53)) {
280973
+ if (platform6 === "win32" && /^\/[a-z]:/i.test(path53)) {
280959
280974
  return path53.slice(1);
280960
280975
  } else {
280961
280976
  return path53;
@@ -316140,7 +316155,7 @@ var require_xlsx = __commonJS({
316140
316155
  if (DBF_SUPPORTED_VERSIONS.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);
316141
316156
  return read_prn(data, d, o, str2);
316142
316157
  }
316143
- function readFileSync22(filename, opts) {
316158
+ function readFileSync23(filename, opts) {
316144
316159
  var o = opts || {};
316145
316160
  o.type = "file";
316146
316161
  return readSync(filename, o);
@@ -316375,7 +316390,7 @@ var require_xlsx = __commonJS({
316375
316390
  if (ext.match(/^\.[a-z]+$/)) o.bookType = ext.slice(1);
316376
316391
  o.bookType = _BT[o.bookType] || o.bookType;
316377
316392
  }
316378
- function writeFileSync15(wb, filename, opts) {
316393
+ function writeFileSync16(wb, filename, opts) {
316379
316394
  var o = opts || {};
316380
316395
  o.type = "file";
316381
316396
  o.file = filename;
@@ -316976,11 +316991,11 @@ var require_xlsx = __commonJS({
316976
316991
  if (typeof parse_xlscfb !== "undefined") XLSX3.parse_xlscfb = parse_xlscfb;
316977
316992
  XLSX3.parse_zip = parse_zip;
316978
316993
  XLSX3.read = readSync;
316979
- XLSX3.readFile = readFileSync22;
316980
- XLSX3.readFileSync = readFileSync22;
316994
+ XLSX3.readFile = readFileSync23;
316995
+ XLSX3.readFileSync = readFileSync23;
316981
316996
  XLSX3.write = writeSync;
316982
- XLSX3.writeFile = writeFileSync15;
316983
- XLSX3.writeFileSync = writeFileSync15;
316997
+ XLSX3.writeFile = writeFileSync16;
316998
+ XLSX3.writeFileSync = writeFileSync16;
316984
316999
  XLSX3.writeFileAsync = writeFileAsync;
316985
317000
  XLSX3.utils = utils3;
316986
317001
  XLSX3.writeXLSX = writeSyncXLSX;
@@ -318709,7 +318724,7 @@ var init_pdf = __esm({
318709
318724
  var defineProperty = Object.defineProperty;
318710
318725
  var stringSlice = uncurryThis("".slice);
318711
318726
  var replace2 = uncurryThis("".replace);
318712
- var join30 = uncurryThis([].join);
318727
+ var join31 = uncurryThis([].join);
318713
318728
  var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function() {
318714
318729
  return defineProperty(function() {
318715
318730
  }, "length", { value: 8 }).length !== 8;
@@ -318736,7 +318751,7 @@ var init_pdf = __esm({
318736
318751
  }
318737
318752
  var state = enforceInternalState(value);
318738
318753
  if (!hasOwn(state, "source")) {
318739
- state.source = join30(TEMPLATE, typeof name == "string" ? name : "");
318754
+ state.source = join31(TEMPLATE, typeof name == "string" ? name : "");
318740
318755
  }
318741
318756
  return value;
318742
318757
  };
@@ -323649,14 +323664,14 @@ var init_pdf = __esm({
323649
323664
  }
323650
323665
  static get platform() {
323651
323666
  const {
323652
- platform: platform5,
323667
+ platform: platform6,
323653
323668
  userAgent
323654
323669
  } = navigator;
323655
323670
  return shadow(this, "platform", {
323656
323671
  isAndroid: userAgent.includes("Android"),
323657
- isLinux: platform5.includes("Linux"),
323658
- isMac: platform5.includes("Mac"),
323659
- isWindows: platform5.includes("Win"),
323672
+ isLinux: platform6.includes("Linux"),
323673
+ isMac: platform6.includes("Mac"),
323674
+ isWindows: platform6.includes("Win"),
323660
323675
  isFirefox: userAgent.includes("Firefox")
323661
323676
  });
323662
323677
  }
@@ -370236,10 +370251,10 @@ var init_NetworkManager = __esm({
370236
370251
  throw error;
370237
370252
  }
370238
370253
  }
370239
- async setUserAgent(userAgent, userAgentMetadata, platform5) {
370254
+ async setUserAgent(userAgent, userAgentMetadata, platform6) {
370240
370255
  this.#userAgent = userAgent;
370241
370256
  this.#userAgentMetadata = userAgentMetadata;
370242
- this.#platform = platform5;
370257
+ this.#platform = platform6;
370243
370258
  await this.#applyToAllClients(this.#applyUserAgent.bind(this));
370244
370259
  }
370245
370260
  async #applyUserAgent(client) {
@@ -392308,22 +392323,22 @@ var init_Page3 = __esm({
392308
392323
  async setUserAgent(userAgentOrOptions, userAgentMetadata) {
392309
392324
  let userAgent;
392310
392325
  let metadata;
392311
- let platform5;
392326
+ let platform6;
392312
392327
  if (typeof userAgentOrOptions === "string") {
392313
392328
  userAgent = userAgentOrOptions;
392314
392329
  metadata = userAgentMetadata;
392315
392330
  } else {
392316
392331
  userAgent = userAgentOrOptions.userAgent ?? await __privateGet(this, _browserContext).browser().userAgent();
392317
392332
  metadata = userAgentOrOptions.userAgentMetadata;
392318
- platform5 = userAgentOrOptions.platform;
392333
+ platform6 = userAgentOrOptions.platform;
392319
392334
  }
392320
- if (!__privateGet(this, _browserContext).browser().cdpSupported && (metadata || platform5)) {
392335
+ if (!__privateGet(this, _browserContext).browser().cdpSupported && (metadata || platform6)) {
392321
392336
  throw new UnsupportedOperation("Current Browser does not support `userAgentMetadata` or `platform`");
392322
- } else if (__privateGet(this, _browserContext).browser().cdpSupported && (metadata || platform5)) {
392337
+ } else if (__privateGet(this, _browserContext).browser().cdpSupported && (metadata || platform6)) {
392323
392338
  return await this._client().send("Network.setUserAgentOverride", {
392324
392339
  userAgent,
392325
392340
  userAgentMetadata: metadata,
392326
- platform: platform5
392341
+ platform: platform6
392327
392342
  });
392328
392343
  }
392329
392344
  const enable = userAgent !== "";
@@ -392335,14 +392350,14 @@ var init_Page3 = __esm({
392335
392350
  "beforeRequestSent"
392336
392351
  /* Bidi.Network.InterceptPhase.BeforeRequestSent */
392337
392352
  ], __privateGet(this, _userAgentInterception), enable));
392338
- const overrideNavigatorProperties = (userAgent2, platform6) => {
392353
+ const overrideNavigatorProperties = (userAgent2, platform7) => {
392339
392354
  Object.defineProperty(navigator, "userAgent", {
392340
392355
  value: userAgent2,
392341
392356
  configurable: true
392342
392357
  });
392343
- if (platform6) {
392358
+ if (platform7) {
392344
392359
  Object.defineProperty(navigator, "platform", {
392345
- value: platform6,
392360
+ value: platform7,
392346
392361
  configurable: true
392347
392362
  });
392348
392363
  }
@@ -392355,11 +392370,11 @@ var init_Page3 = __esm({
392355
392370
  await this.removeScriptToEvaluateOnNewDocument(__privateGet(this, _userAgentPreloadScript));
392356
392371
  }
392357
392372
  const [evaluateToken] = await Promise.all([
392358
- enable ? this.evaluateOnNewDocument(overrideNavigatorProperties, userAgent, platform5 || void 0) : void 0,
392373
+ enable ? this.evaluateOnNewDocument(overrideNavigatorProperties, userAgent, platform6 || void 0) : void 0,
392359
392374
  // When we disable the UserAgent we want to
392360
392375
  // evaluate the original value in all Browsing Contexts
392361
392376
  ...frames.map((frame) => {
392362
- return frame.evaluate(overrideNavigatorProperties, userAgent, platform5 || void 0);
392377
+ return frame.evaluate(overrideNavigatorProperties, userAgent, platform6 || void 0);
392363
392378
  })
392364
392379
  ]);
392365
392380
  __privateSet(this, _userAgentPreloadScript, evaluateToken == null ? void 0 : evaluateToken.identifier);
@@ -404307,7 +404322,7 @@ var require_util12 = __commonJS({
404307
404322
  return path53;
404308
404323
  }
404309
404324
  exports2.normalize = normalize5;
404310
- function join30(aRoot, aPath) {
404325
+ function join31(aRoot, aPath) {
404311
404326
  if (aRoot === "") {
404312
404327
  aRoot = ".";
404313
404328
  }
@@ -404339,7 +404354,7 @@ var require_util12 = __commonJS({
404339
404354
  }
404340
404355
  return joined;
404341
404356
  }
404342
- exports2.join = join30;
404357
+ exports2.join = join31;
404343
404358
  exports2.isAbsolute = function(aPath) {
404344
404359
  return aPath.charAt(0) === "/" || urlRegexp.test(aPath);
404345
404360
  };
@@ -404512,7 +404527,7 @@ var require_util12 = __commonJS({
404512
404527
  parsed.path = parsed.path.substring(0, index + 1);
404513
404528
  }
404514
404529
  }
404515
- sourceURL = join30(urlGenerate(parsed), sourceURL);
404530
+ sourceURL = join31(urlGenerate(parsed), sourceURL);
404516
404531
  }
404517
404532
  return normalize5(sourceURL);
404518
404533
  }
@@ -406314,7 +406329,7 @@ var require_escodegen = __commonJS({
406314
406329
  function noEmptySpace() {
406315
406330
  return space ? space : " ";
406316
406331
  }
406317
- function join30(left, right) {
406332
+ function join31(left, right) {
406318
406333
  var leftSource, rightSource, leftCharCode, rightCharCode;
406319
406334
  leftSource = toSourceNodeWhenNeeded(left).toString();
406320
406335
  if (leftSource.length === 0) {
@@ -406645,8 +406660,8 @@ var require_escodegen = __commonJS({
406645
406660
  } else {
406646
406661
  result2.push(that.generateExpression(stmt.left, Precedence.Call, E_TTT));
406647
406662
  }
406648
- result2 = join30(result2, operator);
406649
- result2 = [join30(
406663
+ result2 = join31(result2, operator);
406664
+ result2 = [join31(
406650
406665
  result2,
406651
406666
  that.generateExpression(stmt.right, Precedence.Assignment, E_TTT)
406652
406667
  ), ")"];
@@ -406789,11 +406804,11 @@ var require_escodegen = __commonJS({
406789
406804
  var result2, fragment;
406790
406805
  result2 = ["class"];
406791
406806
  if (stmt.id) {
406792
- result2 = join30(result2, this.generateExpression(stmt.id, Precedence.Sequence, E_TTT));
406807
+ result2 = join31(result2, this.generateExpression(stmt.id, Precedence.Sequence, E_TTT));
406793
406808
  }
406794
406809
  if (stmt.superClass) {
406795
- fragment = join30("extends", this.generateExpression(stmt.superClass, Precedence.Unary, E_TTT));
406796
- result2 = join30(result2, fragment);
406810
+ fragment = join31("extends", this.generateExpression(stmt.superClass, Precedence.Unary, E_TTT));
406811
+ result2 = join31(result2, fragment);
406797
406812
  }
406798
406813
  result2.push(space);
406799
406814
  result2.push(this.generateStatement(stmt.body, S_TFFT));
@@ -406806,9 +406821,9 @@ var require_escodegen = __commonJS({
406806
406821
  return escapeDirective(stmt.directive) + this.semicolon(flags);
406807
406822
  },
406808
406823
  DoWhileStatement: function(stmt, flags) {
406809
- var result2 = join30("do", this.maybeBlock(stmt.body, S_TFFF));
406824
+ var result2 = join31("do", this.maybeBlock(stmt.body, S_TFFF));
406810
406825
  result2 = this.maybeBlockSuffix(stmt.body, result2);
406811
- return join30(result2, [
406826
+ return join31(result2, [
406812
406827
  "while" + space + "(",
406813
406828
  this.generateExpression(stmt.test, Precedence.Sequence, E_TTT),
406814
406829
  ")" + this.semicolon(flags)
@@ -406844,11 +406859,11 @@ var require_escodegen = __commonJS({
406844
406859
  ExportDefaultDeclaration: function(stmt, flags) {
406845
406860
  var result2 = ["export"], bodyFlags;
406846
406861
  bodyFlags = flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF;
406847
- result2 = join30(result2, "default");
406862
+ result2 = join31(result2, "default");
406848
406863
  if (isStatement(stmt.declaration)) {
406849
- result2 = join30(result2, this.generateStatement(stmt.declaration, bodyFlags));
406864
+ result2 = join31(result2, this.generateStatement(stmt.declaration, bodyFlags));
406850
406865
  } else {
406851
- result2 = join30(result2, this.generateExpression(stmt.declaration, Precedence.Assignment, E_TTT) + this.semicolon(flags));
406866
+ result2 = join31(result2, this.generateExpression(stmt.declaration, Precedence.Assignment, E_TTT) + this.semicolon(flags));
406852
406867
  }
406853
406868
  return result2;
406854
406869
  },
@@ -406856,15 +406871,15 @@ var require_escodegen = __commonJS({
406856
406871
  var result2 = ["export"], bodyFlags, that = this;
406857
406872
  bodyFlags = flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF;
406858
406873
  if (stmt.declaration) {
406859
- return join30(result2, this.generateStatement(stmt.declaration, bodyFlags));
406874
+ return join31(result2, this.generateStatement(stmt.declaration, bodyFlags));
406860
406875
  }
406861
406876
  if (stmt.specifiers) {
406862
406877
  if (stmt.specifiers.length === 0) {
406863
- result2 = join30(result2, "{" + space + "}");
406878
+ result2 = join31(result2, "{" + space + "}");
406864
406879
  } else if (stmt.specifiers[0].type === Syntax.ExportBatchSpecifier) {
406865
- result2 = join30(result2, this.generateExpression(stmt.specifiers[0], Precedence.Sequence, E_TTT));
406880
+ result2 = join31(result2, this.generateExpression(stmt.specifiers[0], Precedence.Sequence, E_TTT));
406866
406881
  } else {
406867
- result2 = join30(result2, "{");
406882
+ result2 = join31(result2, "{");
406868
406883
  withIndent(function(indent2) {
406869
406884
  var i, iz;
406870
406885
  result2.push(newline3);
@@ -406882,7 +406897,7 @@ var require_escodegen = __commonJS({
406882
406897
  result2.push(base + "}");
406883
406898
  }
406884
406899
  if (stmt.source) {
406885
- result2 = join30(result2, [
406900
+ result2 = join31(result2, [
406886
406901
  "from" + space,
406887
406902
  // ModuleSpecifier
406888
406903
  this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),
@@ -406970,7 +406985,7 @@ var require_escodegen = __commonJS({
406970
406985
  ];
406971
406986
  cursor4 = 0;
406972
406987
  if (stmt.specifiers[cursor4].type === Syntax.ImportDefaultSpecifier) {
406973
- result2 = join30(result2, [
406988
+ result2 = join31(result2, [
406974
406989
  this.generateExpression(stmt.specifiers[cursor4], Precedence.Sequence, E_TTT)
406975
406990
  ]);
406976
406991
  ++cursor4;
@@ -406980,7 +406995,7 @@ var require_escodegen = __commonJS({
406980
406995
  result2.push(",");
406981
406996
  }
406982
406997
  if (stmt.specifiers[cursor4].type === Syntax.ImportNamespaceSpecifier) {
406983
- result2 = join30(result2, [
406998
+ result2 = join31(result2, [
406984
406999
  space,
406985
407000
  this.generateExpression(stmt.specifiers[cursor4], Precedence.Sequence, E_TTT)
406986
407001
  ]);
@@ -407009,7 +407024,7 @@ var require_escodegen = __commonJS({
407009
407024
  }
407010
407025
  }
407011
407026
  }
407012
- result2 = join30(result2, [
407027
+ result2 = join31(result2, [
407013
407028
  "from" + space,
407014
407029
  // ModuleSpecifier
407015
407030
  this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),
@@ -407063,7 +407078,7 @@ var require_escodegen = __commonJS({
407063
407078
  return result2;
407064
407079
  },
407065
407080
  ThrowStatement: function(stmt, flags) {
407066
- return [join30(
407081
+ return [join31(
407067
407082
  "throw",
407068
407083
  this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT)
407069
407084
  ), this.semicolon(flags)];
@@ -407074,7 +407089,7 @@ var require_escodegen = __commonJS({
407074
407089
  result2 = this.maybeBlockSuffix(stmt.block, result2);
407075
407090
  if (stmt.handlers) {
407076
407091
  for (i = 0, iz = stmt.handlers.length; i < iz; ++i) {
407077
- result2 = join30(result2, this.generateStatement(stmt.handlers[i], S_TFFF));
407092
+ result2 = join31(result2, this.generateStatement(stmt.handlers[i], S_TFFF));
407078
407093
  if (stmt.finalizer || i + 1 !== iz) {
407079
407094
  result2 = this.maybeBlockSuffix(stmt.handlers[i].body, result2);
407080
407095
  }
@@ -407082,7 +407097,7 @@ var require_escodegen = __commonJS({
407082
407097
  } else {
407083
407098
  guardedHandlers = stmt.guardedHandlers || [];
407084
407099
  for (i = 0, iz = guardedHandlers.length; i < iz; ++i) {
407085
- result2 = join30(result2, this.generateStatement(guardedHandlers[i], S_TFFF));
407100
+ result2 = join31(result2, this.generateStatement(guardedHandlers[i], S_TFFF));
407086
407101
  if (stmt.finalizer || i + 1 !== iz) {
407087
407102
  result2 = this.maybeBlockSuffix(guardedHandlers[i].body, result2);
407088
407103
  }
@@ -407090,13 +407105,13 @@ var require_escodegen = __commonJS({
407090
407105
  if (stmt.handler) {
407091
407106
  if (Array.isArray(stmt.handler)) {
407092
407107
  for (i = 0, iz = stmt.handler.length; i < iz; ++i) {
407093
- result2 = join30(result2, this.generateStatement(stmt.handler[i], S_TFFF));
407108
+ result2 = join31(result2, this.generateStatement(stmt.handler[i], S_TFFF));
407094
407109
  if (stmt.finalizer || i + 1 !== iz) {
407095
407110
  result2 = this.maybeBlockSuffix(stmt.handler[i].body, result2);
407096
407111
  }
407097
407112
  }
407098
407113
  } else {
407099
- result2 = join30(result2, this.generateStatement(stmt.handler, S_TFFF));
407114
+ result2 = join31(result2, this.generateStatement(stmt.handler, S_TFFF));
407100
407115
  if (stmt.finalizer) {
407101
407116
  result2 = this.maybeBlockSuffix(stmt.handler.body, result2);
407102
407117
  }
@@ -407104,7 +407119,7 @@ var require_escodegen = __commonJS({
407104
407119
  }
407105
407120
  }
407106
407121
  if (stmt.finalizer) {
407107
- result2 = join30(result2, ["finally", this.maybeBlock(stmt.finalizer, S_TFFF)]);
407122
+ result2 = join31(result2, ["finally", this.maybeBlock(stmt.finalizer, S_TFFF)]);
407108
407123
  }
407109
407124
  return result2;
407110
407125
  },
@@ -407138,7 +407153,7 @@ var require_escodegen = __commonJS({
407138
407153
  withIndent(function() {
407139
407154
  if (stmt.test) {
407140
407155
  result2 = [
407141
- join30("case", that.generateExpression(stmt.test, Precedence.Sequence, E_TTT)),
407156
+ join31("case", that.generateExpression(stmt.test, Precedence.Sequence, E_TTT)),
407142
407157
  ":"
407143
407158
  ];
407144
407159
  } else {
@@ -407186,9 +407201,9 @@ var require_escodegen = __commonJS({
407186
407201
  result2.push(this.maybeBlock(stmt.consequent, S_TFFF));
407187
407202
  result2 = this.maybeBlockSuffix(stmt.consequent, result2);
407188
407203
  if (stmt.alternate.type === Syntax.IfStatement) {
407189
- result2 = join30(result2, ["else ", this.generateStatement(stmt.alternate, bodyFlags)]);
407204
+ result2 = join31(result2, ["else ", this.generateStatement(stmt.alternate, bodyFlags)]);
407190
407205
  } else {
407191
- result2 = join30(result2, join30("else", this.maybeBlock(stmt.alternate, bodyFlags)));
407206
+ result2 = join31(result2, join31("else", this.maybeBlock(stmt.alternate, bodyFlags)));
407192
407207
  }
407193
407208
  } else {
407194
407209
  result2.push(this.maybeBlock(stmt.consequent, bodyFlags));
@@ -407289,7 +407304,7 @@ var require_escodegen = __commonJS({
407289
407304
  },
407290
407305
  ReturnStatement: function(stmt, flags) {
407291
407306
  if (stmt.argument) {
407292
- return [join30(
407307
+ return [join31(
407293
407308
  "return",
407294
407309
  this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT)
407295
407310
  ), this.semicolon(flags)];
@@ -407378,14 +407393,14 @@ var require_escodegen = __commonJS({
407378
407393
  if (leftSource.charCodeAt(leftSource.length - 1) === 47 && esutils.code.isIdentifierPartES5(expr.operator.charCodeAt(0))) {
407379
407394
  result2 = [fragment, noEmptySpace(), expr.operator];
407380
407395
  } else {
407381
- result2 = join30(fragment, expr.operator);
407396
+ result2 = join31(fragment, expr.operator);
407382
407397
  }
407383
407398
  fragment = this.generateExpression(expr.right, rightPrecedence, flags);
407384
407399
  if (expr.operator === "/" && fragment.toString().charAt(0) === "/" || expr.operator.slice(-1) === "<" && fragment.toString().slice(0, 3) === "!--") {
407385
407400
  result2.push(noEmptySpace());
407386
407401
  result2.push(fragment);
407387
407402
  } else {
407388
- result2 = join30(result2, fragment);
407403
+ result2 = join31(result2, fragment);
407389
407404
  }
407390
407405
  if (expr.operator === "in" && !(flags & F_ALLOW_IN)) {
407391
407406
  return ["(", result2, ")"];
@@ -407425,7 +407440,7 @@ var require_escodegen = __commonJS({
407425
407440
  var result2, length, i, iz, itemFlags;
407426
407441
  length = expr["arguments"].length;
407427
407442
  itemFlags = flags & F_ALLOW_UNPARATH_NEW && !parentheses && length === 0 ? E_TFT : E_TFF;
407428
- result2 = join30(
407443
+ result2 = join31(
407429
407444
  "new",
407430
407445
  this.generateExpression(expr.callee, Precedence.New, itemFlags)
407431
407446
  );
@@ -407475,11 +407490,11 @@ var require_escodegen = __commonJS({
407475
407490
  var result2, fragment, rightCharCode, leftSource, leftCharCode;
407476
407491
  fragment = this.generateExpression(expr.argument, Precedence.Unary, E_TTT);
407477
407492
  if (space === "") {
407478
- result2 = join30(expr.operator, fragment);
407493
+ result2 = join31(expr.operator, fragment);
407479
407494
  } else {
407480
407495
  result2 = [expr.operator];
407481
407496
  if (expr.operator.length > 2) {
407482
- result2 = join30(result2, fragment);
407497
+ result2 = join31(result2, fragment);
407483
407498
  } else {
407484
407499
  leftSource = toSourceNodeWhenNeeded(result2).toString();
407485
407500
  leftCharCode = leftSource.charCodeAt(leftSource.length - 1);
@@ -407502,7 +407517,7 @@ var require_escodegen = __commonJS({
407502
407517
  result2 = "yield";
407503
407518
  }
407504
407519
  if (expr.argument) {
407505
- result2 = join30(
407520
+ result2 = join31(
407506
407521
  result2,
407507
407522
  this.generateExpression(expr.argument, Precedence.Yield, E_TTT)
407508
407523
  );
@@ -407510,7 +407525,7 @@ var require_escodegen = __commonJS({
407510
407525
  return parenthesize(result2, Precedence.Yield, precedence);
407511
407526
  },
407512
407527
  AwaitExpression: function(expr, precedence, flags) {
407513
- var result2 = join30(
407528
+ var result2 = join31(
407514
407529
  expr.all ? "await*" : "await",
407515
407530
  this.generateExpression(expr.argument, Precedence.Await, E_TTT)
407516
407531
  );
@@ -407593,11 +407608,11 @@ var require_escodegen = __commonJS({
407593
407608
  var result2, fragment;
407594
407609
  result2 = ["class"];
407595
407610
  if (expr.id) {
407596
- result2 = join30(result2, this.generateExpression(expr.id, Precedence.Sequence, E_TTT));
407611
+ result2 = join31(result2, this.generateExpression(expr.id, Precedence.Sequence, E_TTT));
407597
407612
  }
407598
407613
  if (expr.superClass) {
407599
- fragment = join30("extends", this.generateExpression(expr.superClass, Precedence.Unary, E_TTT));
407600
- result2 = join30(result2, fragment);
407614
+ fragment = join31("extends", this.generateExpression(expr.superClass, Precedence.Unary, E_TTT));
407615
+ result2 = join31(result2, fragment);
407601
407616
  }
407602
407617
  result2.push(space);
407603
407618
  result2.push(this.generateStatement(expr.body, S_TFFT));
@@ -407612,7 +407627,7 @@ var require_escodegen = __commonJS({
407612
407627
  }
407613
407628
  if (expr.kind === "get" || expr.kind === "set") {
407614
407629
  fragment = [
407615
- join30(expr.kind, this.generatePropertyKey(expr.key, expr.computed)),
407630
+ join31(expr.kind, this.generatePropertyKey(expr.key, expr.computed)),
407616
407631
  this.generateFunctionBody(expr.value)
407617
407632
  ];
407618
407633
  } else {
@@ -407622,7 +407637,7 @@ var require_escodegen = __commonJS({
407622
407637
  this.generateFunctionBody(expr.value)
407623
407638
  ];
407624
407639
  }
407625
- return join30(result2, fragment);
407640
+ return join31(result2, fragment);
407626
407641
  },
407627
407642
  Property: function(expr, precedence, flags) {
407628
407643
  if (expr.kind === "get" || expr.kind === "set") {
@@ -407817,7 +407832,7 @@ var require_escodegen = __commonJS({
407817
407832
  for (i = 0, iz = expr.blocks.length; i < iz; ++i) {
407818
407833
  fragment = that.generateExpression(expr.blocks[i], Precedence.Sequence, E_TTT);
407819
407834
  if (i > 0 || extra.moz.comprehensionExpressionStartsWithAssignment) {
407820
- result2 = join30(result2, fragment);
407835
+ result2 = join31(result2, fragment);
407821
407836
  } else {
407822
407837
  result2.push(fragment);
407823
407838
  }
@@ -407825,13 +407840,13 @@ var require_escodegen = __commonJS({
407825
407840
  });
407826
407841
  }
407827
407842
  if (expr.filter) {
407828
- result2 = join30(result2, "if" + space);
407843
+ result2 = join31(result2, "if" + space);
407829
407844
  fragment = this.generateExpression(expr.filter, Precedence.Sequence, E_TTT);
407830
- result2 = join30(result2, ["(", fragment, ")"]);
407845
+ result2 = join31(result2, ["(", fragment, ")"]);
407831
407846
  }
407832
407847
  if (!extra.moz.comprehensionExpressionStartsWithAssignment) {
407833
407848
  fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT);
407834
- result2 = join30(result2, fragment);
407849
+ result2 = join31(result2, fragment);
407835
407850
  }
407836
407851
  result2.push(expr.type === Syntax.GeneratorExpression ? ")" : "]");
407837
407852
  return result2;
@@ -407847,8 +407862,8 @@ var require_escodegen = __commonJS({
407847
407862
  } else {
407848
407863
  fragment = this.generateExpression(expr.left, Precedence.Call, E_TTT);
407849
407864
  }
407850
- fragment = join30(fragment, expr.of ? "of" : "in");
407851
- fragment = join30(fragment, this.generateExpression(expr.right, Precedence.Sequence, E_TTT));
407865
+ fragment = join31(fragment, expr.of ? "of" : "in");
407866
+ fragment = join31(fragment, this.generateExpression(expr.right, Precedence.Sequence, E_TTT));
407852
407867
  return ["for" + space + "(", fragment, ")"];
407853
407868
  },
407854
407869
  SpreadElement: function(expr, precedence, flags) {
@@ -422079,8 +422094,8 @@ var init_httpUtil = __esm({
422079
422094
  // node_modules/@puppeteer/browsers/lib/esm/browser-data/chrome.js
422080
422095
  import { execSync as execSync2 } from "node:child_process";
422081
422096
  import path23 from "node:path";
422082
- function folder(platform5) {
422083
- switch (platform5) {
422097
+ function folder(platform6) {
422098
+ switch (platform6) {
422084
422099
  case BrowserPlatform.LINUX_ARM:
422085
422100
  case BrowserPlatform.LINUX:
422086
422101
  return "linux64";
@@ -422094,23 +422109,23 @@ function folder(platform5) {
422094
422109
  return "win64";
422095
422110
  }
422096
422111
  }
422097
- function resolveDownloadUrl(platform5, buildId, baseUrl = "https://storage.googleapis.com/chrome-for-testing-public") {
422098
- return `${baseUrl}/${resolveDownloadPath(platform5, buildId).join("/")}`;
422112
+ function resolveDownloadUrl(platform6, buildId, baseUrl = "https://storage.googleapis.com/chrome-for-testing-public") {
422113
+ return `${baseUrl}/${resolveDownloadPath(platform6, buildId).join("/")}`;
422099
422114
  }
422100
- function resolveDownloadPath(platform5, buildId) {
422101
- return [buildId, folder(platform5), `chrome-${folder(platform5)}.zip`];
422115
+ function resolveDownloadPath(platform6, buildId) {
422116
+ return [buildId, folder(platform6), `chrome-${folder(platform6)}.zip`];
422102
422117
  }
422103
- function relativeExecutablePath(platform5, _buildId) {
422104
- switch (platform5) {
422118
+ function relativeExecutablePath(platform6, _buildId) {
422119
+ switch (platform6) {
422105
422120
  case BrowserPlatform.MAC:
422106
422121
  case BrowserPlatform.MAC_ARM:
422107
- return path23.join("chrome-" + folder(platform5), "Google Chrome for Testing.app", "Contents", "MacOS", "Google Chrome for Testing");
422122
+ return path23.join("chrome-" + folder(platform6), "Google Chrome for Testing.app", "Contents", "MacOS", "Google Chrome for Testing");
422108
422123
  case BrowserPlatform.LINUX_ARM:
422109
422124
  case BrowserPlatform.LINUX:
422110
422125
  return path23.join("chrome-linux64", "chrome");
422111
422126
  case BrowserPlatform.WIN32:
422112
422127
  case BrowserPlatform.WIN64:
422113
- return path23.join("chrome-" + folder(platform5), "chrome.exe");
422128
+ return path23.join("chrome-" + folder(platform6), "chrome.exe");
422114
422129
  }
422115
422130
  }
422116
422131
  async function getLastKnownGoodReleaseForChannel(channel) {
@@ -422218,8 +422233,8 @@ function getChromeLinuxOrWslLocation(channel) {
422218
422233
  }
422219
422234
  return locations;
422220
422235
  }
422221
- function resolveSystemExecutablePaths(platform5, channel) {
422222
- switch (platform5) {
422236
+ function resolveSystemExecutablePaths(platform6, channel) {
422237
+ switch (platform6) {
422223
422238
  case BrowserPlatform.WIN64:
422224
422239
  case BrowserPlatform.WIN32:
422225
422240
  const prefixLocation = new Set(WINDOWS_ENV_PARAM_NAMES.map((name) => {
@@ -422291,8 +422306,8 @@ var init_chrome = __esm({
422291
422306
 
422292
422307
  // node_modules/@puppeteer/browsers/lib/esm/browser-data/chrome-headless-shell.js
422293
422308
  import path24 from "node:path";
422294
- function folder2(platform5) {
422295
- switch (platform5) {
422309
+ function folder2(platform6) {
422310
+ switch (platform6) {
422296
422311
  case BrowserPlatform.LINUX_ARM:
422297
422312
  case BrowserPlatform.LINUX:
422298
422313
  return "linux64";
@@ -422306,27 +422321,27 @@ function folder2(platform5) {
422306
422321
  return "win64";
422307
422322
  }
422308
422323
  }
422309
- function resolveDownloadUrl2(platform5, buildId, baseUrl = "https://storage.googleapis.com/chrome-for-testing-public") {
422310
- return `${baseUrl}/${resolveDownloadPath2(platform5, buildId).join("/")}`;
422324
+ function resolveDownloadUrl2(platform6, buildId, baseUrl = "https://storage.googleapis.com/chrome-for-testing-public") {
422325
+ return `${baseUrl}/${resolveDownloadPath2(platform6, buildId).join("/")}`;
422311
422326
  }
422312
- function resolveDownloadPath2(platform5, buildId) {
422327
+ function resolveDownloadPath2(platform6, buildId) {
422313
422328
  return [
422314
422329
  buildId,
422315
- folder2(platform5),
422316
- `chrome-headless-shell-${folder2(platform5)}.zip`
422330
+ folder2(platform6),
422331
+ `chrome-headless-shell-${folder2(platform6)}.zip`
422317
422332
  ];
422318
422333
  }
422319
- function relativeExecutablePath2(platform5, _buildId) {
422320
- switch (platform5) {
422334
+ function relativeExecutablePath2(platform6, _buildId) {
422335
+ switch (platform6) {
422321
422336
  case BrowserPlatform.MAC:
422322
422337
  case BrowserPlatform.MAC_ARM:
422323
- return path24.join("chrome-headless-shell-" + folder2(platform5), "chrome-headless-shell");
422338
+ return path24.join("chrome-headless-shell-" + folder2(platform6), "chrome-headless-shell");
422324
422339
  case BrowserPlatform.LINUX_ARM:
422325
422340
  case BrowserPlatform.LINUX:
422326
422341
  return path24.join("chrome-headless-shell-linux64", "chrome-headless-shell");
422327
422342
  case BrowserPlatform.WIN32:
422328
422343
  case BrowserPlatform.WIN64:
422329
- return path24.join("chrome-headless-shell-" + folder2(platform5), "chrome-headless-shell.exe");
422344
+ return path24.join("chrome-headless-shell-" + folder2(platform6), "chrome-headless-shell.exe");
422330
422345
  }
422331
422346
  }
422332
422347
  var init_chrome_headless_shell = __esm({
@@ -422338,8 +422353,8 @@ var init_chrome_headless_shell = __esm({
422338
422353
 
422339
422354
  // node_modules/@puppeteer/browsers/lib/esm/browser-data/chromedriver.js
422340
422355
  import path25 from "node:path";
422341
- function folder3(platform5) {
422342
- switch (platform5) {
422356
+ function folder3(platform6) {
422357
+ switch (platform6) {
422343
422358
  case BrowserPlatform.LINUX_ARM:
422344
422359
  case BrowserPlatform.LINUX:
422345
422360
  return "linux64";
@@ -422353,23 +422368,23 @@ function folder3(platform5) {
422353
422368
  return "win64";
422354
422369
  }
422355
422370
  }
422356
- function resolveDownloadUrl3(platform5, buildId, baseUrl = "https://storage.googleapis.com/chrome-for-testing-public") {
422357
- return `${baseUrl}/${resolveDownloadPath3(platform5, buildId).join("/")}`;
422371
+ function resolveDownloadUrl3(platform6, buildId, baseUrl = "https://storage.googleapis.com/chrome-for-testing-public") {
422372
+ return `${baseUrl}/${resolveDownloadPath3(platform6, buildId).join("/")}`;
422358
422373
  }
422359
- function resolveDownloadPath3(platform5, buildId) {
422360
- return [buildId, folder3(platform5), `chromedriver-${folder3(platform5)}.zip`];
422374
+ function resolveDownloadPath3(platform6, buildId) {
422375
+ return [buildId, folder3(platform6), `chromedriver-${folder3(platform6)}.zip`];
422361
422376
  }
422362
- function relativeExecutablePath3(platform5, _buildId) {
422363
- switch (platform5) {
422377
+ function relativeExecutablePath3(platform6, _buildId) {
422378
+ switch (platform6) {
422364
422379
  case BrowserPlatform.MAC:
422365
422380
  case BrowserPlatform.MAC_ARM:
422366
- return path25.join("chromedriver-" + folder3(platform5), "chromedriver");
422381
+ return path25.join("chromedriver-" + folder3(platform6), "chromedriver");
422367
422382
  case BrowserPlatform.LINUX_ARM:
422368
422383
  case BrowserPlatform.LINUX:
422369
422384
  return path25.join("chromedriver-linux64", "chromedriver");
422370
422385
  case BrowserPlatform.WIN32:
422371
422386
  case BrowserPlatform.WIN64:
422372
- return path25.join("chromedriver-" + folder3(platform5), "chromedriver.exe");
422387
+ return path25.join("chromedriver-" + folder3(platform6), "chromedriver.exe");
422373
422388
  }
422374
422389
  }
422375
422390
  var init_chromedriver = __esm({
@@ -422381,8 +422396,8 @@ var init_chromedriver = __esm({
422381
422396
 
422382
422397
  // node_modules/@puppeteer/browsers/lib/esm/browser-data/chromium.js
422383
422398
  import path26 from "node:path";
422384
- function archive(platform5, buildId) {
422385
- switch (platform5) {
422399
+ function archive(platform6, buildId) {
422400
+ switch (platform6) {
422386
422401
  case BrowserPlatform.LINUX_ARM:
422387
422402
  case BrowserPlatform.LINUX:
422388
422403
  return "chrome-linux";
@@ -422394,8 +422409,8 @@ function archive(platform5, buildId) {
422394
422409
  return parseInt(buildId, 10) > 591479 ? "chrome-win" : "chrome-win32";
422395
422410
  }
422396
422411
  }
422397
- function folder4(platform5) {
422398
- switch (platform5) {
422412
+ function folder4(platform6) {
422413
+ switch (platform6) {
422399
422414
  case BrowserPlatform.LINUX_ARM:
422400
422415
  case BrowserPlatform.LINUX:
422401
422416
  return "Linux_x64";
@@ -422409,14 +422424,14 @@ function folder4(platform5) {
422409
422424
  return "Win_x64";
422410
422425
  }
422411
422426
  }
422412
- function resolveDownloadUrl4(platform5, buildId, baseUrl = "https://storage.googleapis.com/chromium-browser-snapshots") {
422413
- return `${baseUrl}/${resolveDownloadPath4(platform5, buildId).join("/")}`;
422427
+ function resolveDownloadUrl4(platform6, buildId, baseUrl = "https://storage.googleapis.com/chromium-browser-snapshots") {
422428
+ return `${baseUrl}/${resolveDownloadPath4(platform6, buildId).join("/")}`;
422414
422429
  }
422415
- function resolveDownloadPath4(platform5, buildId) {
422416
- return [folder4(platform5), buildId, `${archive(platform5, buildId)}.zip`];
422430
+ function resolveDownloadPath4(platform6, buildId) {
422431
+ return [folder4(platform6), buildId, `${archive(platform6, buildId)}.zip`];
422417
422432
  }
422418
- function relativeExecutablePath4(platform5, _buildId) {
422419
- switch (platform5) {
422433
+ function relativeExecutablePath4(platform6, _buildId) {
422434
+ switch (platform6) {
422420
422435
  case BrowserPlatform.MAC:
422421
422436
  case BrowserPlatform.MAC_ARM:
422422
422437
  return path26.join("chrome-mac", "Chromium.app", "Contents", "MacOS", "Chromium");
@@ -422428,8 +422443,8 @@ function relativeExecutablePath4(platform5, _buildId) {
422428
422443
  return path26.join("chrome-win", "chrome.exe");
422429
422444
  }
422430
422445
  }
422431
- async function resolveBuildId2(platform5) {
422432
- return await getText(new URL(`https://storage.googleapis.com/chromium-browser-snapshots/${folder4(platform5)}/LAST_CHANGE`));
422446
+ async function resolveBuildId2(platform6) {
422447
+ return await getText(new URL(`https://storage.googleapis.com/chromium-browser-snapshots/${folder4(platform6)}/LAST_CHANGE`));
422433
422448
  }
422434
422449
  function compareVersions2(a, b) {
422435
422450
  return Number(a) - Number(b);
@@ -422448,8 +422463,8 @@ function getFormat(buildId) {
422448
422463
  const majorVersion = Number(buildId.split(".").shift());
422449
422464
  return majorVersion >= 135 ? "xz" : "bz2";
422450
422465
  }
422451
- function archiveNightly(platform5, buildId) {
422452
- switch (platform5) {
422466
+ function archiveNightly(platform6, buildId) {
422467
+ switch (platform6) {
422453
422468
  case BrowserPlatform.LINUX:
422454
422469
  return `firefox-${buildId}.en-US.linux-x86_64.tar.${getFormat(buildId)}`;
422455
422470
  case BrowserPlatform.LINUX_ARM:
@@ -422459,11 +422474,11 @@ function archiveNightly(platform5, buildId) {
422459
422474
  return `firefox-${buildId}.en-US.mac.dmg`;
422460
422475
  case BrowserPlatform.WIN32:
422461
422476
  case BrowserPlatform.WIN64:
422462
- return `firefox-${buildId}.en-US.${platform5}.zip`;
422477
+ return `firefox-${buildId}.en-US.${platform6}.zip`;
422463
422478
  }
422464
422479
  }
422465
- function archive2(platform5, buildId) {
422466
- switch (platform5) {
422480
+ function archive2(platform6, buildId) {
422481
+ switch (platform6) {
422467
422482
  case BrowserPlatform.LINUX_ARM:
422468
422483
  case BrowserPlatform.LINUX:
422469
422484
  return `firefox-${buildId}.tar.${getFormat(buildId)}`;
@@ -422475,8 +422490,8 @@ function archive2(platform5, buildId) {
422475
422490
  return `Firefox Setup ${buildId}.exe`;
422476
422491
  }
422477
422492
  }
422478
- function platformName(platform5) {
422479
- switch (platform5) {
422493
+ function platformName(platform6) {
422494
+ switch (platform6) {
422480
422495
  case BrowserPlatform.LINUX:
422481
422496
  return `linux-x86_64`;
422482
422497
  case BrowserPlatform.LINUX_ARM:
@@ -422486,7 +422501,7 @@ function platformName(platform5) {
422486
422501
  return `mac`;
422487
422502
  case BrowserPlatform.WIN32:
422488
422503
  case BrowserPlatform.WIN64:
422489
- return platform5;
422504
+ return platform6;
422490
422505
  }
422491
422506
  }
422492
422507
  function parseBuildId(buildId) {
@@ -422498,7 +422513,7 @@ function parseBuildId(buildId) {
422498
422513
  }
422499
422514
  return [FirefoxChannel.NIGHTLY, buildId];
422500
422515
  }
422501
- function resolveDownloadUrl5(platform5, buildId, baseUrl) {
422516
+ function resolveDownloadUrl5(platform6, buildId, baseUrl) {
422502
422517
  const [channel] = parseBuildId(buildId);
422503
422518
  switch (channel) {
422504
422519
  case FirefoxChannel.NIGHTLY:
@@ -422513,30 +422528,30 @@ function resolveDownloadUrl5(platform5, buildId, baseUrl) {
422513
422528
  baseUrl ??= "https://archive.mozilla.org/pub/firefox/releases";
422514
422529
  break;
422515
422530
  }
422516
- return `${baseUrl}/${resolveDownloadPath5(platform5, buildId).join("/")}`;
422531
+ return `${baseUrl}/${resolveDownloadPath5(platform6, buildId).join("/")}`;
422517
422532
  }
422518
- function resolveDownloadPath5(platform5, buildId) {
422533
+ function resolveDownloadPath5(platform6, buildId) {
422519
422534
  const [channel, resolvedBuildId] = parseBuildId(buildId);
422520
422535
  switch (channel) {
422521
422536
  case FirefoxChannel.NIGHTLY:
422522
- return [archiveNightly(platform5, resolvedBuildId)];
422537
+ return [archiveNightly(platform6, resolvedBuildId)];
422523
422538
  case FirefoxChannel.DEVEDITION:
422524
422539
  case FirefoxChannel.BETA:
422525
422540
  case FirefoxChannel.STABLE:
422526
422541
  case FirefoxChannel.ESR:
422527
422542
  return [
422528
422543
  resolvedBuildId,
422529
- platformName(platform5),
422544
+ platformName(platform6),
422530
422545
  "en-US",
422531
- archive2(platform5, resolvedBuildId)
422546
+ archive2(platform6, resolvedBuildId)
422532
422547
  ];
422533
422548
  }
422534
422549
  }
422535
- function relativeExecutablePath5(platform5, buildId) {
422550
+ function relativeExecutablePath5(platform6, buildId) {
422536
422551
  const [channel] = parseBuildId(buildId);
422537
422552
  switch (channel) {
422538
422553
  case FirefoxChannel.NIGHTLY:
422539
- switch (platform5) {
422554
+ switch (platform6) {
422540
422555
  case BrowserPlatform.MAC_ARM:
422541
422556
  case BrowserPlatform.MAC:
422542
422557
  return path27.join("Firefox Nightly.app", "Contents", "MacOS", "firefox");
@@ -422551,7 +422566,7 @@ function relativeExecutablePath5(platform5, buildId) {
422551
422566
  case FirefoxChannel.DEVEDITION:
422552
422567
  case FirefoxChannel.ESR:
422553
422568
  case FirefoxChannel.STABLE:
422554
- switch (platform5) {
422569
+ switch (platform6) {
422555
422570
  case BrowserPlatform.MAC_ARM:
422556
422571
  case BrowserPlatform.MAC:
422557
422572
  return path27.join("Firefox.app", "Contents", "MacOS", "firefox");
@@ -422801,7 +422816,7 @@ var init_firefox = __esm({
422801
422816
  });
422802
422817
 
422803
422818
  // node_modules/@puppeteer/browsers/lib/esm/browser-data/browser-data.js
422804
- async function resolveBuildIdForBrowserTag(browser, platform5, tag2) {
422819
+ async function resolveBuildIdForBrowserTag(browser, platform6, tag2) {
422805
422820
  switch (browser) {
422806
422821
  case Browser3.FIREFOX:
422807
422822
  switch (tag2) {
@@ -422876,7 +422891,7 @@ async function resolveBuildIdForBrowserTag(browser, platform5, tag2) {
422876
422891
  case Browser3.CHROMIUM:
422877
422892
  switch (tag2) {
422878
422893
  case BrowserTag.LATEST:
422879
- return await resolveBuildId2(platform5);
422894
+ return await resolveBuildId2(platform6);
422880
422895
  case BrowserTag.NIGHTLY:
422881
422896
  case BrowserTag.CANARY:
422882
422897
  case BrowserTag.DEV:
@@ -422888,10 +422903,10 @@ async function resolveBuildIdForBrowserTag(browser, platform5, tag2) {
422888
422903
  }
422889
422904
  }
422890
422905
  }
422891
- async function resolveBuildId4(browser, platform5, tag2) {
422906
+ async function resolveBuildId4(browser, platform6, tag2) {
422892
422907
  const browserTag = tag2;
422893
422908
  if (Object.values(BrowserTag).includes(browserTag)) {
422894
- return await resolveBuildIdForBrowserTag(browser, platform5, browserTag);
422909
+ return await resolveBuildIdForBrowserTag(browser, platform6, browserTag);
422895
422910
  }
422896
422911
  switch (browser) {
422897
422912
  case Browser3.FIREFOX:
@@ -422927,7 +422942,7 @@ async function createProfile3(browser, opts) {
422927
422942
  throw new Error(`Profile creation is not support for ${browser} yet`);
422928
422943
  }
422929
422944
  }
422930
- function resolveSystemExecutablePaths2(browser, platform5, channel) {
422945
+ function resolveSystemExecutablePaths2(browser, platform6, channel) {
422931
422946
  switch (browser) {
422932
422947
  case Browser3.CHROMEDRIVER:
422933
422948
  case Browser3.CHROMEHEADLESSSHELL:
@@ -422935,7 +422950,7 @@ function resolveSystemExecutablePaths2(browser, platform5, channel) {
422935
422950
  case Browser3.CHROMIUM:
422936
422951
  throw new Error(`System browser detection is not supported for ${browser} yet.`);
422937
422952
  case Browser3.CHROME:
422938
- return resolveSystemExecutablePaths(platform5, channel);
422953
+ return resolveSystemExecutablePaths(platform6, channel);
422939
422954
  }
422940
422955
  }
422941
422956
  function getVersionComparator(browser) {
@@ -422984,9 +422999,9 @@ var init_browser_data = __esm({
422984
422999
  // node_modules/@puppeteer/browsers/lib/esm/detectPlatform.js
422985
423000
  import os9 from "node:os";
422986
423001
  function detectBrowserPlatform() {
422987
- const platform5 = os9.platform();
423002
+ const platform6 = os9.platform();
422988
423003
  const arch = os9.arch();
422989
- switch (platform5) {
423004
+ switch (platform6) {
422990
423005
  case "darwin":
422991
423006
  return arch === "arm64" ? BrowserPlatform.MAC_ARM : BrowserPlatform.MAC;
422992
423007
  case "linux":
@@ -423024,11 +423039,11 @@ function parseFolderPath(folderPath) {
423024
423039
  if (splits.length !== 2) {
423025
423040
  return;
423026
423041
  }
423027
- const [platform5, buildId] = splits;
423028
- if (!buildId || !platform5) {
423042
+ const [platform6, buildId] = splits;
423043
+ if (!buildId || !platform6) {
423029
423044
  return;
423030
423045
  }
423031
- return { platform: platform5, buildId };
423046
+ return { platform: platform6, buildId };
423032
423047
  }
423033
423048
  var import_debug, debugCache, InstalledBrowser, Cache;
423034
423049
  var init_Cache = __esm({
@@ -423046,15 +423061,15 @@ var init_Cache = __esm({
423046
423061
  /**
423047
423062
  * @internal
423048
423063
  */
423049
- constructor(cache4, browser, buildId, platform5) {
423064
+ constructor(cache4, browser, buildId, platform6) {
423050
423065
  this.#cache = cache4;
423051
423066
  this.browser = browser;
423052
423067
  this.buildId = buildId;
423053
- this.platform = platform5;
423068
+ this.platform = platform6;
423054
423069
  this.executablePath = cache4.computeExecutablePath({
423055
423070
  browser,
423056
423071
  buildId,
423057
- platform: platform5
423072
+ platform: platform6
423058
423073
  });
423059
423074
  }
423060
423075
  /**
@@ -423111,8 +423126,8 @@ var init_Cache = __esm({
423111
423126
  }
423112
423127
  return metadata.aliases[alias];
423113
423128
  }
423114
- installationDir(browser, platform5, buildId) {
423115
- return path28.join(this.browserRoot(browser), `${platform5}-${buildId}`);
423129
+ installationDir(browser, platform6, buildId) {
423130
+ return path28.join(this.browserRoot(browser), `${platform6}-${buildId}`);
423116
423131
  }
423117
423132
  clear() {
423118
423133
  fs21.rmSync(this.#rootDir, {
@@ -423122,14 +423137,14 @@ var init_Cache = __esm({
423122
423137
  retryDelay: 500
423123
423138
  });
423124
423139
  }
423125
- uninstall(browser, platform5, buildId) {
423140
+ uninstall(browser, platform6, buildId) {
423126
423141
  const metadata = this.readMetadata(browser);
423127
423142
  for (const alias of Object.keys(metadata.aliases)) {
423128
423143
  if (metadata.aliases[alias] === buildId) {
423129
423144
  delete metadata.aliases[alias];
423130
423145
  }
423131
423146
  }
423132
- fs21.rmSync(this.installationDir(browser, platform5, buildId), {
423147
+ fs21.rmSync(this.installationDir(browser, platform6, buildId), {
423133
423148
  force: true,
423134
423149
  recursive: true,
423135
423150
  maxRetries: 10,
@@ -424721,8 +424736,8 @@ var init_PuppeteerNode = __esm({
424721
424736
  */
424722
424737
  async trimCache() {
424723
424738
  var _a21, _b14;
424724
- const platform5 = detectBrowserPlatform();
424725
- if (!platform5) {
424739
+ const platform6 = detectBrowserPlatform();
424740
+ if (!platform6) {
424726
424741
  throw new Error("The current platform is not supported.");
424727
424742
  }
424728
424743
  const cacheDir = this.configuration.cacheDirectory;
@@ -424743,7 +424758,7 @@ var init_PuppeteerNode = __esm({
424743
424758
  ];
424744
424759
  for (const item of puppeteerBrowsers) {
424745
424760
  const tag2 = ((_b14 = (_a21 = this.configuration) == null ? void 0 : _a21[item.product]) == null ? void 0 : _b14.version) ?? PUPPETEER_REVISIONS[item.product];
424746
- item.currentBuildId = await resolveBuildId4(item.browser, platform5, tag2);
424761
+ item.currentBuildId = await resolveBuildId4(item.browser, platform6, tag2);
424747
424762
  }
424748
424763
  const currentBrowserBuilds = new Set(puppeteerBrowsers.map((browser) => {
424749
424764
  return `${browser.browser}_${browser.currentBuildId}`;
@@ -424760,7 +424775,7 @@ var init_PuppeteerNode = __esm({
424760
424775
  }
424761
424776
  await uninstall({
424762
424777
  browser: installedBrowser.browser,
424763
- platform: platform5,
424778
+ platform: platform6,
424764
424779
  cacheDir,
424765
424780
  buildId: installedBrowser.buildId
424766
424781
  });
@@ -430131,6 +430146,16 @@ var init_codebaseSearch = __esm({
430131
430146
  return lastResults;
430132
430147
  } catch (error) {
430133
430148
  logger.error("Codebase search failed:", error);
430149
+ if (enableAgentReview) {
430150
+ codebaseSearchEvents.emitSearchEvent({
430151
+ type: "search-complete",
430152
+ attempt: 0,
430153
+ maxAttempts: MAX_SEARCH_RETRIES,
430154
+ currentTopN: topN,
430155
+ message: `Search failed: ${error instanceof Error ? error.message : "Unknown error"}`,
430156
+ query
430157
+ });
430158
+ }
430134
430159
  throw error;
430135
430160
  }
430136
430161
  }
@@ -441984,7 +442009,8 @@ error: ${error || "(empty)"}`);
441984
442009
  } else {
441985
442010
  try {
441986
442011
  const mcpConfig = getMCPConfig();
441987
- for (const configuredServiceName of Object.keys(mcpConfig.mcpServers)) {
442012
+ const serviceNames = Object.keys(mcpConfig.mcpServers).sort((a, b) => b.length - a.length);
442013
+ for (const configuredServiceName of serviceNames) {
441988
442014
  const prefix = `${configuredServiceName}-`;
441989
442015
  if (toolName.startsWith(prefix)) {
441990
442016
  serviceName = configuredServiceName;
@@ -444343,6 +444369,58 @@ var SystemPromptConfigScreen_exports = {};
444343
444369
  __export(SystemPromptConfigScreen_exports, {
444344
444370
  default: () => SystemPromptConfigScreen
444345
444371
  });
444372
+ import { spawn as spawn8, execSync as execSync4 } from "child_process";
444373
+ import { writeFileSync as writeFileSync12, readFileSync as readFileSync19, existsSync as existsSync23, unlinkSync as unlinkSync3 } from "fs";
444374
+ import { join as join23 } from "path";
444375
+ import { platform as platform3, tmpdir as tmpdir3 } from "os";
444376
+ function checkCommandExists2(command) {
444377
+ if (platform3() === "win32") {
444378
+ try {
444379
+ execSync4(`where ${command}`, {
444380
+ stdio: "ignore",
444381
+ windowsHide: true
444382
+ });
444383
+ return true;
444384
+ } catch {
444385
+ return false;
444386
+ }
444387
+ }
444388
+ const shells = ["/bin/sh", "/bin/bash", "/bin/zsh"];
444389
+ for (const shell of shells) {
444390
+ try {
444391
+ execSync4(`command -v ${command}`, {
444392
+ stdio: "ignore",
444393
+ shell,
444394
+ env: process.env
444395
+ });
444396
+ return true;
444397
+ } catch {
444398
+ }
444399
+ }
444400
+ return false;
444401
+ }
444402
+ function getSystemEditor() {
444403
+ const envEditor = process.env["VISUAL"] || process.env["EDITOR"];
444404
+ if (envEditor && checkCommandExists2(envEditor)) {
444405
+ return envEditor;
444406
+ }
444407
+ if (platform3() === "win32") {
444408
+ const windowsEditors = ["notepad++", "notepad", "code", "vim", "nano"];
444409
+ for (const editor of windowsEditors) {
444410
+ if (checkCommandExists2(editor)) {
444411
+ return editor;
444412
+ }
444413
+ }
444414
+ return null;
444415
+ }
444416
+ const editors = ["nano", "vim", "vi"];
444417
+ for (const editor of editors) {
444418
+ if (checkCommandExists2(editor)) {
444419
+ return editor;
444420
+ }
444421
+ }
444422
+ return null;
444423
+ }
444346
444424
  function SystemPromptConfigScreen({ onBack }) {
444347
444425
  const { t } = useI18n();
444348
444426
  const { theme: theme14 } = useTheme();
@@ -444360,6 +444438,7 @@ function SystemPromptConfigScreen({ onBack }) {
444360
444438
  const [editContent, setEditContent] = (0, import_react70.useState)("");
444361
444439
  const [editingField, setEditingField] = (0, import_react70.useState)("name");
444362
444440
  const [error, setError] = (0, import_react70.useState)("");
444441
+ const [successMessage, setSuccessMessage] = (0, import_react70.useState)("");
444363
444442
  const actions = config3.prompts.length > 0 ? config3.active ? ["activate", "deactivate", "edit", "delete", "add", "back"] : ["activate", "edit", "delete", "add", "back"] : ["add", "back"];
444364
444443
  (0, import_react70.useEffect)(() => {
444365
444444
  if (!actions.includes(currentAction)) {
@@ -444413,6 +444492,59 @@ function SystemPromptConfigScreen({ onBack }) {
444413
444492
  setEditingField("name");
444414
444493
  setView("edit");
444415
444494
  };
444495
+ const handleEditWithExternalEditor = async () => {
444496
+ if (config3.prompts.length === 0 || selectedIndex >= config3.prompts.length)
444497
+ return;
444498
+ const prompt = config3.prompts[selectedIndex];
444499
+ const editor = getSystemEditor();
444500
+ if (!editor) {
444501
+ setError(t.systemPromptConfig.editorNotFound);
444502
+ return;
444503
+ }
444504
+ const tempFile = join23(tmpdir3(), `snow-prompt-${Date.now()}.txt`);
444505
+ writeFileSync12(tempFile, prompt.content || "", "utf8");
444506
+ if (process.stdin.isTTY) {
444507
+ process.stdin.pause();
444508
+ }
444509
+ const child = spawn8(editor, [tempFile], {
444510
+ stdio: "inherit"
444511
+ });
444512
+ child.on("close", () => {
444513
+ if (process.stdin.isTTY) {
444514
+ process.stdin.resume();
444515
+ process.stdin.setRawMode(true);
444516
+ }
444517
+ if (existsSync23(tempFile)) {
444518
+ try {
444519
+ const editedContent = readFileSync19(tempFile, "utf8");
444520
+ const newConfig = {
444521
+ ...config3,
444522
+ prompts: config3.prompts.map((p, i) => i === selectedIndex ? {
444523
+ ...p,
444524
+ content: editedContent
444525
+ } : p)
444526
+ };
444527
+ if (saveAndRefresh(newConfig)) {
444528
+ setSuccessMessage(t.systemPromptConfig.editorSaved);
444529
+ setTimeout(() => setSuccessMessage(""), 3e3);
444530
+ }
444531
+ unlinkSync3(tempFile);
444532
+ } catch (err) {
444533
+ setError(err instanceof Error ? err.message : t.systemPromptConfig.editorEditFailed);
444534
+ }
444535
+ }
444536
+ });
444537
+ child.on("error", (error2) => {
444538
+ if (process.stdin.isTTY) {
444539
+ process.stdin.resume();
444540
+ process.stdin.setRawMode(true);
444541
+ }
444542
+ setError(`${t.systemPromptConfig.editorOpenFailed}: ${error2.message}`);
444543
+ if (existsSync23(tempFile)) {
444544
+ unlinkSync3(tempFile);
444545
+ }
444546
+ });
444547
+ };
444416
444548
  const handleDelete = () => {
444417
444549
  setView("confirmDelete");
444418
444550
  };
@@ -444526,6 +444658,10 @@ function SystemPromptConfigScreen({ onBack }) {
444526
444658
  } else {
444527
444659
  saveEditedPrompt();
444528
444660
  }
444661
+ } else if (!isEditing && editingField === "content" && (input2 === "e" || input2 === "E")) {
444662
+ if (view === "edit") {
444663
+ handleEditWithExternalEditor();
444664
+ }
444529
444665
  }
444530
444666
  }, { isActive: view === "add" || view === "edit" });
444531
444667
  use_input_default((input2, key) => {
@@ -444689,6 +444825,21 @@ function SystemPromptConfigScreen({ onBack }) {
444689
444825
  Box_default,
444690
444826
  { marginTop: 1 },
444691
444827
  import_react70.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.systemPromptConfig.editingHint)
444828
+ ),
444829
+ view === "edit" && editingField === "content" && !isEditing && import_react70.default.createElement(
444830
+ Box_default,
444831
+ { marginTop: 1 },
444832
+ import_react70.default.createElement(Alert, { variant: "info" }, t.systemPromptConfig.externalEditorHint)
444833
+ ),
444834
+ successMessage && import_react70.default.createElement(
444835
+ Box_default,
444836
+ { marginTop: 1 },
444837
+ import_react70.default.createElement(Alert, { variant: "success" }, successMessage)
444838
+ ),
444839
+ error && import_react70.default.createElement(
444840
+ Box_default,
444841
+ { marginTop: 1 },
444842
+ import_react70.default.createElement(Alert, { variant: "error" }, error)
444692
444843
  )
444693
444844
  );
444694
444845
  }
@@ -465720,7 +465871,7 @@ var require_core6 = __commonJS({
465720
465871
  return match2 && match2.index === 0;
465721
465872
  }
465722
465873
  var BACKREF_RE = /\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;
465723
- function join30(regexps, separator = "|") {
465874
+ function join31(regexps, separator = "|") {
465724
465875
  let numCaptures = 0;
465725
465876
  return regexps.map((regex2) => {
465726
465877
  numCaptures += 1;
@@ -466024,7 +466175,7 @@ var require_core6 = __commonJS({
466024
466175
  this.exec = () => null;
466025
466176
  }
466026
466177
  const terminators = this.regexes.map((el) => el[1]);
466027
- this.matcherRe = langRe(join30(terminators), true);
466178
+ this.matcherRe = langRe(join31(terminators), true);
466028
466179
  this.lastIndex = 0;
466029
466180
  }
466030
466181
  /** @param {string} s */
@@ -535949,7 +536100,7 @@ function MessageRenderer({ message, index, isLastMessage, filteredMessages, term
535949
536100
  };
535950
536101
  let toolStatusColor = "cyan";
535951
536102
  const isInParallelGroup = message.parallelGroup !== void 0 && message.parallelGroup !== null;
535952
- const isTimeConsumingTool = message.toolPending || message.role === "assistant" && (message.content.startsWith("\u26A1") || message.content.includes("\u2687\u26A1"));
536103
+ const isTimeConsumingTool = message.toolPending || message.role === "assistant" && (message.content.startsWith("\u26A1") || message.content.startsWith("\u2687\u26A1"));
535953
536104
  const shouldShowParallelIndicator = isInParallelGroup && !isTimeConsumingTool;
535954
536105
  const isFirstInGroup = shouldShowParallelIndicator && (index === 0 || ((_a21 = filteredMessages[index - 1]) == null ? void 0 : _a21.parallelGroup) !== message.parallelGroup || // Previous message is time-consuming tool, so this is the first non-time-consuming one
535955
536106
  ((_b14 = filteredMessages[index - 1]) == null ? void 0 : _b14.toolPending) || ((_c6 = filteredMessages[index - 1]) == null ? void 0 : _c6.content.startsWith("\u26A1")));
@@ -535957,11 +536108,11 @@ function MessageRenderer({ message, index, isLastMessage, filteredMessages, term
535957
536108
  const nextHasDifferentGroup = nextMessage && nextMessage.parallelGroup !== void 0 && nextMessage.parallelGroup !== null && nextMessage.parallelGroup !== message.parallelGroup;
535958
536109
  const isLastInGroup = shouldShowParallelIndicator && (!nextMessage || nextHasDifferentGroup);
535959
536110
  if (message.role === "assistant" || message.role === "subagent") {
535960
- if (message.content.startsWith("\u26A1") || message.content.includes("\u2687\u26A1")) {
536111
+ if (message.content.startsWith("\u26A1") || message.content.startsWith("\u2687\u26A1")) {
535961
536112
  toolStatusColor = "yellowBright";
535962
- } else if (message.content.startsWith("\u2713") || message.content.includes("\u2687\u2713")) {
536113
+ } else if (message.content.startsWith("\u2713") || message.content.startsWith("\u2687\u2713")) {
535963
536114
  toolStatusColor = "green";
535964
- } else if (message.content.startsWith("\u2717") || message.content.includes("\u2687\u2717")) {
536115
+ } else if (message.content.startsWith("\u2717") || message.content.startsWith("\u2687\u2717")) {
535965
536116
  toolStatusColor = "red";
535966
536117
  } else {
535967
536118
  toolStatusColor = message.role === "subagent" ? "magenta" : "blue";
@@ -536014,7 +536165,7 @@ function MessageRenderer({ message, index, isLastMessage, filteredMessages, term
536014
536165
  }
536015
536166
  } catch {
536016
536167
  }
536017
- const hasToolStatusIcon = message.content.includes("\u2687\u26A1") || message.content.includes("\u2687\u2713") || message.content.includes("\u2687\u2717") || message.content.startsWith("\u26A1") || message.content.startsWith("\u2713") || message.content.startsWith("\u2717");
536168
+ const hasToolStatusIcon = message.content.startsWith("\u2687\u26A1") || message.content.startsWith("\u2687\u2713") || message.content.startsWith("\u2687\u2717") || message.content.startsWith("\u26A1") || message.content.startsWith("\u2713") || message.content.startsWith("\u2717");
536018
536169
  if (hasToolStatusIcon && (message.role === "assistant" || message.role === "subagent")) {
536019
536170
  return import_react78.default.createElement(Text, { color: toolStatusColor }, removeAnsiCodes(message.content || " "));
536020
536171
  }
@@ -536082,7 +536233,7 @@ function MessageRenderer({ message, index, isLastMessage, filteredMessages, term
536082
536233
  }
536083
536234
  return null;
536084
536235
  })),
536085
- (message.content.startsWith("\u2713") || message.content.includes("\u2687\u2713")) && message.toolResult && // 只在没有 diff 数据时显示预览(有 diff 的工具会用 DiffViewer 显示)
536236
+ (message.content.startsWith("\u2713") || message.content.startsWith("\u2687\u2713")) && message.toolResult && // 只在没有 diff 数据时显示预览(有 diff 的工具会用 DiffViewer 显示)
536086
536237
  !(message.toolCall && (((_d4 = message.toolCall.arguments) == null ? void 0 : _d4.oldContent) || ((_e2 = message.toolCall.arguments) == null ? void 0 : _e2.batchResults))) && import_react78.default.createElement(ToolResultPreview, { toolName: ((_f = (message.content || "").replace(/^✓\s*/, "").replace(/^⚇✓\s*/, "").replace(/.*⚇✓\s*/, "").replace(/\x1b\[[0-9;]*m/g, "").split("\n")[0]) == null ? void 0 : _f.trim()) || "", result: message.toolResult, maxLines: 5, isSubAgentInternal: message.role === "subagent" || message.subAgentInternal === true }),
536087
536238
  message.files && message.files.length > 0 && import_react78.default.createElement(Box_default, { flexDirection: "column" }, message.files.map((file, fileIndex) => import_react78.default.createElement(
536088
536239
  Text,
@@ -539204,14 +539355,14 @@ var init_useHistoryNavigation = __esm({
539204
539355
  });
539205
539356
 
539206
539357
  // dist/hooks/input/useClipboard.js
539207
- import { execSync as execSync4 } from "child_process";
539358
+ import { execSync as execSync5 } from "child_process";
539208
539359
  function useClipboard(buffer, updateCommandPanelState, updateFilePickerState, triggerUpdate) {
539209
539360
  const pasteFromClipboard = (0, import_react88.useCallback)(async () => {
539210
539361
  try {
539211
539362
  if (process.platform === "win32") {
539212
539363
  try {
539213
539364
  const psScript = "Add-Type -AssemblyName System.Windows.Forms; Add-Type -AssemblyName System.Drawing; $clipboard = [System.Windows.Forms.Clipboard]::GetImage(); if ($clipboard -ne $null) { $ms = New-Object System.IO.MemoryStream; $width = $clipboard.Width; $height = $clipboard.Height; $maxSize = 2048; if ($width -gt $maxSize -or $height -gt $maxSize) { $ratio = [Math]::Min($maxSize / $width, $maxSize / $height); $newWidth = [int]($width * $ratio); $newHeight = [int]($height * $ratio); $resized = New-Object System.Drawing.Bitmap($newWidth, $newHeight); $graphics = [System.Drawing.Graphics]::FromImage($resized); $graphics.CompositingQuality = [System.Drawing.Drawing2D.CompositingQuality]::HighQuality; $graphics.InterpolationMode = [System.Drawing.Drawing2D.InterpolationMode]::HighQualityBicubic; $graphics.SmoothingMode = [System.Drawing.Drawing2D.SmoothingMode]::HighQuality; $graphics.DrawImage($clipboard, 0, 0, $newWidth, $newHeight); $resized.Save($ms, [System.Drawing.Imaging.ImageFormat]::Png); $graphics.Dispose(); $resized.Dispose(); } else { $clipboard.Save($ms, [System.Drawing.Imaging.ImageFormat]::Png); }; $bytes = $ms.ToArray(); $ms.Close(); [Convert]::ToBase64String($bytes); }";
539214
- const base64Raw = execSync4(`powershell -NoProfile -Command "${psScript}"`, {
539365
+ const base64Raw = execSync5(`powershell -NoProfile -Command "${psScript}"`, {
539215
539366
  encoding: "utf-8",
539216
539367
  timeout: 1e4,
539217
539368
  maxBuffer: 50 * 1024 * 1024
@@ -539238,18 +539389,18 @@ function useClipboard(buffer, updateCommandPanelState, updateFilePickerState, tr
539238
539389
  on error
539239
539390
  return "noImage"
539240
539391
  end try'`;
539241
- const hasImage = execSync4(checkScript, {
539392
+ const hasImage = execSync5(checkScript, {
539242
539393
  encoding: "utf-8",
539243
539394
  timeout: 2e3
539244
539395
  }).trim();
539245
539396
  if (hasImage === "hasImage") {
539246
539397
  const tmpFile = `/tmp/snow_clipboard_${Date.now()}.png`;
539247
539398
  const saveScript = `osascript -e 'set imgData to the clipboard as \xABclass PNGf\xBB' -e 'set fileRef to open for access POSIX file "${tmpFile}" with write permission' -e 'write imgData to fileRef' -e 'close access fileRef'`;
539248
- execSync4(saveScript, {
539399
+ execSync5(saveScript, {
539249
539400
  encoding: "utf-8",
539250
539401
  timeout: 3e3
539251
539402
  });
539252
- const sizeCheck = execSync4(`sips -g pixelWidth -g pixelHeight "${tmpFile}" | grep -E "pixelWidth|pixelHeight" | awk '{print $2}'`, {
539403
+ const sizeCheck = execSync5(`sips -g pixelWidth -g pixelHeight "${tmpFile}" | grep -E "pixelWidth|pixelHeight" | awk '{print $2}'`, {
539253
539404
  encoding: "utf-8",
539254
539405
  timeout: 2e3
539255
539406
  });
@@ -539261,12 +539412,12 @@ end try'`;
539261
539412
  const ratio = Math.min(maxSize / width, maxSize / height);
539262
539413
  const newWidth = Math.floor(width * ratio);
539263
539414
  const newHeight = Math.floor(height * ratio);
539264
- execSync4(`sips -z ${newHeight} ${newWidth} "${tmpFile}" --out "${tmpFile}"`, {
539415
+ execSync5(`sips -z ${newHeight} ${newWidth} "${tmpFile}" --out "${tmpFile}"`, {
539265
539416
  encoding: "utf-8",
539266
539417
  timeout: 5e3
539267
539418
  });
539268
539419
  }
539269
- const base64Raw = execSync4(`base64 -i "${tmpFile}"`, {
539420
+ const base64Raw = execSync5(`base64 -i "${tmpFile}"`, {
539270
539421
  encoding: "utf-8",
539271
539422
  timeout: 5e3,
539272
539423
  maxBuffer: 50 * 1024 * 1024
@@ -539274,7 +539425,7 @@ end try'`;
539274
539425
  });
539275
539426
  const base64 = base64Raw.replace(/\s/g, "");
539276
539427
  try {
539277
- execSync4(`rm "${tmpFile}"`, { timeout: 1e3 });
539428
+ execSync5(`rm "${tmpFile}"`, { timeout: 1e3 });
539278
539429
  } catch (e) {
539279
539430
  }
539280
539431
  if (base64 && base64.length > 100) {
@@ -539294,17 +539445,17 @@ end try'`;
539294
539445
  try {
539295
539446
  let clipboardText = "";
539296
539447
  if (process.platform === "win32") {
539297
- clipboardText = execSync4('powershell -Command "Get-Clipboard"', {
539448
+ clipboardText = execSync5('powershell -Command "Get-Clipboard"', {
539298
539449
  encoding: "utf-8",
539299
539450
  timeout: 2e3
539300
539451
  }).trim();
539301
539452
  } else if (process.platform === "darwin") {
539302
- clipboardText = execSync4("pbpaste", {
539453
+ clipboardText = execSync5("pbpaste", {
539303
539454
  encoding: "utf-8",
539304
539455
  timeout: 2e3
539305
539456
  }).trim();
539306
539457
  } else {
539307
- clipboardText = execSync4("xclip -selection clipboard -o", {
539458
+ clipboardText = execSync5("xclip -selection clipboard -o", {
539308
539459
  encoding: "utf-8",
539309
539460
  timeout: 2e3
539310
539461
  }).trim();
@@ -540474,11 +540625,11 @@ function useBashMode() {
540474
540625
  }));
540475
540626
  return new Promise((resolve12) => {
540476
540627
  var _a21, _b14;
540477
- const { spawn: spawn10 } = __require("child_process");
540628
+ const { spawn: spawn11 } = __require("child_process");
540478
540629
  const isWindows4 = process.platform === "win32";
540479
540630
  const shell = isWindows4 ? "cmd" : "sh";
540480
540631
  const shellArgs = isWindows4 ? ["/c", command] : ["-c", command];
540481
- const child = spawn10(shell, shellArgs, {
540632
+ const child = spawn11(shell, shellArgs, {
540482
540633
  cwd: process.cwd(),
540483
540634
  timeout: timeout2,
540484
540635
  env: process.env
@@ -543992,7 +544143,7 @@ function LoadingIndicator({ isStreaming, isStopping, isSaving, hasPendingToolCon
543992
544143
  retryStatus.attempt,
543993
544144
  "/5)"
543994
544145
  )
543995
- ) : (codebaseSearchStatus == null ? void 0 : codebaseSearchStatus.isSearching) ? import_react113.default.createElement(CodebaseSearchStatus, { status: codebaseSearchStatus }) : codebaseSearchStatus && !codebaseSearchStatus.isSearching && codebaseSearchStatus.reviewResults ? import_react113.default.createElement(CodebaseSearchStatus, { status: codebaseSearchStatus }) : import_react113.default.createElement(
544146
+ ) : (codebaseSearchStatus == null ? void 0 : codebaseSearchStatus.isSearching) ? import_react113.default.createElement(CodebaseSearchStatus, { status: codebaseSearchStatus }) : codebaseSearchStatus && !codebaseSearchStatus.isSearching ? import_react113.default.createElement(CodebaseSearchStatus, { status: codebaseSearchStatus }) : import_react113.default.createElement(
543996
544147
  Text,
543997
544148
  { color: theme14.colors.menuSecondary, dimColor: true },
543998
544149
  import_react113.default.createElement(ShimmerText, { text: isReasoning ? t.chatScreen.statusDeepThinking : streamTokenCount > 0 ? t.chatScreen.statusWriting : t.chatScreen.statusThinking }),
@@ -546652,28 +546803,28 @@ var init_useSessionSave = __esm({
546652
546803
  });
546653
546804
 
546654
546805
  // dist/utils/config/permissionsConfig.js
546655
- import { join as join23 } from "path";
546656
- import { readFileSync as readFileSync19, writeFileSync as writeFileSync12, existsSync as existsSync23, mkdirSync as mkdirSync12 } from "fs";
546806
+ import { join as join24 } from "path";
546807
+ import { readFileSync as readFileSync20, writeFileSync as writeFileSync13, existsSync as existsSync24, mkdirSync as mkdirSync12 } from "fs";
546657
546808
  function getSnowDirPath2(workingDirectory) {
546658
- return join23(workingDirectory, SNOW_DIR3);
546809
+ return join24(workingDirectory, SNOW_DIR3);
546659
546810
  }
546660
546811
  function getPermissionsFilePath(workingDirectory) {
546661
- return join23(getSnowDirPath2(workingDirectory), PERMISSIONS_FILE);
546812
+ return join24(getSnowDirPath2(workingDirectory), PERMISSIONS_FILE);
546662
546813
  }
546663
546814
  function ensureConfigDirectory8(workingDirectory) {
546664
546815
  const snowDir = getSnowDirPath2(workingDirectory);
546665
- if (!existsSync23(snowDir)) {
546816
+ if (!existsSync24(snowDir)) {
546666
546817
  mkdirSync12(snowDir, { recursive: true });
546667
546818
  }
546668
546819
  }
546669
546820
  function loadPermissionsConfig(workingDirectory) {
546670
546821
  ensureConfigDirectory8(workingDirectory);
546671
546822
  const configPath = getPermissionsFilePath(workingDirectory);
546672
- if (!existsSync23(configPath)) {
546823
+ if (!existsSync24(configPath)) {
546673
546824
  return { ...DEFAULT_CONFIG5 };
546674
546825
  }
546675
546826
  try {
546676
- const configData = readFileSync19(configPath, "utf-8");
546827
+ const configData = readFileSync20(configPath, "utf-8");
546677
546828
  const config3 = JSON.parse(configData);
546678
546829
  return {
546679
546830
  alwaysApprovedTools: Array.isArray(config3.alwaysApprovedTools) ? config3.alwaysApprovedTools : []
@@ -546688,7 +546839,7 @@ function savePermissionsConfig(workingDirectory, config3) {
546688
546839
  const configPath = getPermissionsFilePath(workingDirectory);
546689
546840
  try {
546690
546841
  const configData = JSON.stringify(config3, null, 2);
546691
- writeFileSync12(configPath, configData, "utf-8");
546842
+ writeFileSync13(configPath, configData, "utf-8");
546692
546843
  } catch (error) {
546693
546844
  console.error("Failed to save permissions config:", error);
546694
546845
  throw error;
@@ -546809,41 +546960,6 @@ var init_useToolConfirmation = __esm({
546809
546960
  });
546810
546961
 
546811
546962
  // dist/utils/execution/toolExecutor.js
546812
- function fixMergedToolName(toolName) {
546813
- const knownPrefixes = getRegisteredServicePrefixes();
546814
- let foundPrefixes = [];
546815
- for (const prefix of knownPrefixes) {
546816
- let searchIndex = 0;
546817
- while (true) {
546818
- const index = toolName.indexOf(prefix, searchIndex);
546819
- if (index === -1)
546820
- break;
546821
- foundPrefixes.push({ prefix, index });
546822
- searchIndex = index + 1;
546823
- }
546824
- }
546825
- foundPrefixes.sort((a, b) => a.index - b.index);
546826
- if (foundPrefixes.length > 1) {
546827
- const firstPrefix = foundPrefixes[0];
546828
- const secondPrefix = foundPrefixes[1];
546829
- if (firstPrefix && secondPrefix && firstPrefix.index === 0) {
546830
- const firstToolName = toolName.substring(0, secondPrefix.index);
546831
- console.warn(`[Tool Name Fix] Detected merged tool names: "${toolName}"`);
546832
- console.warn(`[Tool Name Fix] Extracted first tool: "${firstToolName}"`);
546833
- console.warn(`[Tool Name Fix] Ignored second tool starting at: "${toolName.substring(secondPrefix.index)}"`);
546834
- return {
546835
- fixedName: firstToolName,
546836
- wasMerged: true,
546837
- originalName: toolName
546838
- };
546839
- }
546840
- }
546841
- return {
546842
- fixedName: toolName,
546843
- wasMerged: false,
546844
- originalName: toolName
546845
- };
546846
- }
546847
546963
  function safeParseToolArguments(argsString) {
546848
546964
  if (!argsString || argsString.trim() === "") {
546849
546965
  return {};
@@ -546937,16 +547053,6 @@ function extractMultimodalContent(result2) {
546937
547053
  };
546938
547054
  }
546939
547055
  async function executeToolCall(toolCall, abortSignal, onTokenUpdate, onSubAgentMessage, requestToolConfirmation, isToolAutoApproved, yoloMode, addToAlwaysApproved, onUserInteractionNeeded) {
546940
- const toolNameFix = fixMergedToolName(toolCall.function.name);
546941
- if (toolNameFix.wasMerged) {
546942
- toolCall = {
546943
- ...toolCall,
546944
- function: {
546945
- ...toolCall.function,
546946
- name: toolNameFix.fixedName
546947
- }
546948
- };
546949
- }
546950
547056
  let result2;
546951
547057
  let executionError = null;
546952
547058
  let escKeyListener;
@@ -547784,9 +547890,9 @@ import { promisify as promisify2 } from "util";
547784
547890
  import * as path49 from "path";
547785
547891
  import * as os21 from "os";
547786
547892
  async function showSaveDialog(defaultFilename = "export.txt", title = "Save File") {
547787
- const platform5 = os21.platform();
547893
+ const platform6 = os21.platform();
547788
547894
  try {
547789
- if (platform5 === "darwin") {
547895
+ if (platform6 === "darwin") {
547790
547896
  const defaultPath = path49.join(os21.homedir(), "Downloads", defaultFilename);
547791
547897
  const script = `
547792
547898
  set defaultPath to POSIX file "${defaultPath}"
@@ -547795,7 +547901,7 @@ async function showSaveDialog(defaultFilename = "export.txt", title = "Save File
547795
547901
  `;
547796
547902
  const { stdout } = await execAsync2(`osascript -e '${script.replace(/'/g, "'\\''")}'`);
547797
547903
  return stdout.trim();
547798
- } else if (platform5 === "win32") {
547904
+ } else if (platform6 === "win32") {
547799
547905
  const downloadsPath = path49.join(os21.homedir(), "Downloads").replace(/\\/g, "\\\\");
547800
547906
  const psScript = [
547801
547907
  "Add-Type -AssemblyName System.Windows.Forms;",
@@ -547830,8 +547936,8 @@ async function showSaveDialog(defaultFilename = "export.txt", title = "Save File
547830
547936
  }
547831
547937
  }
547832
547938
  function isFileDialogSupported() {
547833
- const platform5 = os21.platform();
547834
- return platform5 === "darwin" || platform5 === "win32" || platform5 === "linux";
547939
+ const platform6 = os21.platform();
547940
+ return platform6 === "darwin" || platform6 === "win32" || platform6 === "linux";
547835
547941
  }
547836
547942
  var execAsync2;
547837
547943
  var init_fileDialog = __esm({
@@ -548288,7 +548394,7 @@ Output: ${combinedOutput}`;
548288
548394
  options3.setMessages((prev) => [...prev, commandMessage]);
548289
548395
  options3.processMessage(result2.prompt, void 0, false, false);
548290
548396
  } else if (result2.success && result2.action === "executeTerminalCommand" && result2.prompt) {
548291
- const { spawn: spawn10 } = __require("child_process");
548397
+ const { spawn: spawn11 } = __require("child_process");
548292
548398
  options3.setIsExecutingTerminalCommand(true);
548293
548399
  const statusMessage = {
548294
548400
  role: "command",
@@ -548299,7 +548405,7 @@ Output: ${combinedOutput}`;
548299
548405
  const isWindows4 = process.platform === "win32";
548300
548406
  const shell = isWindows4 ? "cmd" : "sh";
548301
548407
  const shellArgs = isWindows4 ? ["/c", result2.prompt] : ["-c", result2.prompt];
548302
- const child = spawn10(shell, shellArgs, {
548408
+ const child = spawn11(shell, shellArgs, {
548303
548409
  timeout: 3e4
548304
548410
  });
548305
548411
  let outputBuffer = "";
@@ -549304,18 +549410,10 @@ async function handleConversationWithTools(options3) {
549304
549410
  const pendingMsg = updated[pendingMsgIndex];
549305
549411
  if (pendingMsg && pendingMsg.pendingToolIds) {
549306
549412
  const newPendingIds = pendingMsg.pendingToolIds.filter((id) => id !== msg.tool_call_id);
549307
- if (newPendingIds.length === 0) {
549308
- updated[pendingMsgIndex] = {
549309
- ...pendingMsg,
549310
- content: `${pendingMsg.content} \x1B[38;2;100;200;100m\u2713\x1B[0m`,
549311
- pendingToolIds: newPendingIds
549312
- };
549313
- } else {
549314
- updated[pendingMsgIndex] = {
549315
- ...pendingMsg,
549316
- pendingToolIds: newPendingIds
549317
- };
549318
- }
549413
+ updated[pendingMsgIndex] = {
549414
+ ...pendingMsg,
549415
+ pendingToolIds: newPendingIds
549416
+ };
549319
549417
  }
549320
549418
  return updated;
549321
549419
  }
@@ -556433,14 +556531,14 @@ var MCPConfigScreen_exports = {};
556433
556531
  __export(MCPConfigScreen_exports, {
556434
556532
  default: () => MCPConfigScreen
556435
556533
  });
556436
- import { spawn as spawn8, execSync as execSync5 } from "child_process";
556437
- import { writeFileSync as writeFileSync13, readFileSync as readFileSync20, existsSync as existsSync24 } from "fs";
556438
- import { join as join27 } from "path";
556439
- import { homedir as homedir17, platform as platform4 } from "os";
556440
- function checkCommandExists2(command) {
556441
- if (platform4() === "win32") {
556534
+ import { spawn as spawn9, execSync as execSync6 } from "child_process";
556535
+ import { writeFileSync as writeFileSync14, readFileSync as readFileSync21, existsSync as existsSync25 } from "fs";
556536
+ import { join as join28 } from "path";
556537
+ import { homedir as homedir17, platform as platform5 } from "os";
556538
+ function checkCommandExists3(command) {
556539
+ if (platform5() === "win32") {
556442
556540
  try {
556443
- execSync5(`where ${command}`, {
556541
+ execSync6(`where ${command}`, {
556444
556542
  stdio: "ignore",
556445
556543
  windowsHide: true
556446
556544
  });
@@ -556452,7 +556550,7 @@ function checkCommandExists2(command) {
556452
556550
  const shells = ["/bin/sh", "/bin/bash", "/bin/zsh"];
556453
556551
  for (const shell of shells) {
556454
556552
  try {
556455
- execSync5(`command -v ${command}`, {
556553
+ execSync6(`command -v ${command}`, {
556456
556554
  stdio: "ignore",
556457
556555
  shell,
556458
556556
  env: process.env
@@ -556463,15 +556561,15 @@ function checkCommandExists2(command) {
556463
556561
  }
556464
556562
  return false;
556465
556563
  }
556466
- function getSystemEditor() {
556564
+ function getSystemEditor2() {
556467
556565
  const envEditor = process.env["VISUAL"] || process.env["EDITOR"];
556468
- if (envEditor && checkCommandExists2(envEditor)) {
556566
+ if (envEditor && checkCommandExists3(envEditor)) {
556469
556567
  return envEditor;
556470
556568
  }
556471
- if (platform4() === "win32") {
556569
+ if (platform5() === "win32") {
556472
556570
  const windowsEditors = ["notepad++", "notepad", "code", "vim", "nano"];
556473
556571
  for (const editor of windowsEditors) {
556474
- if (checkCommandExists2(editor)) {
556572
+ if (checkCommandExists3(editor)) {
556475
556573
  return editor;
556476
556574
  }
556477
556575
  }
@@ -556479,24 +556577,23 @@ function getSystemEditor() {
556479
556577
  }
556480
556578
  const editors = ["nano", "vim", "vi"];
556481
556579
  for (const editor of editors) {
556482
- if (checkCommandExists2(editor)) {
556580
+ if (checkCommandExists3(editor)) {
556483
556581
  return editor;
556484
556582
  }
556485
556583
  }
556486
556584
  return null;
556487
556585
  }
556488
556586
  function MCPConfigScreen({ onBack }) {
556489
- const { exit } = use_app_default();
556490
556587
  (0, import_react134.useEffect)(() => {
556491
556588
  const openEditor = async () => {
556492
556589
  const config3 = getMCPConfig();
556493
- writeFileSync13(MCP_CONFIG_FILE2, JSON.stringify(config3, null, 2), "utf8");
556494
- const editor = getSystemEditor();
556590
+ writeFileSync14(MCP_CONFIG_FILE2, JSON.stringify(config3, null, 2), "utf8");
556591
+ const editor = getSystemEditor2();
556495
556592
  if (!editor) {
556496
556593
  console.error("No text editor found! Please set the EDITOR or VISUAL environment variable.");
556497
556594
  console.error("");
556498
556595
  console.error("Examples:");
556499
- if (platform4() === "win32") {
556596
+ if (platform5() === "win32") {
556500
556597
  console.error(" set EDITOR=notepad");
556501
556598
  console.error(" set EDITOR=code");
556502
556599
  console.error(" set EDITOR=notepad++");
@@ -556507,24 +556604,30 @@ function MCPConfigScreen({ onBack }) {
556507
556604
  }
556508
556605
  console.error("");
556509
556606
  console.error("Or install a text editor:");
556510
- if (platform4() === "win32") {
556607
+ if (platform5() === "win32") {
556511
556608
  console.error(" Windows: Notepad++ or VS Code");
556512
556609
  } else {
556513
556610
  console.error(" Ubuntu/Debian: sudo apt-get install nano");
556514
556611
  console.error(" CentOS/RHEL: sudo yum install nano");
556515
556612
  console.error(" macOS: nano is usually pre-installed");
556516
556613
  }
556517
- gracefulExit();
556614
+ onBack();
556518
556615
  return;
556519
556616
  }
556520
- exit();
556521
- const child = spawn8(editor, [MCP_CONFIG_FILE2], {
556617
+ if (process.stdin.isTTY) {
556618
+ process.stdin.pause();
556619
+ }
556620
+ const child = spawn9(editor, [MCP_CONFIG_FILE2], {
556522
556621
  stdio: "inherit"
556523
556622
  });
556524
556623
  child.on("close", () => {
556525
- if (existsSync24(MCP_CONFIG_FILE2)) {
556624
+ if (process.stdin.isTTY) {
556625
+ process.stdin.resume();
556626
+ process.stdin.setRawMode(true);
556627
+ }
556628
+ if (existsSync25(MCP_CONFIG_FILE2)) {
556526
556629
  try {
556527
- const editedContent = readFileSync20(MCP_CONFIG_FILE2, "utf8");
556630
+ const editedContent = readFileSync21(MCP_CONFIG_FILE2, "utf8");
556528
556631
  const parsedConfig = JSON.parse(editedContent);
556529
556632
  const validationErrors = validateMCPConfig(parsedConfig);
556530
556633
  if (validationErrors.length === 0) {
@@ -556536,27 +556639,29 @@ function MCPConfigScreen({ onBack }) {
556536
556639
  console.error("Invalid JSON format");
556537
556640
  }
556538
556641
  }
556539
- gracefulExit();
556642
+ onBack();
556540
556643
  });
556541
556644
  child.on("error", (error) => {
556645
+ if (process.stdin.isTTY) {
556646
+ process.stdin.resume();
556647
+ process.stdin.setRawMode(true);
556648
+ }
556542
556649
  console.error("Failed to open editor:", error.message);
556543
- gracefulExit();
556650
+ onBack();
556544
556651
  });
556545
556652
  };
556546
556653
  openEditor();
556547
- }, [exit, onBack]);
556654
+ }, [onBack]);
556548
556655
  return null;
556549
556656
  }
556550
556657
  var import_react134, CONFIG_DIR9, MCP_CONFIG_FILE2;
556551
556658
  var init_MCPConfigScreen = __esm({
556552
- async "dist/ui/pages/MCPConfigScreen.js"() {
556659
+ "dist/ui/pages/MCPConfigScreen.js"() {
556553
556660
  "use strict";
556554
556661
  import_react134 = __toESM(require_react(), 1);
556555
- await init_build2();
556556
556662
  init_apiConfig();
556557
- init_processManager();
556558
- CONFIG_DIR9 = join27(homedir17(), ".snow");
556559
- MCP_CONFIG_FILE2 = join27(CONFIG_DIR9, "mcp-config.json");
556663
+ CONFIG_DIR9 = join28(homedir17(), ".snow");
556664
+ MCP_CONFIG_FILE2 = join28(CONFIG_DIR9, "mcp-config.json");
556560
556665
  }
556561
556666
  });
556562
556667
 
@@ -556762,7 +556867,7 @@ var init_app = __esm({
556762
556867
  ChatScreen2 = import_react135.default.lazy(() => init_ChatScreen().then(() => ChatScreen_exports));
556763
556868
  HeadlessModeScreen2 = import_react135.default.lazy(() => init_HeadlessModeScreen().then(() => HeadlessModeScreen_exports));
556764
556869
  TaskManagerScreen2 = import_react135.default.lazy(() => init_TaskManagerScreen().then(() => TaskManagerScreen_exports));
556765
- MCPConfigScreen2 = import_react135.default.lazy(() => init_MCPConfigScreen().then(() => MCPConfigScreen_exports));
556870
+ MCPConfigScreen2 = import_react135.default.lazy(() => Promise.resolve().then(() => (init_MCPConfigScreen(), MCPConfigScreen_exports)));
556766
556871
  SystemPromptConfigScreen3 = import_react135.default.lazy(() => init_SystemPromptConfigScreen().then(() => SystemPromptConfigScreen_exports));
556767
556872
  CustomHeadersScreen3 = import_react135.default.lazy(() => init_CustomHeadersScreen().then(() => CustomHeadersScreen_exports));
556768
556873
  }
@@ -556774,18 +556879,18 @@ __export(taskExecutor_exports, {
556774
556879
  executeTask: () => executeTask,
556775
556880
  executeTaskInBackground: () => executeTaskInBackground
556776
556881
  });
556777
- import { spawn as spawn9 } from "child_process";
556778
- import { writeFileSync as writeFileSync14, appendFileSync, existsSync as existsSync25, mkdirSync as mkdirSync13 } from "fs";
556779
- import { join as join28 } from "path";
556882
+ import { spawn as spawn10 } from "child_process";
556883
+ import { writeFileSync as writeFileSync15, appendFileSync, existsSync as existsSync26, mkdirSync as mkdirSync13 } from "fs";
556884
+ import { join as join29 } from "path";
556780
556885
  import { homedir as homedir18 } from "os";
556781
556886
  function ensureLogDir() {
556782
- if (!existsSync25(TASK_LOG_DIR)) {
556887
+ if (!existsSync26(TASK_LOG_DIR)) {
556783
556888
  mkdirSync13(TASK_LOG_DIR, { recursive: true });
556784
556889
  }
556785
556890
  }
556786
556891
  function getLogPath(taskId) {
556787
556892
  ensureLogDir();
556788
- return join28(TASK_LOG_DIR, `${taskId}.log`);
556893
+ return join29(TASK_LOG_DIR, `${taskId}.log`);
556789
556894
  }
556790
556895
  function writeLog(taskId, message) {
556791
556896
  try {
@@ -556800,12 +556905,12 @@ async function executeTaskInBackground(taskId, prompt) {
556800
556905
  const cliPath = process.argv[1] || "";
556801
556906
  const logPath = getLogPath(taskId);
556802
556907
  ensureLogDir();
556803
- writeFileSync14(logPath, `Task ${taskId} execution log
556908
+ writeFileSync15(logPath, `Task ${taskId} execution log
556804
556909
  `, "utf-8");
556805
556910
  writeLog(taskId, `Starting background task with prompt: ${prompt.slice(0, 100)}...`);
556806
556911
  writeLog(taskId, `CLI path: ${cliPath}`);
556807
556912
  writeLog(taskId, `Node: ${process.execPath}`);
556808
- const child = spawn9(process.execPath, [cliPath, "--task-execute", taskId, "--", prompt], {
556913
+ const child = spawn10(process.execPath, [cliPath, "--task-execute", taskId, "--", prompt], {
556809
556914
  detached: true,
556810
556915
  stdio: ["ignore", "pipe", "pipe"],
556811
556916
  env: {
@@ -557064,7 +557169,7 @@ var init_taskExecutor = __esm({
557064
557169
  "dist/utils/task/taskExecutor.js"() {
557065
557170
  "use strict";
557066
557171
  init_taskManager();
557067
- TASK_LOG_DIR = join28(homedir18(), ".snow", "task-logs");
557172
+ TASK_LOG_DIR = join29(homedir18(), ".snow", "task-logs");
557068
557173
  }
557069
557174
  });
557070
557175
 
@@ -557852,9 +557957,9 @@ ${help}
557852
557957
  var meow_default = meow;
557853
557958
 
557854
557959
  // dist/cli.js
557855
- import { execSync as execSync6 } from "child_process";
557856
- import { readFileSync as readFileSync21 } from "fs";
557857
- import { join as join29 } from "path";
557960
+ import { execSync as execSync7 } from "child_process";
557961
+ import { readFileSync as readFileSync22 } from "fs";
557962
+ import { join as join30 } from "path";
557858
557963
  import { fileURLToPath as fileURLToPath6 } from "url";
557859
557964
  process.env["FORCE_COLOR"] = "3";
557860
557965
  var MIN_NODE_VERSION = 16;
@@ -557890,7 +557995,7 @@ if (!isQuickCommand) {
557890
557995
  process.stdout.write("\u280B Loading...\r");
557891
557996
  }
557892
557997
  var __dirname2 = fileURLToPath6(new URL(".", import.meta.url));
557893
- var packageJson = JSON.parse(readFileSync21(join29(__dirname2, "../package.json"), "utf-8"));
557998
+ var packageJson = JSON.parse(readFileSync22(join30(__dirname2, "../package.json"), "utf-8"));
557894
557999
  var VERSION2 = packageJson.version;
557895
558000
  async function loadDependencies() {
557896
558001
  await Promise.resolve().then(() => (init_utils(), utils_exports));
@@ -557999,7 +558104,7 @@ Options
557999
558104
  if (cli.flags.update) {
558000
558105
  console.log("\u{1F504} Updating snow-ai to latest version...");
558001
558106
  try {
558002
- execSync6("npm install -g snow-ai@latest", { stdio: "inherit" });
558107
+ execSync7("npm install -g snow-ai@latest", { stdio: "inherit" });
558003
558108
  console.log("\u2705 Update completed successfully!");
558004
558109
  process.exit(0);
558005
558110
  } catch (error) {