wxt 0.18.6 → 0.18.8

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.
@@ -2,7 +2,7 @@ import {
2
2
  __commonJS,
3
3
  __require,
4
4
  __toESM
5
- } from "./chunk-VBXJIVYU.js";
5
+ } from "./chunk-QGM4M3NI.js";
6
6
 
7
7
  // ../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js
8
8
  var require_windows = __commonJS({
@@ -514,7 +514,7 @@ function isPlainObject(value) {
514
514
  return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);
515
515
  }
516
516
 
517
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/arguments/file-url.js
517
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/arguments/file-url.js
518
518
  import { fileURLToPath } from "node:url";
519
519
  var safeNormalizeFileUrl = (file, name) => {
520
520
  const fileString = normalizeFileUrl(file);
@@ -525,7 +525,7 @@ var safeNormalizeFileUrl = (file, name) => {
525
525
  };
526
526
  var normalizeFileUrl = (file) => file instanceof URL ? fileURLToPath(file) : file;
527
527
 
528
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/methods/parameters.js
528
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/methods/parameters.js
529
529
  var normalizeParameters = (rawFile, rawArguments = [], rawOptions = {}) => {
530
530
  const filePath = safeNormalizeFileUrl(rawFile, "First argument");
531
531
  const [commandArguments, options] = isPlainObject(rawArguments) ? [[], rawArguments] : [rawArguments, rawOptions];
@@ -546,10 +546,10 @@ var normalizeParameters = (rawFile, rawArguments = [], rawOptions = {}) => {
546
546
  return [filePath, normalizedArguments, options];
547
547
  };
548
548
 
549
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/methods/template.js
549
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/methods/template.js
550
550
  import { ChildProcess } from "node:child_process";
551
551
 
552
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/utils/uint-array.js
552
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/utils/uint-array.js
553
553
  import { StringDecoder } from "node:string_decoder";
554
554
  var { toString: objectToString } = Object.prototype;
555
555
  var isArrayBuffer = (value) => objectToString.call(value) === "[object ArrayBuffer]";
@@ -596,7 +596,7 @@ var getJoinLength = (uint8Arrays) => {
596
596
  return joinLength;
597
597
  };
598
598
 
599
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/methods/template.js
599
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/methods/template.js
600
600
  var isTemplateString = (templates) => Array.isArray(templates) && Array.isArray(templates.raw);
601
601
  var parseTemplates = (templates, expressions) => {
602
602
  let tokens = [];
@@ -693,7 +693,7 @@ var getSubprocessResult = ({ stdout }) => {
693
693
  throw new TypeError(`Unexpected "${typeof stdout}" stdout in template expression`);
694
694
  };
695
695
 
696
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/methods/main-sync.js
696
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/methods/main-sync.js
697
697
  import { spawnSync } from "node:child_process";
698
698
 
699
699
  // ../../node_modules/.pnpm/yoctocolors@2.0.2/node_modules/yoctocolors/index.js
@@ -764,7 +764,7 @@ var bgMagentaBright = format(105, 49);
764
764
  var bgCyanBright = format(106, 49);
765
765
  var bgWhiteBright = format(107, 49);
766
766
 
767
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/verbose/info.js
767
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/verbose/info.js
768
768
  import { debuglog } from "node:util";
769
769
  var verboseDefault = debuglog("execa").enabled ? "full" : "none";
770
770
  var getVerboseInfo = (verbose) => {
@@ -790,8 +790,9 @@ var validateVerbose = (verbose) => {
790
790
  };
791
791
  var VERBOSE_VALUES = /* @__PURE__ */ new Set(["none", "short", "full"]);
792
792
 
793
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/verbose/log.js
793
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/verbose/log.js
794
794
  import { writeFileSync } from "node:fs";
795
+ import { inspect } from "node:util";
795
796
 
796
797
  // ../../node_modules/.pnpm/is-unicode-supported@2.0.0/node_modules/is-unicode-supported/index.js
797
798
  import process2 from "node:process";
@@ -1078,7 +1079,45 @@ var figures = shouldUseMain ? mainSymbols : fallbackSymbols;
1078
1079
  var figures_default = figures;
1079
1080
  var replacements = Object.entries(specialMainSymbols);
1080
1081
 
1081
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/verbose/log.js
1082
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/arguments/escape.js
1083
+ import { platform } from "node:process";
1084
+ import { stripVTControlCharacters } from "node:util";
1085
+ var joinCommand = (filePath, rawArguments) => {
1086
+ const fileAndArguments = [filePath, ...rawArguments];
1087
+ const command = fileAndArguments.join(" ");
1088
+ const escapedCommand = fileAndArguments.map((fileAndArgument) => quoteString(escapeControlCharacters(fileAndArgument))).join(" ");
1089
+ return { command, escapedCommand };
1090
+ };
1091
+ var escapeLines = (lines) => stripVTControlCharacters(lines).split("\n").map((line) => escapeControlCharacters(line)).join("\n");
1092
+ var escapeControlCharacters = (line) => line.replaceAll(SPECIAL_CHAR_REGEXP, (character) => escapeControlCharacter(character));
1093
+ var escapeControlCharacter = (character) => {
1094
+ const commonEscape = COMMON_ESCAPES[character];
1095
+ if (commonEscape !== void 0) {
1096
+ return commonEscape;
1097
+ }
1098
+ const codepoint = character.codePointAt(0);
1099
+ const codepointHex = codepoint.toString(16);
1100
+ return codepoint <= ASTRAL_START ? `\\u${codepointHex.padStart(4, "0")}` : `\\U${codepointHex}`;
1101
+ };
1102
+ var SPECIAL_CHAR_REGEXP = /\p{Separator}|\p{Other}/gu;
1103
+ var COMMON_ESCAPES = {
1104
+ " ": " ",
1105
+ "\b": "\\b",
1106
+ "\f": "\\f",
1107
+ "\n": "\\n",
1108
+ "\r": "\\r",
1109
+ " ": "\\t"
1110
+ };
1111
+ var ASTRAL_START = 65535;
1112
+ var quoteString = (escapedArgument) => {
1113
+ if (NO_ESCAPE_REGEXP.test(escapedArgument)) {
1114
+ return escapedArgument;
1115
+ }
1116
+ return platform === "win32" ? `"${escapedArgument.replaceAll('"', '""')}"` : `'${escapedArgument.replaceAll("'", "'\\''")}'`;
1117
+ };
1118
+ var NO_ESCAPE_REGEXP = /^[\w./-]+$/;
1119
+
1120
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/verbose/log.js
1082
1121
  var verboseLog = (string, verboseId, icon, color) => {
1083
1122
  const prefixedLines = addPrefix(string, verboseId, icon, color);
1084
1123
  writeFileSync(STDERR_FD, `${prefixedLines}
@@ -1102,12 +1141,19 @@ var ICONS = {
1102
1141
  command: "$",
1103
1142
  pipedCommand: "|",
1104
1143
  output: " ",
1144
+ ipc: "*",
1105
1145
  error: figures_default.cross,
1106
1146
  warning: figures_default.warning,
1107
1147
  success: figures_default.tick
1108
1148
  };
1149
+ var serializeLogMessage = (message) => {
1150
+ const messageString = typeof message === "string" ? message : inspect(message);
1151
+ const escapedMessage = escapeLines(messageString);
1152
+ return escapedMessage.replaceAll(" ", " ".repeat(TAB_SIZE));
1153
+ };
1154
+ var TAB_SIZE = 2;
1109
1155
 
1110
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/verbose/start.js
1156
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/verbose/start.js
1111
1157
  var logCommand = (escapedCommand, { verbose, verboseId }, { piped = false }) => {
1112
1158
  if (!isVerbose(verbose)) {
1113
1159
  return;
@@ -1116,57 +1162,19 @@ var logCommand = (escapedCommand, { verbose, verboseId }, { piped = false }) =>
1116
1162
  verboseLog(escapedCommand, verboseId, icon, bold);
1117
1163
  };
1118
1164
 
1119
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/return/duration.js
1165
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/return/duration.js
1120
1166
  import { hrtime } from "node:process";
1121
1167
  var getStartTime = () => hrtime.bigint();
1122
1168
  var getDurationMs = (startTime) => Number(hrtime.bigint() - startTime) / 1e6;
1123
1169
 
1124
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/arguments/escape.js
1125
- import { platform } from "node:process";
1126
- import { stripVTControlCharacters } from "node:util";
1127
- var joinCommand = (filePath, rawArguments) => {
1128
- const fileAndArguments = [filePath, ...rawArguments];
1129
- const command = fileAndArguments.join(" ");
1130
- const escapedCommand = fileAndArguments.map((fileAndArgument) => quoteString(escapeControlCharacters(fileAndArgument))).join(" ");
1131
- return { command, escapedCommand };
1132
- };
1133
- var escapeLines = (lines) => stripVTControlCharacters(lines).split("\n").map((line) => escapeControlCharacters(line)).join("\n");
1134
- var escapeControlCharacters = (line) => line.replaceAll(SPECIAL_CHAR_REGEXP, (character) => escapeControlCharacter(character));
1135
- var escapeControlCharacter = (character) => {
1136
- const commonEscape = COMMON_ESCAPES[character];
1137
- if (commonEscape !== void 0) {
1138
- return commonEscape;
1139
- }
1140
- const codepoint = character.codePointAt(0);
1141
- const codepointHex = codepoint.toString(16);
1142
- return codepoint <= ASTRAL_START ? `\\u${codepointHex.padStart(4, "0")}` : `\\U${codepointHex}`;
1143
- };
1144
- var SPECIAL_CHAR_REGEXP = /\p{Separator}|\p{Other}/gu;
1145
- var COMMON_ESCAPES = {
1146
- " ": " ",
1147
- "\b": "\\b",
1148
- "\f": "\\f",
1149
- "\n": "\\n",
1150
- "\r": "\\r",
1151
- " ": "\\t"
1152
- };
1153
- var ASTRAL_START = 65535;
1154
- var quoteString = (escapedArgument) => {
1155
- if (NO_ESCAPE_REGEXP.test(escapedArgument)) {
1156
- return escapedArgument;
1157
- }
1158
- return platform === "win32" ? `"${escapedArgument.replaceAll('"', '""')}"` : `'${escapedArgument.replaceAll("'", "'\\''")}'`;
1159
- };
1160
- var NO_ESCAPE_REGEXP = /^[\w./-]+$/;
1161
-
1162
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/utils/standard-stream.js
1170
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/utils/standard-stream.js
1163
1171
  import process3 from "node:process";
1164
1172
  var isStandardStream = (stream) => STANDARD_STREAMS.includes(stream);
1165
1173
  var STANDARD_STREAMS = [process3.stdin, process3.stdout, process3.stderr];
1166
1174
  var STANDARD_STREAMS_ALIASES = ["stdin", "stdout", "stderr"];
1167
1175
  var getStreamName = (fdNumber) => STANDARD_STREAMS_ALIASES[fdNumber] ?? `stdio[${fdNumber}]`;
1168
1176
 
1169
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/arguments/specific.js
1177
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/arguments/specific.js
1170
1178
  var normalizeFdSpecificOptions = (options) => {
1171
1179
  const optionsCopy = { ...options };
1172
1180
  for (const optionName of FD_SPECIFIC_OPTIONS) {
@@ -1175,7 +1183,7 @@ var normalizeFdSpecificOptions = (options) => {
1175
1183
  return optionsCopy;
1176
1184
  };
1177
1185
  var normalizeFdSpecificOption = (options, optionName) => {
1178
- const optionBaseArray = Array.from({ length: getStdioLength(options) });
1186
+ const optionBaseArray = Array.from({ length: getStdioLength(options) + 1 });
1179
1187
  const optionArray = normalizeFdSpecificValue(options[optionName], optionBaseArray, optionName);
1180
1188
  return addDefaultValue(optionArray, optionName);
1181
1189
  };
@@ -1197,10 +1205,13 @@ var getFdNameOrder = (fdName) => {
1197
1205
  return fdName === "all" ? 2 : 1;
1198
1206
  };
1199
1207
  var parseFdName = (fdName, optionName, optionArray) => {
1208
+ if (fdName === "ipc") {
1209
+ return [optionArray.length - 1];
1210
+ }
1200
1211
  const fdNumber = parseFd(fdName);
1201
1212
  if (fdNumber === void 0 || fdNumber === 0) {
1202
1213
  throw new TypeError(`"${optionName}.${fdName}" is invalid.
1203
- It must be "${optionName}.stdout", "${optionName}.stderr", "${optionName}.all", or "${optionName}.fd3", "${optionName}.fd4" (and so on).`);
1214
+ It must be "${optionName}.stdout", "${optionName}.stderr", "${optionName}.all", "${optionName}.ipc", or "${optionName}.fd3", "${optionName}.fd4" (and so on).`);
1204
1215
  }
1205
1216
  if (fdNumber >= optionArray.length) {
1206
1217
  throw new TypeError(`"${optionName}.${fdName}" is invalid: that file descriptor does not exist.
@@ -1231,7 +1242,7 @@ var DEFAULT_OPTIONS = {
1231
1242
  };
1232
1243
  var FD_SPECIFIC_OPTIONS = ["lines", "buffer", "maxBuffer", "verbose", "stripFinalNewline"];
1233
1244
 
1234
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/arguments/command.js
1245
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/arguments/command.js
1235
1246
  var handleCommand = (filePath, rawArguments, rawOptions) => {
1236
1247
  const startTime = getStartTime();
1237
1248
  const { command, escapedCommand } = joinCommand(filePath, rawArguments);
@@ -1245,7 +1256,7 @@ var handleCommand = (filePath, rawArguments, rawOptions) => {
1245
1256
  };
1246
1257
  };
1247
1258
 
1248
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/arguments/options.js
1259
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/arguments/options.js
1249
1260
  var import_cross_spawn = __toESM(require_cross_spawn(), 1);
1250
1261
  import { basename as basename2 } from "node:path";
1251
1262
  import process6 from "node:process";
@@ -1306,10 +1317,10 @@ var npmRunPathEnv = ({ env = process4.env, ...options } = {}) => {
1306
1317
  return env;
1307
1318
  };
1308
1319
 
1309
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/terminate/kill.js
1320
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/terminate/kill.js
1310
1321
  import { setTimeout } from "node:timers/promises";
1311
1322
 
1312
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/return/final-error.js
1323
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/return/final-error.js
1313
1324
  var getFinalError = (originalError, message, isSync) => {
1314
1325
  const ErrorClass = isSync ? ExecaSyncError : ExecaError;
1315
1326
  const options = originalError instanceof DiscardedError ? {} : { cause: originalError };
@@ -1341,323 +1352,29 @@ var ExecaSyncError = class extends Error {
1341
1352
  };
1342
1353
  setErrorName(ExecaSyncError, ExecaSyncError.name);
1343
1354
 
1344
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/terminate/signal.js
1345
- import { constants } from "node:os";
1346
- var normalizeKillSignal = (killSignal) => {
1347
- const optionName = "option `killSignal`";
1348
- if (killSignal === 0) {
1349
- throw new TypeError(`Invalid ${optionName}: 0 cannot be used.`);
1350
- }
1351
- return normalizeSignal(killSignal, optionName);
1352
- };
1353
- var normalizeSignalArgument = (signal) => signal === 0 ? signal : normalizeSignal(signal, "`subprocess.kill()`'s argument");
1354
- var normalizeSignal = (signalNameOrInteger, optionName) => {
1355
- if (Number.isInteger(signalNameOrInteger)) {
1356
- return normalizeSignalInteger(signalNameOrInteger, optionName);
1357
- }
1358
- if (typeof signalNameOrInteger === "string") {
1359
- return normalizeSignalName(signalNameOrInteger, optionName);
1360
- }
1361
- throw new TypeError(`Invalid ${optionName} ${String(signalNameOrInteger)}: it must be a string or an integer.
1362
- ${getAvailableSignals()}`);
1363
- };
1364
- var normalizeSignalInteger = (signalInteger, optionName) => {
1365
- if (signalsIntegerToName.has(signalInteger)) {
1366
- return signalsIntegerToName.get(signalInteger);
1367
- }
1368
- throw new TypeError(`Invalid ${optionName} ${signalInteger}: this signal integer does not exist.
1369
- ${getAvailableSignals()}`);
1370
- };
1371
- var getSignalsIntegerToName = () => new Map(Object.entries(constants.signals).reverse().map(([signalName, signalInteger]) => [signalInteger, signalName]));
1372
- var signalsIntegerToName = getSignalsIntegerToName();
1373
- var normalizeSignalName = (signalName, optionName) => {
1374
- if (signalName in constants.signals) {
1375
- return signalName;
1376
- }
1377
- if (signalName.toUpperCase() in constants.signals) {
1378
- throw new TypeError(`Invalid ${optionName} '${signalName}': please rename it to '${signalName.toUpperCase()}'.`);
1379
- }
1380
- throw new TypeError(`Invalid ${optionName} '${signalName}': this signal name does not exist.
1381
- ${getAvailableSignals()}`);
1382
- };
1383
- var getAvailableSignals = () => `Available signal names: ${getAvailableSignalNames()}.
1384
- Available signal numbers: ${getAvailableSignalIntegers()}.`;
1385
- var getAvailableSignalNames = () => Object.keys(constants.signals).sort().map((signalName) => `'${signalName}'`).join(", ");
1386
- var getAvailableSignalIntegers = () => [...new Set(Object.values(constants.signals).sort((signalInteger, signalIntegerTwo) => signalInteger - signalIntegerTwo))].join(", ");
1355
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/terminate/signal.js
1356
+ import { constants as constants3 } from "node:os";
1387
1357
 
1388
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/terminate/kill.js
1389
- var normalizeForceKillAfterDelay = (forceKillAfterDelay) => {
1390
- if (forceKillAfterDelay === false) {
1391
- return forceKillAfterDelay;
1392
- }
1393
- if (forceKillAfterDelay === true) {
1394
- return DEFAULT_FORCE_KILL_TIMEOUT;
1395
- }
1396
- if (!Number.isFinite(forceKillAfterDelay) || forceKillAfterDelay < 0) {
1397
- throw new TypeError(`Expected the \`forceKillAfterDelay\` option to be a non-negative integer, got \`${forceKillAfterDelay}\` (${typeof forceKillAfterDelay})`);
1398
- }
1399
- return forceKillAfterDelay;
1400
- };
1401
- var DEFAULT_FORCE_KILL_TIMEOUT = 1e3 * 5;
1402
- var subprocessKill = ({ kill, options: { forceKillAfterDelay, killSignal }, onInternalError, controller }, signalOrError, errorArgument) => {
1403
- const { signal, error } = parseKillArguments(signalOrError, errorArgument, killSignal);
1404
- emitKillError(error, onInternalError);
1405
- const killResult = kill(signal);
1406
- setKillTimeout({
1407
- kill,
1408
- signal,
1409
- forceKillAfterDelay,
1410
- killSignal,
1411
- killResult,
1412
- controller
1413
- });
1414
- return killResult;
1415
- };
1416
- var parseKillArguments = (signalOrError, errorArgument, killSignal) => {
1417
- const [signal = killSignal, error] = isErrorInstance(signalOrError) ? [void 0, signalOrError] : [signalOrError, errorArgument];
1418
- if (typeof signal !== "string" && !Number.isInteger(signal)) {
1419
- throw new TypeError(`The first argument must be an error instance or a signal name string/integer: ${String(signal)}`);
1420
- }
1421
- if (error !== void 0 && !isErrorInstance(error)) {
1422
- throw new TypeError(`The second argument is optional. If specified, it must be an error instance: ${error}`);
1423
- }
1424
- return { signal: normalizeSignalArgument(signal), error };
1425
- };
1426
- var emitKillError = (error, onInternalError) => {
1427
- if (error !== void 0) {
1428
- onInternalError.reject(error);
1429
- }
1430
- };
1431
- var setKillTimeout = async ({ kill, signal, forceKillAfterDelay, killSignal, killResult, controller }) => {
1432
- if (!shouldForceKill(signal, forceKillAfterDelay, killSignal, killResult)) {
1433
- return;
1434
- }
1435
- try {
1436
- await setTimeout(forceKillAfterDelay, void 0, { signal: controller.signal });
1437
- kill("SIGKILL");
1438
- } catch {
1439
- }
1440
- };
1441
- var shouldForceKill = (signal, forceKillAfterDelay, killSignal, killResult) => signal === killSignal && forceKillAfterDelay !== false && killResult;
1358
+ // ../../node_modules/.pnpm/human-signals@7.0.0/node_modules/human-signals/build/src/main.js
1359
+ import { constants as constants2 } from "node:os";
1442
1360
 
1443
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/terminate/timeout.js
1444
- import { setTimeout as setTimeout2 } from "node:timers/promises";
1445
- var validateTimeout = ({ timeout }) => {
1446
- if (timeout !== void 0 && (!Number.isFinite(timeout) || timeout < 0)) {
1447
- throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${timeout}\` (${typeof timeout})`);
1448
- }
1449
- };
1450
- var throwOnTimeout = (subprocess, timeout, context, controller) => timeout === 0 || timeout === void 0 ? [] : [killAfterTimeout(subprocess, timeout, context, controller)];
1451
- var killAfterTimeout = async (subprocess, timeout, context, { signal }) => {
1452
- await setTimeout2(timeout, void 0, { signal });
1453
- context.timedOut = true;
1454
- subprocess.kill();
1455
- throw new DiscardedError();
1361
+ // ../../node_modules/.pnpm/human-signals@7.0.0/node_modules/human-signals/build/src/realtime.js
1362
+ var getRealtimeSignals = () => {
1363
+ const length = SIGRTMAX - SIGRTMIN + 1;
1364
+ return Array.from({ length }, getRealtimeSignal);
1456
1365
  };
1366
+ var getRealtimeSignal = (value, index) => ({
1367
+ name: `SIGRT${index + 1}`,
1368
+ number: SIGRTMIN + index,
1369
+ action: "terminate",
1370
+ description: "Application-specific signal (realtime)",
1371
+ standard: "posix"
1372
+ });
1373
+ var SIGRTMIN = 34;
1374
+ var SIGRTMAX = 64;
1457
1375
 
1458
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/methods/node.js
1459
- import { execPath, execArgv } from "node:process";
1460
- import { basename, resolve } from "node:path";
1461
- var mapNode = ({ options }) => {
1462
- if (options.node === false) {
1463
- throw new TypeError('The "node" option cannot be false with `execaNode()`.');
1464
- }
1465
- return { options: { ...options, node: true } };
1466
- };
1467
- var handleNodeOption = (file, commandArguments, {
1468
- node: shouldHandleNode = false,
1469
- nodePath = execPath,
1470
- nodeOptions = execArgv.filter((nodeOption) => !nodeOption.startsWith("--inspect")),
1471
- cwd,
1472
- execPath: formerNodePath,
1473
- ...options
1474
- }) => {
1475
- if (formerNodePath !== void 0) {
1476
- throw new TypeError('The "execPath" option has been removed. Please use the "nodePath" option instead.');
1477
- }
1478
- const normalizedNodePath = safeNormalizeFileUrl(nodePath, 'The "nodePath" option');
1479
- const resolvedNodePath = resolve(cwd, normalizedNodePath);
1480
- const newOptions = {
1481
- ...options,
1482
- nodePath: resolvedNodePath,
1483
- node: shouldHandleNode,
1484
- cwd
1485
- };
1486
- if (!shouldHandleNode) {
1487
- return [file, commandArguments, newOptions];
1488
- }
1489
- if (basename(file, ".exe") === "node") {
1490
- throw new TypeError('When the "node" option is true, the first argument does not need to be "node".');
1491
- }
1492
- return [
1493
- resolvedNodePath,
1494
- [...nodeOptions, file, ...commandArguments],
1495
- { ipc: true, ...newOptions, shell: false }
1496
- ];
1497
- };
1498
-
1499
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/arguments/encoding-option.js
1500
- var validateEncoding = ({ encoding }) => {
1501
- if (ENCODINGS.has(encoding)) {
1502
- return;
1503
- }
1504
- const correctEncoding = getCorrectEncoding(encoding);
1505
- if (correctEncoding !== void 0) {
1506
- throw new TypeError(`Invalid option \`encoding: ${serializeEncoding(encoding)}\`.
1507
- Please rename it to ${serializeEncoding(correctEncoding)}.`);
1508
- }
1509
- const correctEncodings = [...ENCODINGS].map((correctEncoding2) => serializeEncoding(correctEncoding2)).join(", ");
1510
- throw new TypeError(`Invalid option \`encoding: ${serializeEncoding(encoding)}\`.
1511
- Please rename it to one of: ${correctEncodings}.`);
1512
- };
1513
- var TEXT_ENCODINGS = /* @__PURE__ */ new Set(["utf8", "utf16le"]);
1514
- var BINARY_ENCODINGS = /* @__PURE__ */ new Set(["buffer", "hex", "base64", "base64url", "latin1", "ascii"]);
1515
- var ENCODINGS = /* @__PURE__ */ new Set([...TEXT_ENCODINGS, ...BINARY_ENCODINGS]);
1516
- var getCorrectEncoding = (encoding) => {
1517
- if (encoding === null) {
1518
- return "buffer";
1519
- }
1520
- if (typeof encoding !== "string") {
1521
- return;
1522
- }
1523
- const lowerEncoding = encoding.toLowerCase();
1524
- if (lowerEncoding in ENCODING_ALIASES) {
1525
- return ENCODING_ALIASES[lowerEncoding];
1526
- }
1527
- if (ENCODINGS.has(lowerEncoding)) {
1528
- return lowerEncoding;
1529
- }
1530
- };
1531
- var ENCODING_ALIASES = {
1532
- // eslint-disable-next-line unicorn/text-encoding-identifier-case
1533
- "utf-8": "utf8",
1534
- "utf-16le": "utf16le",
1535
- "ucs-2": "utf16le",
1536
- ucs2: "utf16le",
1537
- binary: "latin1"
1538
- };
1539
- var serializeEncoding = (encoding) => typeof encoding === "string" ? `"${encoding}"` : String(encoding);
1540
-
1541
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/arguments/cwd.js
1542
- import { statSync } from "node:fs";
1543
- import { resolve as resolve2 } from "node:path";
1544
- import process5 from "node:process";
1545
- var normalizeCwd = (cwd = getDefaultCwd()) => {
1546
- const cwdString = safeNormalizeFileUrl(cwd, 'The "cwd" option');
1547
- return resolve2(cwdString);
1548
- };
1549
- var getDefaultCwd = () => {
1550
- try {
1551
- return process5.cwd();
1552
- } catch (error) {
1553
- error.message = `The current directory does not exist.
1554
- ${error.message}`;
1555
- throw error;
1556
- }
1557
- };
1558
- var fixCwdError = (originalMessage, cwd) => {
1559
- if (cwd === getDefaultCwd()) {
1560
- return originalMessage;
1561
- }
1562
- let cwdStat;
1563
- try {
1564
- cwdStat = statSync(cwd);
1565
- } catch (error) {
1566
- return `The "cwd" option is invalid: ${cwd}.
1567
- ${error.message}
1568
- ${originalMessage}`;
1569
- }
1570
- if (!cwdStat.isDirectory()) {
1571
- return `The "cwd" option is not a directory: ${cwd}.
1572
- ${originalMessage}`;
1573
- }
1574
- return originalMessage;
1575
- };
1576
-
1577
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/arguments/options.js
1578
- var normalizeOptions = (filePath, rawArguments, rawOptions) => {
1579
- rawOptions.cwd = normalizeCwd(rawOptions.cwd);
1580
- const [processedFile, processedArguments, processedOptions] = handleNodeOption(filePath, rawArguments, rawOptions);
1581
- const { command: file, args: commandArguments, options: initialOptions } = import_cross_spawn.default._parse(processedFile, processedArguments, processedOptions);
1582
- const fdOptions = normalizeFdSpecificOptions(initialOptions);
1583
- const options = addDefaultOptions(fdOptions);
1584
- validateTimeout(options);
1585
- validateEncoding(options);
1586
- options.shell = normalizeFileUrl(options.shell);
1587
- options.env = getEnv(options);
1588
- options.killSignal = normalizeKillSignal(options.killSignal);
1589
- options.forceKillAfterDelay = normalizeForceKillAfterDelay(options.forceKillAfterDelay);
1590
- options.lines = options.lines.map((lines, fdNumber) => lines && !BINARY_ENCODINGS.has(options.encoding) && options.buffer[fdNumber]);
1591
- if (process6.platform === "win32" && basename2(file, ".exe") === "cmd") {
1592
- commandArguments.unshift("/q");
1593
- }
1594
- return { file, commandArguments, options };
1595
- };
1596
- var addDefaultOptions = ({
1597
- extendEnv = true,
1598
- preferLocal = false,
1599
- cwd,
1600
- localDir: localDirectory = cwd,
1601
- encoding = "utf8",
1602
- reject = true,
1603
- cleanup = true,
1604
- all = false,
1605
- windowsHide = true,
1606
- killSignal = "SIGTERM",
1607
- forceKillAfterDelay = true,
1608
- ipc = false,
1609
- serialization = "advanced",
1610
- ...options
1611
- }) => ({
1612
- ...options,
1613
- extendEnv,
1614
- preferLocal,
1615
- cwd,
1616
- localDirectory,
1617
- encoding,
1618
- reject,
1619
- cleanup,
1620
- all,
1621
- windowsHide,
1622
- killSignal,
1623
- forceKillAfterDelay,
1624
- ipc,
1625
- serialization
1626
- });
1627
- var getEnv = ({ env: envOption, extendEnv, preferLocal, node, localDirectory, nodePath }) => {
1628
- const env = extendEnv ? { ...process6.env, ...envOption } : envOption;
1629
- if (preferLocal || node) {
1630
- return npmRunPathEnv({
1631
- env,
1632
- cwd: localDirectory,
1633
- execPath: nodePath,
1634
- preferLocal,
1635
- addExecPath: node
1636
- });
1637
- }
1638
- return env;
1639
- };
1640
-
1641
- // ../../node_modules/.pnpm/human-signals@7.0.0/node_modules/human-signals/build/src/main.js
1642
- import { constants as constants3 } from "node:os";
1643
-
1644
- // ../../node_modules/.pnpm/human-signals@7.0.0/node_modules/human-signals/build/src/realtime.js
1645
- var getRealtimeSignals = () => {
1646
- const length = SIGRTMAX - SIGRTMIN + 1;
1647
- return Array.from({ length }, getRealtimeSignal);
1648
- };
1649
- var getRealtimeSignal = (value, index) => ({
1650
- name: `SIGRT${index + 1}`,
1651
- number: SIGRTMIN + index,
1652
- action: "terminate",
1653
- description: "Application-specific signal (realtime)",
1654
- standard: "posix"
1655
- });
1656
- var SIGRTMIN = 34;
1657
- var SIGRTMAX = 64;
1658
-
1659
- // ../../node_modules/.pnpm/human-signals@7.0.0/node_modules/human-signals/build/src/signals.js
1660
- import { constants as constants2 } from "node:os";
1376
+ // ../../node_modules/.pnpm/human-signals@7.0.0/node_modules/human-signals/build/src/signals.js
1377
+ import { constants } from "node:os";
1661
1378
 
1662
1379
  // ../../node_modules/.pnpm/human-signals@7.0.0/node_modules/human-signals/build/src/core.js
1663
1380
  var SIGNALS = [
@@ -1935,10 +1652,10 @@ var SIGNALS = [
1935
1652
  // ../../node_modules/.pnpm/human-signals@7.0.0/node_modules/human-signals/build/src/signals.js
1936
1653
  var getSignals = () => {
1937
1654
  const realtimeSignals = getRealtimeSignals();
1938
- const signals2 = [...SIGNALS, ...realtimeSignals].map(normalizeSignal2);
1655
+ const signals2 = [...SIGNALS, ...realtimeSignals].map(normalizeSignal);
1939
1656
  return signals2;
1940
1657
  };
1941
- var normalizeSignal2 = ({
1658
+ var normalizeSignal = ({
1942
1659
  name,
1943
1660
  number: defaultNumber,
1944
1661
  description,
@@ -1948,7 +1665,7 @@ var normalizeSignal2 = ({
1948
1665
  }) => {
1949
1666
  const {
1950
1667
  signals: { [name]: constantSignal }
1951
- } = constants2;
1668
+ } = constants;
1952
1669
  const supported = constantSignal !== void 0;
1953
1670
  const number = supported ? constantSignal : defaultNumber;
1954
1671
  return { name, number, description, supported, action, forced, standard };
@@ -1997,13 +1714,977 @@ var getSignalByNumber = (number, signals2) => {
1997
1714
  };
1998
1715
  };
1999
1716
  var findSignalByNumber = (number, signals2) => {
2000
- const signal = signals2.find(({ name }) => constants3.signals[name] === number);
1717
+ const signal = signals2.find(({ name }) => constants2.signals[name] === number);
2001
1718
  if (signal !== void 0) {
2002
1719
  return signal;
2003
1720
  }
2004
- return signals2.find((signalA) => signalA.number === number);
1721
+ return signals2.find((signalA) => signalA.number === number);
1722
+ };
1723
+ var signalsByNumber = getSignalsByNumber();
1724
+
1725
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/terminate/signal.js
1726
+ var normalizeKillSignal = (killSignal) => {
1727
+ const optionName = "option `killSignal`";
1728
+ if (killSignal === 0) {
1729
+ throw new TypeError(`Invalid ${optionName}: 0 cannot be used.`);
1730
+ }
1731
+ return normalizeSignal2(killSignal, optionName);
1732
+ };
1733
+ var normalizeSignalArgument = (signal) => signal === 0 ? signal : normalizeSignal2(signal, "`subprocess.kill()`'s argument");
1734
+ var normalizeSignal2 = (signalNameOrInteger, optionName) => {
1735
+ if (Number.isInteger(signalNameOrInteger)) {
1736
+ return normalizeSignalInteger(signalNameOrInteger, optionName);
1737
+ }
1738
+ if (typeof signalNameOrInteger === "string") {
1739
+ return normalizeSignalName(signalNameOrInteger, optionName);
1740
+ }
1741
+ throw new TypeError(`Invalid ${optionName} ${String(signalNameOrInteger)}: it must be a string or an integer.
1742
+ ${getAvailableSignals()}`);
1743
+ };
1744
+ var normalizeSignalInteger = (signalInteger, optionName) => {
1745
+ if (signalsIntegerToName.has(signalInteger)) {
1746
+ return signalsIntegerToName.get(signalInteger);
1747
+ }
1748
+ throw new TypeError(`Invalid ${optionName} ${signalInteger}: this signal integer does not exist.
1749
+ ${getAvailableSignals()}`);
1750
+ };
1751
+ var getSignalsIntegerToName = () => new Map(Object.entries(constants3.signals).reverse().map(([signalName, signalInteger]) => [signalInteger, signalName]));
1752
+ var signalsIntegerToName = getSignalsIntegerToName();
1753
+ var normalizeSignalName = (signalName, optionName) => {
1754
+ if (signalName in constants3.signals) {
1755
+ return signalName;
1756
+ }
1757
+ if (signalName.toUpperCase() in constants3.signals) {
1758
+ throw new TypeError(`Invalid ${optionName} '${signalName}': please rename it to '${signalName.toUpperCase()}'.`);
1759
+ }
1760
+ throw new TypeError(`Invalid ${optionName} '${signalName}': this signal name does not exist.
1761
+ ${getAvailableSignals()}`);
1762
+ };
1763
+ var getAvailableSignals = () => `Available signal names: ${getAvailableSignalNames()}.
1764
+ Available signal numbers: ${getAvailableSignalIntegers()}.`;
1765
+ var getAvailableSignalNames = () => Object.keys(constants3.signals).sort().map((signalName) => `'${signalName}'`).join(", ");
1766
+ var getAvailableSignalIntegers = () => [...new Set(Object.values(constants3.signals).sort((signalInteger, signalIntegerTwo) => signalInteger - signalIntegerTwo))].join(", ");
1767
+ var getSignalDescription = (signal) => signalsByName[signal].description;
1768
+
1769
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/terminate/kill.js
1770
+ var normalizeForceKillAfterDelay = (forceKillAfterDelay) => {
1771
+ if (forceKillAfterDelay === false) {
1772
+ return forceKillAfterDelay;
1773
+ }
1774
+ if (forceKillAfterDelay === true) {
1775
+ return DEFAULT_FORCE_KILL_TIMEOUT;
1776
+ }
1777
+ if (!Number.isFinite(forceKillAfterDelay) || forceKillAfterDelay < 0) {
1778
+ throw new TypeError(`Expected the \`forceKillAfterDelay\` option to be a non-negative integer, got \`${forceKillAfterDelay}\` (${typeof forceKillAfterDelay})`);
1779
+ }
1780
+ return forceKillAfterDelay;
1781
+ };
1782
+ var DEFAULT_FORCE_KILL_TIMEOUT = 1e3 * 5;
1783
+ var subprocessKill = ({ kill, options: { forceKillAfterDelay, killSignal }, onInternalError, context, controller }, signalOrError, errorArgument) => {
1784
+ const { signal, error } = parseKillArguments(signalOrError, errorArgument, killSignal);
1785
+ emitKillError(error, onInternalError);
1786
+ const killResult = kill(signal);
1787
+ setKillTimeout({
1788
+ kill,
1789
+ signal,
1790
+ forceKillAfterDelay,
1791
+ killSignal,
1792
+ killResult,
1793
+ context,
1794
+ controller
1795
+ });
1796
+ return killResult;
1797
+ };
1798
+ var parseKillArguments = (signalOrError, errorArgument, killSignal) => {
1799
+ const [signal = killSignal, error] = isErrorInstance(signalOrError) ? [void 0, signalOrError] : [signalOrError, errorArgument];
1800
+ if (typeof signal !== "string" && !Number.isInteger(signal)) {
1801
+ throw new TypeError(`The first argument must be an error instance or a signal name string/integer: ${String(signal)}`);
1802
+ }
1803
+ if (error !== void 0 && !isErrorInstance(error)) {
1804
+ throw new TypeError(`The second argument is optional. If specified, it must be an error instance: ${error}`);
1805
+ }
1806
+ return { signal: normalizeSignalArgument(signal), error };
1807
+ };
1808
+ var emitKillError = (error, onInternalError) => {
1809
+ if (error !== void 0) {
1810
+ onInternalError.reject(error);
1811
+ }
1812
+ };
1813
+ var setKillTimeout = async ({ kill, signal, forceKillAfterDelay, killSignal, killResult, context, controller }) => {
1814
+ if (signal === killSignal && killResult) {
1815
+ killOnTimeout({
1816
+ kill,
1817
+ forceKillAfterDelay,
1818
+ context,
1819
+ controllerSignal: controller.signal
1820
+ });
1821
+ }
1822
+ };
1823
+ var killOnTimeout = async ({ kill, forceKillAfterDelay, context, controllerSignal }) => {
1824
+ if (forceKillAfterDelay === false) {
1825
+ return;
1826
+ }
1827
+ try {
1828
+ await setTimeout(forceKillAfterDelay, void 0, { signal: controllerSignal });
1829
+ if (kill("SIGKILL")) {
1830
+ context.isForcefullyTerminated ??= true;
1831
+ }
1832
+ } catch {
1833
+ }
1834
+ };
1835
+
1836
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/utils/abort-signal.js
1837
+ import { once } from "node:events";
1838
+ var onAbortedSignal = async (mainSignal, stopSignal) => {
1839
+ if (!mainSignal.aborted) {
1840
+ await once(mainSignal, "abort", { signal: stopSignal });
1841
+ }
1842
+ };
1843
+
1844
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/terminate/cancel.js
1845
+ var validateCancelSignal = ({ cancelSignal }) => {
1846
+ if (cancelSignal !== void 0 && Object.prototype.toString.call(cancelSignal) !== "[object AbortSignal]") {
1847
+ throw new Error(`The \`cancelSignal\` option must be an AbortSignal: ${String(cancelSignal)}`);
1848
+ }
1849
+ };
1850
+ var throwOnCancel = ({ subprocess, cancelSignal, gracefulCancel, context, controller }) => cancelSignal === void 0 || gracefulCancel ? [] : [terminateOnCancel(subprocess, cancelSignal, context, controller)];
1851
+ var terminateOnCancel = async (subprocess, cancelSignal, context, { signal }) => {
1852
+ await onAbortedSignal(cancelSignal, signal);
1853
+ context.terminationReason ??= "cancel";
1854
+ subprocess.kill();
1855
+ throw cancelSignal.reason;
1856
+ };
1857
+
1858
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/graceful.js
1859
+ import { scheduler as scheduler2 } from "node:timers/promises";
1860
+
1861
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/send.js
1862
+ import { promisify } from "node:util";
1863
+
1864
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/validation.js
1865
+ var validateIpcMethod = ({ methodName, isSubprocess, ipc, isConnected: isConnected2 }) => {
1866
+ validateIpcOption(methodName, isSubprocess, ipc);
1867
+ validateConnection(methodName, isSubprocess, isConnected2);
1868
+ };
1869
+ var validateIpcOption = (methodName, isSubprocess, ipc) => {
1870
+ if (!ipc) {
1871
+ throw new Error(`${getMethodName(methodName, isSubprocess)} can only be used if the \`ipc\` option is \`true\`.`);
1872
+ }
1873
+ };
1874
+ var validateConnection = (methodName, isSubprocess, isConnected2) => {
1875
+ if (!isConnected2) {
1876
+ throw new Error(`${getMethodName(methodName, isSubprocess)} cannot be used: the ${getOtherProcessName(isSubprocess)} has already exited or disconnected.`);
1877
+ }
1878
+ };
1879
+ var throwOnEarlyDisconnect = (isSubprocess) => {
1880
+ throw new Error(`${getMethodName("getOneMessage", isSubprocess)} could not complete: the ${getOtherProcessName(isSubprocess)} exited or disconnected.`);
1881
+ };
1882
+ var throwOnStrictDeadlockError = (isSubprocess) => {
1883
+ throw new Error(`${getMethodName("sendMessage", isSubprocess)} failed: the ${getOtherProcessName(isSubprocess)} is sending a message too, instead of listening to incoming messages.
1884
+ This can be fixed by both sending a message and listening to incoming messages at the same time:
1885
+
1886
+ const [receivedMessage] = await Promise.all([
1887
+ ${getMethodName("getOneMessage", isSubprocess)},
1888
+ ${getMethodName("sendMessage", isSubprocess, "message, {strict: true}")},
1889
+ ]);`);
1890
+ };
1891
+ var getStrictResponseError = (error, isSubprocess) => new Error(`${getMethodName("sendMessage", isSubprocess)} failed when sending an acknowledgment response to the ${getOtherProcessName(isSubprocess)}.`, { cause: error });
1892
+ var throwOnMissingStrict = (isSubprocess) => {
1893
+ throw new Error(`${getMethodName("sendMessage", isSubprocess)} failed: the ${getOtherProcessName(isSubprocess)} is not listening to incoming messages.`);
1894
+ };
1895
+ var throwOnStrictDisconnect = (isSubprocess) => {
1896
+ throw new Error(`${getMethodName("sendMessage", isSubprocess)} failed: the ${getOtherProcessName(isSubprocess)} exited without listening to incoming messages.`);
1897
+ };
1898
+ var getAbortDisconnectError = () => new Error(`\`cancelSignal\` aborted: the ${getOtherProcessName(true)} disconnected.`);
1899
+ var throwOnMissingParent = () => {
1900
+ throw new Error("`getCancelSignal()` cannot be used without setting the `cancelSignal` subprocess option.");
1901
+ };
1902
+ var handleEpipeError = ({ error, methodName, isSubprocess }) => {
1903
+ if (error.code === "EPIPE") {
1904
+ throw new Error(`${getMethodName(methodName, isSubprocess)} cannot be used: the ${getOtherProcessName(isSubprocess)} is disconnecting.`, { cause: error });
1905
+ }
1906
+ };
1907
+ var handleSerializationError = ({ error, methodName, isSubprocess, message }) => {
1908
+ if (isSerializationError(error)) {
1909
+ throw new Error(`${getMethodName(methodName, isSubprocess)}'s argument type is invalid: the message cannot be serialized: ${String(message)}.`, { cause: error });
1910
+ }
1911
+ };
1912
+ var isSerializationError = ({ code, message }) => SERIALIZATION_ERROR_CODES.has(code) || SERIALIZATION_ERROR_MESSAGES.some((serializationErrorMessage) => message.includes(serializationErrorMessage));
1913
+ var SERIALIZATION_ERROR_CODES = /* @__PURE__ */ new Set([
1914
+ // Message is `undefined`
1915
+ "ERR_MISSING_ARGS",
1916
+ // Message is a function, a bigint, a symbol
1917
+ "ERR_INVALID_ARG_TYPE"
1918
+ ]);
1919
+ var SERIALIZATION_ERROR_MESSAGES = [
1920
+ // Message is a promise or a proxy, with `serialization: 'advanced'`
1921
+ "could not be cloned",
1922
+ // Message has cycles, with `serialization: 'json'`
1923
+ "circular structure",
1924
+ // Message has cycles inside toJSON(), with `serialization: 'json'`
1925
+ "call stack size exceeded"
1926
+ ];
1927
+ var getMethodName = (methodName, isSubprocess, parameters = "") => methodName === "cancelSignal" ? "`cancelSignal`'s `controller.abort()`" : `${getNamespaceName(isSubprocess)}${methodName}(${parameters})`;
1928
+ var getNamespaceName = (isSubprocess) => isSubprocess ? "" : "subprocess.";
1929
+ var getOtherProcessName = (isSubprocess) => isSubprocess ? "parent process" : "subprocess";
1930
+ var disconnect = (anyProcess) => {
1931
+ if (anyProcess.connected) {
1932
+ anyProcess.disconnect();
1933
+ }
1934
+ };
1935
+
1936
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/utils/deferred.js
1937
+ var createDeferred = () => {
1938
+ const methods = {};
1939
+ const promise = new Promise((resolve3, reject) => {
1940
+ Object.assign(methods, { resolve: resolve3, reject });
1941
+ });
1942
+ return Object.assign(promise, methods);
1943
+ };
1944
+
1945
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/arguments/fd-options.js
1946
+ var getToStream = (destination, to = "stdin") => {
1947
+ const isWritable = true;
1948
+ const { options, fileDescriptors } = SUBPROCESS_OPTIONS.get(destination);
1949
+ const fdNumber = getFdNumber(fileDescriptors, to, isWritable);
1950
+ const destinationStream = destination.stdio[fdNumber];
1951
+ if (destinationStream === null) {
1952
+ throw new TypeError(getInvalidStdioOptionMessage(fdNumber, to, options, isWritable));
1953
+ }
1954
+ return destinationStream;
1955
+ };
1956
+ var getFromStream = (source, from = "stdout") => {
1957
+ const isWritable = false;
1958
+ const { options, fileDescriptors } = SUBPROCESS_OPTIONS.get(source);
1959
+ const fdNumber = getFdNumber(fileDescriptors, from, isWritable);
1960
+ const sourceStream = fdNumber === "all" ? source.all : source.stdio[fdNumber];
1961
+ if (sourceStream === null || sourceStream === void 0) {
1962
+ throw new TypeError(getInvalidStdioOptionMessage(fdNumber, from, options, isWritable));
1963
+ }
1964
+ return sourceStream;
1965
+ };
1966
+ var SUBPROCESS_OPTIONS = /* @__PURE__ */ new WeakMap();
1967
+ var getFdNumber = (fileDescriptors, fdName, isWritable) => {
1968
+ const fdNumber = parseFdNumber(fdName, isWritable);
1969
+ validateFdNumber(fdNumber, fdName, isWritable, fileDescriptors);
1970
+ return fdNumber;
1971
+ };
1972
+ var parseFdNumber = (fdName, isWritable) => {
1973
+ const fdNumber = parseFd(fdName);
1974
+ if (fdNumber !== void 0) {
1975
+ return fdNumber;
1976
+ }
1977
+ const { validOptions, defaultValue } = isWritable ? { validOptions: '"stdin"', defaultValue: "stdin" } : { validOptions: '"stdout", "stderr", "all"', defaultValue: "stdout" };
1978
+ throw new TypeError(`"${getOptionName(isWritable)}" must not be "${fdName}".
1979
+ It must be ${validOptions} or "fd3", "fd4" (and so on).
1980
+ It is optional and defaults to "${defaultValue}".`);
1981
+ };
1982
+ var validateFdNumber = (fdNumber, fdName, isWritable, fileDescriptors) => {
1983
+ const fileDescriptor = fileDescriptors[getUsedDescriptor(fdNumber)];
1984
+ if (fileDescriptor === void 0) {
1985
+ throw new TypeError(`"${getOptionName(isWritable)}" must not be ${fdName}. That file descriptor does not exist.
1986
+ Please set the "stdio" option to ensure that file descriptor exists.`);
1987
+ }
1988
+ if (fileDescriptor.direction === "input" && !isWritable) {
1989
+ throw new TypeError(`"${getOptionName(isWritable)}" must not be ${fdName}. It must be a readable stream, not writable.`);
1990
+ }
1991
+ if (fileDescriptor.direction !== "input" && isWritable) {
1992
+ throw new TypeError(`"${getOptionName(isWritable)}" must not be ${fdName}. It must be a writable stream, not readable.`);
1993
+ }
1994
+ };
1995
+ var getInvalidStdioOptionMessage = (fdNumber, fdName, options, isWritable) => {
1996
+ if (fdNumber === "all" && !options.all) {
1997
+ return `The "all" option must be true to use "from: 'all'".`;
1998
+ }
1999
+ const { optionName, optionValue } = getInvalidStdioOption(fdNumber, options);
2000
+ return `The "${optionName}: ${serializeOptionValue(optionValue)}" option is incompatible with using "${getOptionName(isWritable)}: ${serializeOptionValue(fdName)}".
2001
+ Please set this option with "pipe" instead.`;
2002
+ };
2003
+ var getInvalidStdioOption = (fdNumber, { stdin, stdout, stderr, stdio }) => {
2004
+ const usedDescriptor = getUsedDescriptor(fdNumber);
2005
+ if (usedDescriptor === 0 && stdin !== void 0) {
2006
+ return { optionName: "stdin", optionValue: stdin };
2007
+ }
2008
+ if (usedDescriptor === 1 && stdout !== void 0) {
2009
+ return { optionName: "stdout", optionValue: stdout };
2010
+ }
2011
+ if (usedDescriptor === 2 && stderr !== void 0) {
2012
+ return { optionName: "stderr", optionValue: stderr };
2013
+ }
2014
+ return { optionName: `stdio[${usedDescriptor}]`, optionValue: stdio[usedDescriptor] };
2015
+ };
2016
+ var getUsedDescriptor = (fdNumber) => fdNumber === "all" ? 1 : fdNumber;
2017
+ var getOptionName = (isWritable) => isWritable ? "to" : "from";
2018
+ var serializeOptionValue = (value) => {
2019
+ if (typeof value === "string") {
2020
+ return `'${value}'`;
2021
+ }
2022
+ return typeof value === "number" ? `${value}` : "Stream";
2023
+ };
2024
+
2025
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/strict.js
2026
+ import { once as once3 } from "node:events";
2027
+
2028
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/utils/max-listeners.js
2029
+ import { addAbortListener } from "node:events";
2030
+ var incrementMaxListeners = (eventEmitter, maxListenersIncrement, signal) => {
2031
+ const maxListeners = eventEmitter.getMaxListeners();
2032
+ if (maxListeners === 0 || maxListeners === Number.POSITIVE_INFINITY) {
2033
+ return;
2034
+ }
2035
+ eventEmitter.setMaxListeners(maxListeners + maxListenersIncrement);
2036
+ addAbortListener(signal, () => {
2037
+ eventEmitter.setMaxListeners(eventEmitter.getMaxListeners() - maxListenersIncrement);
2038
+ });
2039
+ };
2040
+
2041
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/forward.js
2042
+ import { EventEmitter } from "node:events";
2043
+
2044
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/incoming.js
2045
+ import { once as once2 } from "node:events";
2046
+ import { scheduler } from "node:timers/promises";
2047
+
2048
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/reference.js
2049
+ var addReference = (channel, reference) => {
2050
+ if (reference) {
2051
+ addReferenceCount(channel);
2052
+ }
2053
+ };
2054
+ var addReferenceCount = (channel) => {
2055
+ channel.refCounted();
2056
+ };
2057
+ var removeReference = (channel, reference) => {
2058
+ if (reference) {
2059
+ removeReferenceCount(channel);
2060
+ }
2061
+ };
2062
+ var removeReferenceCount = (channel) => {
2063
+ channel.unrefCounted();
2064
+ };
2065
+ var undoAddedReferences = (channel, isSubprocess) => {
2066
+ if (isSubprocess) {
2067
+ removeReferenceCount(channel);
2068
+ removeReferenceCount(channel);
2069
+ }
2070
+ };
2071
+ var redoAddedReferences = (channel, isSubprocess) => {
2072
+ if (isSubprocess) {
2073
+ addReferenceCount(channel);
2074
+ addReferenceCount(channel);
2075
+ }
2076
+ };
2077
+
2078
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/incoming.js
2079
+ var onMessage = async ({ anyProcess, channel, isSubprocess, ipcEmitter }, wrappedMessage) => {
2080
+ if (handleStrictResponse(wrappedMessage) || handleAbort(wrappedMessage)) {
2081
+ return;
2082
+ }
2083
+ if (!INCOMING_MESSAGES.has(anyProcess)) {
2084
+ INCOMING_MESSAGES.set(anyProcess, []);
2085
+ }
2086
+ const incomingMessages = INCOMING_MESSAGES.get(anyProcess);
2087
+ incomingMessages.push(wrappedMessage);
2088
+ if (incomingMessages.length > 1) {
2089
+ return;
2090
+ }
2091
+ while (incomingMessages.length > 0) {
2092
+ await waitForOutgoingMessages(anyProcess, ipcEmitter, wrappedMessage);
2093
+ await scheduler.yield();
2094
+ const message = await handleStrictRequest({
2095
+ wrappedMessage: incomingMessages[0],
2096
+ anyProcess,
2097
+ channel,
2098
+ isSubprocess,
2099
+ ipcEmitter
2100
+ });
2101
+ incomingMessages.shift();
2102
+ ipcEmitter.emit("message", message);
2103
+ ipcEmitter.emit("message:done");
2104
+ }
2105
+ };
2106
+ var onDisconnect = async ({ anyProcess, channel, isSubprocess, ipcEmitter, boundOnMessage }) => {
2107
+ abortOnDisconnect();
2108
+ const incomingMessages = INCOMING_MESSAGES.get(anyProcess);
2109
+ while (incomingMessages?.length > 0) {
2110
+ await once2(ipcEmitter, "message:done");
2111
+ }
2112
+ anyProcess.removeListener("message", boundOnMessage);
2113
+ redoAddedReferences(channel, isSubprocess);
2114
+ ipcEmitter.connected = false;
2115
+ ipcEmitter.emit("disconnect");
2116
+ };
2117
+ var INCOMING_MESSAGES = /* @__PURE__ */ new WeakMap();
2118
+
2119
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/forward.js
2120
+ var getIpcEmitter = (anyProcess, channel, isSubprocess) => {
2121
+ if (IPC_EMITTERS.has(anyProcess)) {
2122
+ return IPC_EMITTERS.get(anyProcess);
2123
+ }
2124
+ const ipcEmitter = new EventEmitter();
2125
+ ipcEmitter.connected = true;
2126
+ IPC_EMITTERS.set(anyProcess, ipcEmitter);
2127
+ forwardEvents({
2128
+ ipcEmitter,
2129
+ anyProcess,
2130
+ channel,
2131
+ isSubprocess
2132
+ });
2133
+ return ipcEmitter;
2134
+ };
2135
+ var IPC_EMITTERS = /* @__PURE__ */ new WeakMap();
2136
+ var forwardEvents = ({ ipcEmitter, anyProcess, channel, isSubprocess }) => {
2137
+ const boundOnMessage = onMessage.bind(void 0, {
2138
+ anyProcess,
2139
+ channel,
2140
+ isSubprocess,
2141
+ ipcEmitter
2142
+ });
2143
+ anyProcess.on("message", boundOnMessage);
2144
+ anyProcess.once("disconnect", onDisconnect.bind(void 0, {
2145
+ anyProcess,
2146
+ channel,
2147
+ isSubprocess,
2148
+ ipcEmitter,
2149
+ boundOnMessage
2150
+ }));
2151
+ undoAddedReferences(channel, isSubprocess);
2152
+ };
2153
+ var isConnected = (anyProcess) => {
2154
+ const ipcEmitter = IPC_EMITTERS.get(anyProcess);
2155
+ return ipcEmitter === void 0 ? anyProcess.channel !== null : ipcEmitter.connected;
2156
+ };
2157
+
2158
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/strict.js
2159
+ var handleSendStrict = ({ anyProcess, channel, isSubprocess, message, strict }) => {
2160
+ if (!strict) {
2161
+ return message;
2162
+ }
2163
+ const ipcEmitter = getIpcEmitter(anyProcess, channel, isSubprocess);
2164
+ const hasListeners = hasMessageListeners(anyProcess, ipcEmitter);
2165
+ return {
2166
+ id: count++,
2167
+ type: REQUEST_TYPE,
2168
+ message,
2169
+ hasListeners
2170
+ };
2171
+ };
2172
+ var count = 0n;
2173
+ var validateStrictDeadlock = (outgoingMessages, wrappedMessage) => {
2174
+ if (wrappedMessage?.type !== REQUEST_TYPE || wrappedMessage.hasListeners) {
2175
+ return;
2176
+ }
2177
+ for (const { id } of outgoingMessages) {
2178
+ if (id !== void 0) {
2179
+ STRICT_RESPONSES[id].resolve({ isDeadlock: true, hasListeners: false });
2180
+ }
2181
+ }
2182
+ };
2183
+ var handleStrictRequest = async ({ wrappedMessage, anyProcess, channel, isSubprocess, ipcEmitter }) => {
2184
+ if (wrappedMessage?.type !== REQUEST_TYPE || !anyProcess.connected) {
2185
+ return wrappedMessage;
2186
+ }
2187
+ const { id, message } = wrappedMessage;
2188
+ const response = { id, type: RESPONSE_TYPE, message: hasMessageListeners(anyProcess, ipcEmitter) };
2189
+ try {
2190
+ await sendMessage({
2191
+ anyProcess,
2192
+ channel,
2193
+ isSubprocess,
2194
+ ipc: true
2195
+ }, response);
2196
+ } catch (error) {
2197
+ ipcEmitter.emit("strict:error", error);
2198
+ }
2199
+ return message;
2200
+ };
2201
+ var handleStrictResponse = (wrappedMessage) => {
2202
+ if (wrappedMessage?.type !== RESPONSE_TYPE) {
2203
+ return false;
2204
+ }
2205
+ const { id, message: hasListeners } = wrappedMessage;
2206
+ STRICT_RESPONSES[id]?.resolve({ isDeadlock: false, hasListeners });
2207
+ return true;
2208
+ };
2209
+ var waitForStrictResponse = async (wrappedMessage, anyProcess, isSubprocess) => {
2210
+ if (wrappedMessage?.type !== REQUEST_TYPE) {
2211
+ return;
2212
+ }
2213
+ const deferred = createDeferred();
2214
+ STRICT_RESPONSES[wrappedMessage.id] = deferred;
2215
+ const controller = new AbortController();
2216
+ try {
2217
+ const { isDeadlock, hasListeners } = await Promise.race([
2218
+ deferred,
2219
+ throwOnDisconnect(anyProcess, isSubprocess, controller)
2220
+ ]);
2221
+ if (isDeadlock) {
2222
+ throwOnStrictDeadlockError(isSubprocess);
2223
+ }
2224
+ if (!hasListeners) {
2225
+ throwOnMissingStrict(isSubprocess);
2226
+ }
2227
+ } finally {
2228
+ controller.abort();
2229
+ delete STRICT_RESPONSES[wrappedMessage.id];
2230
+ }
2231
+ };
2232
+ var STRICT_RESPONSES = {};
2233
+ var throwOnDisconnect = async (anyProcess, isSubprocess, { signal }) => {
2234
+ incrementMaxListeners(anyProcess, 1, signal);
2235
+ await once3(anyProcess, "disconnect", { signal });
2236
+ throwOnStrictDisconnect(isSubprocess);
2237
+ };
2238
+ var REQUEST_TYPE = "execa:ipc:request";
2239
+ var RESPONSE_TYPE = "execa:ipc:response";
2240
+
2241
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/outgoing.js
2242
+ var startSendMessage = (anyProcess, wrappedMessage, strict) => {
2243
+ if (!OUTGOING_MESSAGES.has(anyProcess)) {
2244
+ OUTGOING_MESSAGES.set(anyProcess, /* @__PURE__ */ new Set());
2245
+ }
2246
+ const outgoingMessages = OUTGOING_MESSAGES.get(anyProcess);
2247
+ const onMessageSent = createDeferred();
2248
+ const id = strict ? wrappedMessage.id : void 0;
2249
+ const outgoingMessage = { onMessageSent, id };
2250
+ outgoingMessages.add(outgoingMessage);
2251
+ return { outgoingMessages, outgoingMessage };
2252
+ };
2253
+ var endSendMessage = ({ outgoingMessages, outgoingMessage }) => {
2254
+ outgoingMessages.delete(outgoingMessage);
2255
+ outgoingMessage.onMessageSent.resolve();
2256
+ };
2257
+ var waitForOutgoingMessages = async (anyProcess, ipcEmitter, wrappedMessage) => {
2258
+ while (!hasMessageListeners(anyProcess, ipcEmitter) && OUTGOING_MESSAGES.get(anyProcess)?.size > 0) {
2259
+ const outgoingMessages = [...OUTGOING_MESSAGES.get(anyProcess)];
2260
+ validateStrictDeadlock(outgoingMessages, wrappedMessage);
2261
+ await Promise.all(outgoingMessages.map(({ onMessageSent }) => onMessageSent));
2262
+ }
2263
+ };
2264
+ var OUTGOING_MESSAGES = /* @__PURE__ */ new WeakMap();
2265
+ var hasMessageListeners = (anyProcess, ipcEmitter) => ipcEmitter.listenerCount("message") > getMinListenerCount(anyProcess);
2266
+ var getMinListenerCount = (anyProcess) => SUBPROCESS_OPTIONS.has(anyProcess) && !SUBPROCESS_OPTIONS.get(anyProcess).options.buffer.at(-1) ? 1 : 0;
2267
+
2268
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/send.js
2269
+ var sendMessage = ({ anyProcess, channel, isSubprocess, ipc }, message, { strict = false } = {}) => {
2270
+ const methodName = "sendMessage";
2271
+ validateIpcMethod({
2272
+ methodName,
2273
+ isSubprocess,
2274
+ ipc,
2275
+ isConnected: anyProcess.connected
2276
+ });
2277
+ return sendMessageAsync({
2278
+ anyProcess,
2279
+ channel,
2280
+ methodName,
2281
+ isSubprocess,
2282
+ message,
2283
+ strict
2284
+ });
2285
+ };
2286
+ var sendMessageAsync = async ({ anyProcess, channel, methodName, isSubprocess, message, strict }) => {
2287
+ const wrappedMessage = handleSendStrict({
2288
+ anyProcess,
2289
+ channel,
2290
+ isSubprocess,
2291
+ message,
2292
+ strict
2293
+ });
2294
+ const outgoingMessagesState = startSendMessage(anyProcess, wrappedMessage, strict);
2295
+ try {
2296
+ await sendOneMessage({
2297
+ anyProcess,
2298
+ methodName,
2299
+ isSubprocess,
2300
+ wrappedMessage,
2301
+ message
2302
+ });
2303
+ } catch (error) {
2304
+ disconnect(anyProcess);
2305
+ throw error;
2306
+ } finally {
2307
+ endSendMessage(outgoingMessagesState);
2308
+ }
2309
+ };
2310
+ var sendOneMessage = async ({ anyProcess, methodName, isSubprocess, wrappedMessage, message }) => {
2311
+ const sendMethod = getSendMethod(anyProcess);
2312
+ try {
2313
+ await Promise.all([
2314
+ waitForStrictResponse(wrappedMessage, anyProcess, isSubprocess),
2315
+ sendMethod(wrappedMessage)
2316
+ ]);
2317
+ } catch (error) {
2318
+ handleEpipeError({ error, methodName, isSubprocess });
2319
+ handleSerializationError({
2320
+ error,
2321
+ methodName,
2322
+ isSubprocess,
2323
+ message
2324
+ });
2325
+ throw error;
2326
+ }
2327
+ };
2328
+ var getSendMethod = (anyProcess) => {
2329
+ if (PROCESS_SEND_METHODS.has(anyProcess)) {
2330
+ return PROCESS_SEND_METHODS.get(anyProcess);
2331
+ }
2332
+ const sendMethod = promisify(anyProcess.send.bind(anyProcess));
2333
+ PROCESS_SEND_METHODS.set(anyProcess, sendMethod);
2334
+ return sendMethod;
2335
+ };
2336
+ var PROCESS_SEND_METHODS = /* @__PURE__ */ new WeakMap();
2337
+
2338
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/graceful.js
2339
+ var sendAbort = (subprocess, message) => {
2340
+ const methodName = "cancelSignal";
2341
+ validateConnection(methodName, false, subprocess.connected);
2342
+ return sendOneMessage({
2343
+ anyProcess: subprocess,
2344
+ methodName,
2345
+ isSubprocess: false,
2346
+ wrappedMessage: { type: GRACEFUL_CANCEL_TYPE, message },
2347
+ message
2348
+ });
2349
+ };
2350
+ var getCancelSignal = async ({ anyProcess, channel, isSubprocess, ipc }) => {
2351
+ await startIpc({
2352
+ anyProcess,
2353
+ channel,
2354
+ isSubprocess,
2355
+ ipc
2356
+ });
2357
+ return cancelController.signal;
2358
+ };
2359
+ var startIpc = async ({ anyProcess, channel, isSubprocess, ipc }) => {
2360
+ if (cancelListening) {
2361
+ return;
2362
+ }
2363
+ cancelListening = true;
2364
+ if (!ipc) {
2365
+ throwOnMissingParent();
2366
+ return;
2367
+ }
2368
+ if (channel === null) {
2369
+ abortOnDisconnect();
2370
+ return;
2371
+ }
2372
+ getIpcEmitter(anyProcess, channel, isSubprocess);
2373
+ await scheduler2.yield();
2374
+ };
2375
+ var cancelListening = false;
2376
+ var handleAbort = (wrappedMessage) => {
2377
+ if (wrappedMessage?.type !== GRACEFUL_CANCEL_TYPE) {
2378
+ return false;
2379
+ }
2380
+ cancelController.abort(wrappedMessage.message);
2381
+ return true;
2382
+ };
2383
+ var GRACEFUL_CANCEL_TYPE = "execa:ipc:cancel";
2384
+ var abortOnDisconnect = () => {
2385
+ cancelController.abort(getAbortDisconnectError());
2386
+ };
2387
+ var cancelController = new AbortController();
2388
+
2389
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/terminate/graceful.js
2390
+ var validateGracefulCancel = ({ gracefulCancel, cancelSignal, ipc, serialization }) => {
2391
+ if (!gracefulCancel) {
2392
+ return;
2393
+ }
2394
+ if (cancelSignal === void 0) {
2395
+ throw new Error("The `cancelSignal` option must be defined when setting the `gracefulCancel` option.");
2396
+ }
2397
+ if (!ipc) {
2398
+ throw new Error("The `ipc` option cannot be false when setting the `gracefulCancel` option.");
2399
+ }
2400
+ if (serialization === "json") {
2401
+ throw new Error("The `serialization` option cannot be 'json' when setting the `gracefulCancel` option.");
2402
+ }
2403
+ };
2404
+ var throwOnGracefulCancel = ({
2405
+ subprocess,
2406
+ cancelSignal,
2407
+ gracefulCancel,
2408
+ forceKillAfterDelay,
2409
+ context,
2410
+ controller
2411
+ }) => gracefulCancel ? [sendOnAbort({
2412
+ subprocess,
2413
+ cancelSignal,
2414
+ forceKillAfterDelay,
2415
+ context,
2416
+ controller
2417
+ })] : [];
2418
+ var sendOnAbort = async ({ subprocess, cancelSignal, forceKillAfterDelay, context, controller: { signal } }) => {
2419
+ await onAbortedSignal(cancelSignal, signal);
2420
+ const reason = getReason(cancelSignal);
2421
+ await sendAbort(subprocess, reason);
2422
+ killOnTimeout({
2423
+ kill: subprocess.kill,
2424
+ forceKillAfterDelay,
2425
+ context,
2426
+ controllerSignal: signal
2427
+ });
2428
+ context.terminationReason ??= "gracefulCancel";
2429
+ throw cancelSignal.reason;
2430
+ };
2431
+ var getReason = ({ reason }) => {
2432
+ if (!(reason instanceof DOMException)) {
2433
+ return reason;
2434
+ }
2435
+ const error = new Error(reason.message);
2436
+ Object.defineProperty(error, "stack", {
2437
+ value: reason.stack,
2438
+ enumerable: false,
2439
+ configurable: true,
2440
+ writable: true
2441
+ });
2442
+ return error;
2443
+ };
2444
+
2445
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/terminate/timeout.js
2446
+ import { setTimeout as setTimeout2 } from "node:timers/promises";
2447
+ var validateTimeout = ({ timeout }) => {
2448
+ if (timeout !== void 0 && (!Number.isFinite(timeout) || timeout < 0)) {
2449
+ throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${timeout}\` (${typeof timeout})`);
2450
+ }
2451
+ };
2452
+ var throwOnTimeout = (subprocess, timeout, context, controller) => timeout === 0 || timeout === void 0 ? [] : [killAfterTimeout(subprocess, timeout, context, controller)];
2453
+ var killAfterTimeout = async (subprocess, timeout, context, { signal }) => {
2454
+ await setTimeout2(timeout, void 0, { signal });
2455
+ context.terminationReason ??= "timeout";
2456
+ subprocess.kill();
2457
+ throw new DiscardedError();
2458
+ };
2459
+
2460
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/methods/node.js
2461
+ import { execPath, execArgv } from "node:process";
2462
+ import { basename, resolve } from "node:path";
2463
+ var mapNode = ({ options }) => {
2464
+ if (options.node === false) {
2465
+ throw new TypeError('The "node" option cannot be false with `execaNode()`.');
2466
+ }
2467
+ return { options: { ...options, node: true } };
2468
+ };
2469
+ var handleNodeOption = (file, commandArguments, {
2470
+ node: shouldHandleNode = false,
2471
+ nodePath = execPath,
2472
+ nodeOptions = execArgv.filter((nodeOption) => !nodeOption.startsWith("--inspect")),
2473
+ cwd,
2474
+ execPath: formerNodePath,
2475
+ ...options
2476
+ }) => {
2477
+ if (formerNodePath !== void 0) {
2478
+ throw new TypeError('The "execPath" option has been removed. Please use the "nodePath" option instead.');
2479
+ }
2480
+ const normalizedNodePath = safeNormalizeFileUrl(nodePath, 'The "nodePath" option');
2481
+ const resolvedNodePath = resolve(cwd, normalizedNodePath);
2482
+ const newOptions = {
2483
+ ...options,
2484
+ nodePath: resolvedNodePath,
2485
+ node: shouldHandleNode,
2486
+ cwd
2487
+ };
2488
+ if (!shouldHandleNode) {
2489
+ return [file, commandArguments, newOptions];
2490
+ }
2491
+ if (basename(file, ".exe") === "node") {
2492
+ throw new TypeError('When the "node" option is true, the first argument does not need to be "node".');
2493
+ }
2494
+ return [
2495
+ resolvedNodePath,
2496
+ [...nodeOptions, file, ...commandArguments],
2497
+ { ipc: true, ...newOptions, shell: false }
2498
+ ];
2499
+ };
2500
+
2501
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/ipc-input.js
2502
+ import { serialize } from "node:v8";
2503
+ var validateIpcInputOption = ({ ipcInput, ipc, serialization }) => {
2504
+ if (ipcInput === void 0) {
2505
+ return;
2506
+ }
2507
+ if (!ipc) {
2508
+ throw new Error("The `ipcInput` option cannot be set unless the `ipc` option is `true`.");
2509
+ }
2510
+ validateIpcInput[serialization](ipcInput);
2511
+ };
2512
+ var validateAdvancedInput = (ipcInput) => {
2513
+ try {
2514
+ serialize(ipcInput);
2515
+ } catch (error) {
2516
+ throw new Error("The `ipcInput` option is not serializable with a structured clone.", { cause: error });
2517
+ }
2518
+ };
2519
+ var validateJsonInput = (ipcInput) => {
2520
+ try {
2521
+ JSON.stringify(ipcInput);
2522
+ } catch (error) {
2523
+ throw new Error("The `ipcInput` option is not serializable with JSON.", { cause: error });
2524
+ }
2525
+ };
2526
+ var validateIpcInput = {
2527
+ advanced: validateAdvancedInput,
2528
+ json: validateJsonInput
2529
+ };
2530
+ var sendIpcInput = async (subprocess, ipcInput) => {
2531
+ if (ipcInput === void 0) {
2532
+ return;
2533
+ }
2534
+ await subprocess.sendMessage(ipcInput);
2535
+ };
2536
+
2537
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/arguments/encoding-option.js
2538
+ var validateEncoding = ({ encoding }) => {
2539
+ if (ENCODINGS.has(encoding)) {
2540
+ return;
2541
+ }
2542
+ const correctEncoding = getCorrectEncoding(encoding);
2543
+ if (correctEncoding !== void 0) {
2544
+ throw new TypeError(`Invalid option \`encoding: ${serializeEncoding(encoding)}\`.
2545
+ Please rename it to ${serializeEncoding(correctEncoding)}.`);
2546
+ }
2547
+ const correctEncodings = [...ENCODINGS].map((correctEncoding2) => serializeEncoding(correctEncoding2)).join(", ");
2548
+ throw new TypeError(`Invalid option \`encoding: ${serializeEncoding(encoding)}\`.
2549
+ Please rename it to one of: ${correctEncodings}.`);
2550
+ };
2551
+ var TEXT_ENCODINGS = /* @__PURE__ */ new Set(["utf8", "utf16le"]);
2552
+ var BINARY_ENCODINGS = /* @__PURE__ */ new Set(["buffer", "hex", "base64", "base64url", "latin1", "ascii"]);
2553
+ var ENCODINGS = /* @__PURE__ */ new Set([...TEXT_ENCODINGS, ...BINARY_ENCODINGS]);
2554
+ var getCorrectEncoding = (encoding) => {
2555
+ if (encoding === null) {
2556
+ return "buffer";
2557
+ }
2558
+ if (typeof encoding !== "string") {
2559
+ return;
2560
+ }
2561
+ const lowerEncoding = encoding.toLowerCase();
2562
+ if (lowerEncoding in ENCODING_ALIASES) {
2563
+ return ENCODING_ALIASES[lowerEncoding];
2564
+ }
2565
+ if (ENCODINGS.has(lowerEncoding)) {
2566
+ return lowerEncoding;
2567
+ }
2568
+ };
2569
+ var ENCODING_ALIASES = {
2570
+ // eslint-disable-next-line unicorn/text-encoding-identifier-case
2571
+ "utf-8": "utf8",
2572
+ "utf-16le": "utf16le",
2573
+ "ucs-2": "utf16le",
2574
+ ucs2: "utf16le",
2575
+ binary: "latin1"
2576
+ };
2577
+ var serializeEncoding = (encoding) => typeof encoding === "string" ? `"${encoding}"` : String(encoding);
2578
+
2579
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/arguments/cwd.js
2580
+ import { statSync } from "node:fs";
2581
+ import { resolve as resolve2 } from "node:path";
2582
+ import process5 from "node:process";
2583
+ var normalizeCwd = (cwd = getDefaultCwd()) => {
2584
+ const cwdString = safeNormalizeFileUrl(cwd, 'The "cwd" option');
2585
+ return resolve2(cwdString);
2586
+ };
2587
+ var getDefaultCwd = () => {
2588
+ try {
2589
+ return process5.cwd();
2590
+ } catch (error) {
2591
+ error.message = `The current directory does not exist.
2592
+ ${error.message}`;
2593
+ throw error;
2594
+ }
2595
+ };
2596
+ var fixCwdError = (originalMessage, cwd) => {
2597
+ if (cwd === getDefaultCwd()) {
2598
+ return originalMessage;
2599
+ }
2600
+ let cwdStat;
2601
+ try {
2602
+ cwdStat = statSync(cwd);
2603
+ } catch (error) {
2604
+ return `The "cwd" option is invalid: ${cwd}.
2605
+ ${error.message}
2606
+ ${originalMessage}`;
2607
+ }
2608
+ if (!cwdStat.isDirectory()) {
2609
+ return `The "cwd" option is not a directory: ${cwd}.
2610
+ ${originalMessage}`;
2611
+ }
2612
+ return originalMessage;
2613
+ };
2614
+
2615
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/arguments/options.js
2616
+ var normalizeOptions = (filePath, rawArguments, rawOptions) => {
2617
+ rawOptions.cwd = normalizeCwd(rawOptions.cwd);
2618
+ const [processedFile, processedArguments, processedOptions] = handleNodeOption(filePath, rawArguments, rawOptions);
2619
+ const { command: file, args: commandArguments, options: initialOptions } = import_cross_spawn.default._parse(processedFile, processedArguments, processedOptions);
2620
+ const fdOptions = normalizeFdSpecificOptions(initialOptions);
2621
+ const options = addDefaultOptions(fdOptions);
2622
+ validateTimeout(options);
2623
+ validateEncoding(options);
2624
+ validateIpcInputOption(options);
2625
+ validateCancelSignal(options);
2626
+ validateGracefulCancel(options);
2627
+ options.shell = normalizeFileUrl(options.shell);
2628
+ options.env = getEnv(options);
2629
+ options.killSignal = normalizeKillSignal(options.killSignal);
2630
+ options.forceKillAfterDelay = normalizeForceKillAfterDelay(options.forceKillAfterDelay);
2631
+ options.lines = options.lines.map((lines, fdNumber) => lines && !BINARY_ENCODINGS.has(options.encoding) && options.buffer[fdNumber]);
2632
+ if (process6.platform === "win32" && basename2(file, ".exe") === "cmd") {
2633
+ commandArguments.unshift("/q");
2634
+ }
2635
+ return { file, commandArguments, options };
2636
+ };
2637
+ var addDefaultOptions = ({
2638
+ extendEnv = true,
2639
+ preferLocal = false,
2640
+ cwd,
2641
+ localDir: localDirectory = cwd,
2642
+ encoding = "utf8",
2643
+ reject = true,
2644
+ cleanup = true,
2645
+ all = false,
2646
+ windowsHide = true,
2647
+ killSignal = "SIGTERM",
2648
+ forceKillAfterDelay = true,
2649
+ gracefulCancel = false,
2650
+ ipcInput,
2651
+ ipc = ipcInput !== void 0 || gracefulCancel,
2652
+ serialization = "advanced",
2653
+ ...options
2654
+ }) => ({
2655
+ ...options,
2656
+ extendEnv,
2657
+ preferLocal,
2658
+ cwd,
2659
+ localDirectory,
2660
+ encoding,
2661
+ reject,
2662
+ cleanup,
2663
+ all,
2664
+ windowsHide,
2665
+ killSignal,
2666
+ forceKillAfterDelay,
2667
+ gracefulCancel,
2668
+ ipcInput,
2669
+ ipc,
2670
+ serialization
2671
+ });
2672
+ var getEnv = ({ env: envOption, extendEnv, preferLocal, node, localDirectory, nodePath }) => {
2673
+ const env = extendEnv ? { ...process6.env, ...envOption } : envOption;
2674
+ if (preferLocal || node) {
2675
+ return npmRunPathEnv({
2676
+ env,
2677
+ cwd: localDirectory,
2678
+ execPath: nodePath,
2679
+ preferLocal,
2680
+ addExecPath: node
2681
+ });
2682
+ }
2683
+ return env;
2005
2684
  };
2006
- var signalsByNumber = getSignalsByNumber();
2685
+
2686
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/return/message.js
2687
+ import { inspect as inspect2 } from "node:util";
2007
2688
 
2008
2689
  // ../../node_modules/.pnpm/strip-final-newline@4.0.0/node_modules/strip-final-newline/index.js
2009
2690
  function stripFinalNewline(input) {
@@ -2392,7 +3073,7 @@ var stringMethods = {
2392
3073
  // ../../node_modules/.pnpm/get-stream@9.0.1/node_modules/get-stream/source/index.js
2393
3074
  Object.assign(nodeImports, { on, finished });
2394
3075
 
2395
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/io/max-buffer.js
3076
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/io/max-buffer.js
2396
3077
  var handleMaxBuffer = ({ error, stream, readableObjectMode, lines, encoding, fdNumber }) => {
2397
3078
  if (!(error instanceof MaxBufferError)) {
2398
3079
  throw error;
@@ -2417,6 +3098,14 @@ var getMaxBufferUnit = (readableObjectMode, lines, encoding) => {
2417
3098
  }
2418
3099
  return "characters";
2419
3100
  };
3101
+ var checkIpcMaxBuffer = (subprocess, ipcOutput, maxBuffer) => {
3102
+ if (ipcOutput.length !== maxBuffer) {
3103
+ return;
3104
+ }
3105
+ const error = new MaxBufferError();
3106
+ error.maxBufferInfo = { fdNumber: "ipc" };
3107
+ throw error;
3108
+ };
2420
3109
  var getMaxBufferMessage = (error, maxBuffer) => {
2421
3110
  const { streamName, threshold, unit } = getMaxBufferInfo(error, maxBuffer);
2422
3111
  return `Command's ${streamName} was larger than ${threshold} ${unit}`;
@@ -2427,6 +3116,9 @@ var getMaxBufferInfo = (error, maxBuffer) => {
2427
3116
  }
2428
3117
  const { maxBufferInfo: { fdNumber, unit } } = error;
2429
3118
  delete error.maxBufferInfo;
3119
+ if (fdNumber === "ipc") {
3120
+ return { streamName: "IPC output", threshold: maxBuffer.at(-1), unit: "messages" };
3121
+ }
2430
3122
  return { streamName: getStreamName(fdNumber), threshold: maxBuffer[fdNumber], unit };
2431
3123
  };
2432
3124
  var isMaxBufferSync = (resultError, output, maxBuffer) => resultError?.code === "ENOBUFS" && output !== null && output.some((result) => result !== null && result.length > getMaxBufferSync(maxBuffer));
@@ -2439,10 +3131,11 @@ var truncateMaxBufferSync = (result, isMaxBuffer, maxBuffer) => {
2439
3131
  };
2440
3132
  var getMaxBufferSync = ([, stdoutMaxBuffer]) => stdoutMaxBuffer;
2441
3133
 
2442
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/return/message.js
3134
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/return/message.js
2443
3135
  var createMessages = ({
2444
3136
  stdio,
2445
3137
  all,
3138
+ ipcOutput,
2446
3139
  originalError,
2447
3140
  signal,
2448
3141
  signalDescription,
@@ -2450,7 +3143,11 @@ var createMessages = ({
2450
3143
  escapedCommand,
2451
3144
  timedOut,
2452
3145
  isCanceled,
3146
+ isGracefullyCanceled,
2453
3147
  isMaxBuffer,
3148
+ isForcefullyTerminated,
3149
+ forceKillAfterDelay,
3150
+ killSignal,
2454
3151
  maxBuffer,
2455
3152
  timeout,
2456
3153
  cwd
@@ -2466,28 +3163,62 @@ var createMessages = ({
2466
3163
  signal,
2467
3164
  signalDescription,
2468
3165
  exitCode,
2469
- isCanceled
3166
+ isCanceled,
3167
+ isGracefullyCanceled,
3168
+ isForcefullyTerminated,
3169
+ forceKillAfterDelay,
3170
+ killSignal
2470
3171
  });
2471
3172
  const originalMessage = getOriginalMessage(originalError, cwd);
2472
3173
  const suffix = originalMessage === void 0 ? "" : `
2473
3174
  ${originalMessage}`;
2474
3175
  const shortMessage = `${prefix}: ${escapedCommand}${suffix}`;
2475
3176
  const messageStdio = all === void 0 ? [stdio[2], stdio[1]] : [all];
2476
- const message = [shortMessage, ...messageStdio, ...stdio.slice(3)].map((messagePart) => escapeLines(stripFinalNewline(serializeMessagePart(messagePart)))).filter(Boolean).join("\n\n");
3177
+ const message = [
3178
+ shortMessage,
3179
+ ...messageStdio,
3180
+ ...stdio.slice(3),
3181
+ ipcOutput.map((ipcMessage) => serializeIpcMessage(ipcMessage)).join("\n")
3182
+ ].map((messagePart) => escapeLines(stripFinalNewline(serializeMessagePart(messagePart)))).filter(Boolean).join("\n\n");
2477
3183
  return { originalMessage, shortMessage, message };
2478
3184
  };
2479
- var getErrorPrefix = ({ originalError, timedOut, timeout, isMaxBuffer, maxBuffer, errorCode, signal, signalDescription, exitCode, isCanceled }) => {
3185
+ var getErrorPrefix = ({
3186
+ originalError,
3187
+ timedOut,
3188
+ timeout,
3189
+ isMaxBuffer,
3190
+ maxBuffer,
3191
+ errorCode,
3192
+ signal,
3193
+ signalDescription,
3194
+ exitCode,
3195
+ isCanceled,
3196
+ isGracefullyCanceled,
3197
+ isForcefullyTerminated,
3198
+ forceKillAfterDelay,
3199
+ killSignal
3200
+ }) => {
3201
+ const forcefulSuffix = getForcefulSuffix(isForcefullyTerminated, forceKillAfterDelay);
2480
3202
  if (timedOut) {
2481
- return `Command timed out after ${timeout} milliseconds`;
3203
+ return `Command timed out after ${timeout} milliseconds${forcefulSuffix}`;
3204
+ }
3205
+ if (isGracefullyCanceled) {
3206
+ if (signal === void 0) {
3207
+ return `Command was gracefully canceled with exit code ${exitCode}`;
3208
+ }
3209
+ return isForcefullyTerminated ? `Command was gracefully canceled${forcefulSuffix}` : `Command was gracefully canceled with ${signal} (${signalDescription})`;
2482
3210
  }
2483
3211
  if (isCanceled) {
2484
- return "Command was canceled";
3212
+ return `Command was canceled${forcefulSuffix}`;
2485
3213
  }
2486
3214
  if (isMaxBuffer) {
2487
- return getMaxBufferMessage(originalError, maxBuffer);
3215
+ return `${getMaxBufferMessage(originalError, maxBuffer)}${forcefulSuffix}`;
2488
3216
  }
2489
3217
  if (errorCode !== void 0) {
2490
- return `Command failed with ${errorCode}`;
3218
+ return `Command failed with ${errorCode}${forcefulSuffix}`;
3219
+ }
3220
+ if (isForcefullyTerminated) {
3221
+ return `Command was killed with ${killSignal} (${getSignalDescription(killSignal)})${forcefulSuffix}`;
2491
3222
  }
2492
3223
  if (signal !== void 0) {
2493
3224
  return `Command was killed with ${signal} (${signalDescription})`;
@@ -2497,6 +3228,7 @@ var getErrorPrefix = ({ originalError, timedOut, timeout, isMaxBuffer, maxBuffer
2497
3228
  }
2498
3229
  return "Command failed";
2499
3230
  };
3231
+ var getForcefulSuffix = (isForcefullyTerminated, forceKillAfterDelay) => isForcefullyTerminated ? ` and was forcefully terminated after ${forceKillAfterDelay} milliseconds` : "";
2500
3232
  var getOriginalMessage = (originalError, cwd) => {
2501
3233
  if (originalError instanceof DiscardedError) {
2502
3234
  return;
@@ -2505,6 +3237,7 @@ var getOriginalMessage = (originalError, cwd) => {
2505
3237
  const escapedOriginalMessage = escapeLines(fixCwdError(originalMessage, cwd));
2506
3238
  return escapedOriginalMessage === "" ? void 0 : escapedOriginalMessage;
2507
3239
  };
3240
+ var serializeIpcMessage = (ipcMessage) => typeof ipcMessage === "string" ? ipcMessage : inspect2(ipcMessage);
2508
3241
  var serializeMessagePart = (messagePart) => Array.isArray(messagePart) ? messagePart.map((messageItem) => stripFinalNewline(serializeMessageItem(messageItem))).filter(Boolean).join("\n") : serializeMessageItem(messagePart);
2509
3242
  var serializeMessageItem = (messageItem) => {
2510
3243
  if (typeof messageItem === "string") {
@@ -2516,12 +3249,13 @@ var serializeMessageItem = (messageItem) => {
2516
3249
  return "";
2517
3250
  };
2518
3251
 
2519
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/return/result.js
3252
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/return/result.js
2520
3253
  var makeSuccessResult = ({
2521
3254
  command,
2522
3255
  escapedCommand,
2523
3256
  stdio,
2524
3257
  all,
3258
+ ipcOutput,
2525
3259
  options: { cwd },
2526
3260
  startTime
2527
3261
  }) => omitUndefinedProperties({
@@ -2532,13 +3266,16 @@ var makeSuccessResult = ({
2532
3266
  failed: false,
2533
3267
  timedOut: false,
2534
3268
  isCanceled: false,
3269
+ isGracefullyCanceled: false,
2535
3270
  isTerminated: false,
2536
3271
  isMaxBuffer: false,
3272
+ isForcefullyTerminated: false,
2537
3273
  exitCode: 0,
2538
3274
  stdout: stdio[1],
2539
3275
  stderr: stdio[2],
2540
3276
  all,
2541
3277
  stdio,
3278
+ ipcOutput,
2542
3279
  pipedFrom: []
2543
3280
  });
2544
3281
  var makeEarlyError = ({
@@ -2556,8 +3293,11 @@ var makeEarlyError = ({
2556
3293
  startTime,
2557
3294
  timedOut: false,
2558
3295
  isCanceled: false,
3296
+ isGracefullyCanceled: false,
2559
3297
  isMaxBuffer: false,
3298
+ isForcefullyTerminated: false,
2560
3299
  stdio: Array.from({ length: fileDescriptors.length }),
3300
+ ipcOutput: [],
2561
3301
  options,
2562
3302
  isSync
2563
3303
  });
@@ -2568,18 +3308,29 @@ var makeError = ({
2568
3308
  startTime,
2569
3309
  timedOut,
2570
3310
  isCanceled,
3311
+ isGracefullyCanceled,
2571
3312
  isMaxBuffer,
3313
+ isForcefullyTerminated,
2572
3314
  exitCode: rawExitCode,
2573
3315
  signal: rawSignal,
2574
3316
  stdio,
2575
3317
  all,
2576
- options: { timeoutDuration, timeout = timeoutDuration, cwd, maxBuffer },
3318
+ ipcOutput,
3319
+ options: {
3320
+ timeoutDuration,
3321
+ timeout = timeoutDuration,
3322
+ forceKillAfterDelay,
3323
+ killSignal,
3324
+ cwd,
3325
+ maxBuffer
3326
+ },
2577
3327
  isSync
2578
3328
  }) => {
2579
3329
  const { exitCode, signal, signalDescription } = normalizeExitPayload(rawExitCode, rawSignal);
2580
3330
  const { originalMessage, shortMessage, message } = createMessages({
2581
3331
  stdio,
2582
3332
  all,
3333
+ ipcOutput,
2583
3334
  originalError,
2584
3335
  signal,
2585
3336
  signalDescription,
@@ -2587,7 +3338,11 @@ var makeError = ({
2587
3338
  escapedCommand,
2588
3339
  timedOut,
2589
3340
  isCanceled,
3341
+ isGracefullyCanceled,
2590
3342
  isMaxBuffer,
3343
+ isForcefullyTerminated,
3344
+ forceKillAfterDelay,
3345
+ killSignal,
2591
3346
  maxBuffer,
2592
3347
  timeout,
2593
3348
  cwd
@@ -2600,12 +3355,15 @@ var makeError = ({
2600
3355
  startTime,
2601
3356
  timedOut,
2602
3357
  isCanceled,
3358
+ isGracefullyCanceled,
2603
3359
  isMaxBuffer,
3360
+ isForcefullyTerminated,
2604
3361
  exitCode,
2605
3362
  signal,
2606
3363
  signalDescription,
2607
3364
  stdio,
2608
3365
  all,
3366
+ ipcOutput,
2609
3367
  cwd,
2610
3368
  originalMessage,
2611
3369
  shortMessage
@@ -2619,12 +3377,15 @@ var getErrorProperties = ({
2619
3377
  startTime,
2620
3378
  timedOut,
2621
3379
  isCanceled,
3380
+ isGracefullyCanceled,
2622
3381
  isMaxBuffer,
3382
+ isForcefullyTerminated,
2623
3383
  exitCode,
2624
3384
  signal,
2625
3385
  signalDescription,
2626
3386
  stdio,
2627
3387
  all,
3388
+ ipcOutput,
2628
3389
  cwd,
2629
3390
  originalMessage,
2630
3391
  shortMessage
@@ -2638,8 +3399,10 @@ var getErrorProperties = ({
2638
3399
  failed: true,
2639
3400
  timedOut,
2640
3401
  isCanceled,
3402
+ isGracefullyCanceled,
2641
3403
  isTerminated: signal !== void 0,
2642
3404
  isMaxBuffer,
3405
+ isForcefullyTerminated,
2643
3406
  exitCode,
2644
3407
  signal,
2645
3408
  signalDescription,
@@ -2648,13 +3411,14 @@ var getErrorProperties = ({
2648
3411
  stderr: stdio[2],
2649
3412
  all,
2650
3413
  stdio,
3414
+ ipcOutput,
2651
3415
  pipedFrom: []
2652
3416
  });
2653
3417
  var omitUndefinedProperties = (result) => Object.fromEntries(Object.entries(result).filter(([, value]) => value !== void 0));
2654
3418
  var normalizeExitPayload = (rawExitCode, rawSignal) => {
2655
3419
  const exitCode = rawExitCode === null ? void 0 : rawExitCode;
2656
3420
  const signal = rawSignal === null ? void 0 : rawSignal;
2657
- const signalDescription = signal === void 0 ? void 0 : signalsByName[rawSignal].description;
3421
+ const signalDescription = signal === void 0 ? void 0 : getSignalDescription(rawSignal);
2658
3422
  return { exitCode, signal, signalDescription };
2659
3423
  };
2660
3424
 
@@ -2699,7 +3463,7 @@ function parseMilliseconds(milliseconds) {
2699
3463
 
2700
3464
  // ../../node_modules/.pnpm/pretty-ms@9.0.0/node_modules/pretty-ms/index.js
2701
3465
  var isZero = (value) => value === 0 || value === 0n;
2702
- var pluralize = (word, count) => count === 1 || count === 1n ? word : `${word}s`;
3466
+ var pluralize = (word, count2) => count2 === 1 || count2 === 1n ? word : `${word}s`;
2703
3467
  var SECOND_ROUNDING_EPSILON = 1e-7;
2704
3468
  var ONE_DAY_IN_MILLISECONDS = 24n * 60n * 60n * 1000n;
2705
3469
  function prettyMilliseconds(milliseconds, options) {
@@ -2784,7 +3548,7 @@ function prettyMilliseconds(milliseconds, options) {
2784
3548
  return result.join(separator);
2785
3549
  }
2786
3550
 
2787
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/verbose/error.js
3551
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/verbose/error.js
2788
3552
  var logError = ({ message, failed, reject, verboseId, icon }) => {
2789
3553
  if (!failed) {
2790
3554
  return;
@@ -2793,7 +3557,7 @@ var logError = ({ message, failed, reject, verboseId, icon }) => {
2793
3557
  verboseLog(message, verboseId, icon, color);
2794
3558
  };
2795
3559
 
2796
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/verbose/complete.js
3560
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/verbose/complete.js
2797
3561
  var logFinalResult = ({ shortMessage, failed, durationMs }, reject, verboseInfo) => {
2798
3562
  logResult({
2799
3563
  message: shortMessage,
@@ -2837,7 +3601,7 @@ var getIcon = (failed, reject) => {
2837
3601
  return reject ? "error" : "warning";
2838
3602
  };
2839
3603
 
2840
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/return/reject.js
3604
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/return/reject.js
2841
3605
  var handleResult = (result, verboseInfo, { reject }) => {
2842
3606
  logFinalResult(result, reject, verboseInfo);
2843
3607
  if (result.failed && reject) {
@@ -2846,10 +3610,10 @@ var handleResult = (result, verboseInfo, { reject }) => {
2846
3610
  return result;
2847
3611
  };
2848
3612
 
2849
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/stdio/handle-sync.js
3613
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/stdio/handle-sync.js
2850
3614
  import { readFileSync as readFileSync2 } from "node:fs";
2851
3615
 
2852
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/stdio/type.js
3616
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/stdio/type.js
2853
3617
  var getStdioItemType = (value, optionName) => {
2854
3618
  if (isAsyncGenerator(value)) {
2855
3619
  return "asyncGenerator";
@@ -2974,7 +3738,7 @@ var TYPE_TO_MESSAGE = {
2974
3738
  uint8Array: "a Uint8Array"
2975
3739
  };
2976
3740
 
2977
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/transform/object-mode.js
3741
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/transform/object-mode.js
2978
3742
  var getTransformObjectModes = (objectMode, index, newTransforms, direction) => direction === "output" ? getOutputObjectModes(objectMode, index, newTransforms) : getInputObjectModes(objectMode, index, newTransforms);
2979
3743
  var getOutputObjectModes = (objectMode, index, newTransforms) => {
2980
3744
  const writableObjectMode = index !== 0 && newTransforms[index - 1].value.readableObjectMode;
@@ -2994,7 +3758,7 @@ var getFdObjectMode = (stdioItems, direction) => {
2994
3758
  return direction === "input" ? lastTransform.value.writableObjectMode : lastTransform.value.readableObjectMode;
2995
3759
  };
2996
3760
 
2997
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/transform/normalize.js
3761
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/transform/normalize.js
2998
3762
  var normalizeTransforms = (stdioItems, optionName, direction, options) => [
2999
3763
  ...stdioItems.filter(({ type }) => !TRANSFORM_TYPES.has(type)),
3000
3764
  ...getTransforms(stdioItems, optionName, direction, options)
@@ -3088,7 +3852,7 @@ var normalizeGenerator = ({ stdioItem, stdioItem: { value }, index, newTransform
3088
3852
  };
3089
3853
  var sortTransforms = (newTransforms, direction) => direction === "input" ? newTransforms.reverse() : newTransforms;
3090
3854
 
3091
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/stdio/direction.js
3855
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/stdio/direction.js
3092
3856
  import process7 from "node:process";
3093
3857
  var getStreamDirection = (stdioItems, fdNumber, optionName) => {
3094
3858
  const directions = stdioItems.map((stdioItem) => getStdioItemDirection(stdioItem, fdNumber));
@@ -3138,10 +3902,13 @@ var getStandardStreamDirection = (value) => {
3138
3902
  };
3139
3903
  var DEFAULT_DIRECTION = "output";
3140
3904
 
3141
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/stdio/stdio-option.js
3905
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/array.js
3906
+ var normalizeIpcStdioArray = (stdioArray, ipc) => ipc && !stdioArray.includes("ipc") ? [...stdioArray, "ipc"] : stdioArray;
3907
+
3908
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/stdio/stdio-option.js
3142
3909
  var normalizeStdioOption = ({ stdio, ipc, buffer, verbose, ...options }, isSync) => {
3143
3910
  const stdioArray = getStdioArray(stdio, options).map((stdioOption, fdNumber) => addDefaultValue2(stdioOption, fdNumber));
3144
- return isSync ? normalizeStdioSync(stdioArray, buffer, verbose) : normalizeStdioAsync(stdioArray, ipc);
3911
+ return isSync ? normalizeStdioSync(stdioArray, buffer, verbose) : normalizeIpcStdioArray(stdioArray, ipc);
3145
3912
  };
3146
3913
  var getStdioArray = (stdio, options) => {
3147
3914
  if (stdio === void 0) {
@@ -3171,93 +3938,10 @@ var addDefaultValue2 = (stdioOption, fdNumber) => {
3171
3938
  };
3172
3939
  var normalizeStdioSync = (stdioArray, buffer, verbose) => stdioArray.map((stdioOption, fdNumber) => !buffer[fdNumber] && fdNumber !== 0 && verbose[fdNumber] !== "full" && isOutputPipeOnly(stdioOption) ? "ignore" : stdioOption);
3173
3940
  var isOutputPipeOnly = (stdioOption) => stdioOption === "pipe" || Array.isArray(stdioOption) && stdioOption.every((item) => item === "pipe");
3174
- var normalizeStdioAsync = (stdioArray, ipc) => ipc && !stdioArray.includes("ipc") ? [...stdioArray, "ipc"] : stdioArray;
3175
3941
 
3176
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/stdio/native.js
3942
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/stdio/native.js
3177
3943
  import { readFileSync } from "node:fs";
3178
3944
  import tty2 from "node:tty";
3179
-
3180
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/arguments/fd-options.js
3181
- var getToStream = (destination, to = "stdin") => {
3182
- const isWritable = true;
3183
- const { options, fileDescriptors } = SUBPROCESS_OPTIONS.get(destination);
3184
- const fdNumber = getFdNumber(fileDescriptors, to, isWritable);
3185
- const destinationStream = destination.stdio[fdNumber];
3186
- if (destinationStream === null) {
3187
- throw new TypeError(getInvalidStdioOptionMessage(fdNumber, to, options, isWritable));
3188
- }
3189
- return destinationStream;
3190
- };
3191
- var getFromStream = (source, from = "stdout") => {
3192
- const isWritable = false;
3193
- const { options, fileDescriptors } = SUBPROCESS_OPTIONS.get(source);
3194
- const fdNumber = getFdNumber(fileDescriptors, from, isWritable);
3195
- const sourceStream = fdNumber === "all" ? source.all : source.stdio[fdNumber];
3196
- if (sourceStream === null || sourceStream === void 0) {
3197
- throw new TypeError(getInvalidStdioOptionMessage(fdNumber, from, options, isWritable));
3198
- }
3199
- return sourceStream;
3200
- };
3201
- var SUBPROCESS_OPTIONS = /* @__PURE__ */ new WeakMap();
3202
- var getFdNumber = (fileDescriptors, fdName, isWritable) => {
3203
- const fdNumber = parseFdNumber(fdName, isWritable);
3204
- validateFdNumber(fdNumber, fdName, isWritable, fileDescriptors);
3205
- return fdNumber;
3206
- };
3207
- var parseFdNumber = (fdName, isWritable) => {
3208
- const fdNumber = parseFd(fdName);
3209
- if (fdNumber !== void 0) {
3210
- return fdNumber;
3211
- }
3212
- const { validOptions, defaultValue } = isWritable ? { validOptions: '"stdin"', defaultValue: "stdin" } : { validOptions: '"stdout", "stderr", "all"', defaultValue: "stdout" };
3213
- throw new TypeError(`"${getOptionName(isWritable)}" must not be "${fdName}".
3214
- It must be ${validOptions} or "fd3", "fd4" (and so on).
3215
- It is optional and defaults to "${defaultValue}".`);
3216
- };
3217
- var validateFdNumber = (fdNumber, fdName, isWritable, fileDescriptors) => {
3218
- const fileDescriptor = fileDescriptors[getUsedDescriptor(fdNumber)];
3219
- if (fileDescriptor === void 0) {
3220
- throw new TypeError(`"${getOptionName(isWritable)}" must not be ${fdName}. That file descriptor does not exist.
3221
- Please set the "stdio" option to ensure that file descriptor exists.`);
3222
- }
3223
- if (fileDescriptor.direction === "input" && !isWritable) {
3224
- throw new TypeError(`"${getOptionName(isWritable)}" must not be ${fdName}. It must be a readable stream, not writable.`);
3225
- }
3226
- if (fileDescriptor.direction !== "input" && isWritable) {
3227
- throw new TypeError(`"${getOptionName(isWritable)}" must not be ${fdName}. It must be a writable stream, not readable.`);
3228
- }
3229
- };
3230
- var getInvalidStdioOptionMessage = (fdNumber, fdName, options, isWritable) => {
3231
- if (fdNumber === "all" && !options.all) {
3232
- return `The "all" option must be true to use "from: 'all'".`;
3233
- }
3234
- const { optionName, optionValue } = getInvalidStdioOption(fdNumber, options);
3235
- return `The "${optionName}: ${serializeOptionValue(optionValue)}" option is incompatible with using "${getOptionName(isWritable)}: ${serializeOptionValue(fdName)}".
3236
- Please set this option with "pipe" instead.`;
3237
- };
3238
- var getInvalidStdioOption = (fdNumber, { stdin, stdout, stderr, stdio }) => {
3239
- const usedDescriptor = getUsedDescriptor(fdNumber);
3240
- if (usedDescriptor === 0 && stdin !== void 0) {
3241
- return { optionName: "stdin", optionValue: stdin };
3242
- }
3243
- if (usedDescriptor === 1 && stdout !== void 0) {
3244
- return { optionName: "stdout", optionValue: stdout };
3245
- }
3246
- if (usedDescriptor === 2 && stderr !== void 0) {
3247
- return { optionName: "stderr", optionValue: stderr };
3248
- }
3249
- return { optionName: `stdio[${usedDescriptor}]`, optionValue: stdio[usedDescriptor] };
3250
- };
3251
- var getUsedDescriptor = (fdNumber) => fdNumber === "all" ? 1 : fdNumber;
3252
- var getOptionName = (isWritable) => isWritable ? "to" : "from";
3253
- var serializeOptionValue = (value) => {
3254
- if (typeof value === "string") {
3255
- return `'${value}'`;
3256
- }
3257
- return typeof value === "number" ? `${value}` : "Stream";
3258
- };
3259
-
3260
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/stdio/native.js
3261
3945
  var handleNativeStream = ({ stdioItem, stdioItem: { type }, isStdioArray, fdNumber, direction, isSync }) => {
3262
3946
  if (!isStdioArray || type !== "native") {
3263
3947
  return stdioItem;
@@ -3324,7 +4008,7 @@ var getStandardStream = (fdNumber, value, optionName) => {
3324
4008
  return standardStream;
3325
4009
  };
3326
4010
 
3327
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/stdio/input-option.js
4011
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/stdio/input-option.js
3328
4012
  var handleInputOptions = ({ input, inputFile }, fdNumber) => fdNumber === 0 ? [
3329
4013
  ...handleInputOption(input),
3330
4014
  ...handleInputFileOption(inputFile)
@@ -3360,7 +4044,7 @@ var getInputFileType = (inputFile) => {
3360
4044
  throw new Error("The `inputFile` option must be a file path string or a file URL.");
3361
4045
  };
3362
4046
 
3363
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/stdio/duplicate.js
4047
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/stdio/duplicate.js
3364
4048
  var filterDuplicates = (stdioItems) => stdioItems.filter((stdioItemOne, indexOne) => stdioItems.every((stdioItemTwo, indexTwo) => stdioItemOne.value !== stdioItemTwo.value || indexOne >= indexTwo || stdioItemOne.type === "generator" || stdioItemOne.type === "asyncGenerator"));
3365
4049
  var getDuplicateStream = ({ stdioItem: { type, value, optionName }, direction, fileDescriptors, isSync }) => {
3366
4050
  const otherStdioItems = getOtherStdioItems(fileDescriptors, type);
@@ -3418,7 +4102,7 @@ var getDuplicateStreamInstance = ({ otherStdioItems, type, value, optionName, di
3418
4102
  };
3419
4103
  var hasSameValue = ({ type, value }, secondValue) => {
3420
4104
  if (type === "filePath") {
3421
- return value.path === secondValue.path;
4105
+ return value.file === secondValue.file;
3422
4106
  }
3423
4107
  if (type === "fileUrl") {
3424
4108
  return value.href === secondValue.href;
@@ -3435,7 +4119,7 @@ var throwOnDuplicateStream = (stdioItem, optionName, type) => {
3435
4119
  }
3436
4120
  };
3437
4121
 
3438
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/stdio/handle.js
4122
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/stdio/handle.js
3439
4123
  var handleStdio = (addProperties3, options, verboseInfo, isSync) => {
3440
4124
  const stdio = normalizeStdioOption(options, isSync);
3441
4125
  const initialFileDescriptors = stdio.map((stdioOption, fdNumber) => getFileDescriptor({
@@ -3595,7 +4279,7 @@ var forwardStdio = (stdioItems) => {
3595
4279
  return type === "native" ? value : "pipe";
3596
4280
  };
3597
4281
 
3598
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/stdio/handle-sync.js
4282
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/stdio/handle-sync.js
3599
4283
  var handleStdioSync = (options, verboseInfo) => handleStdio(addPropertiesSync, options, verboseInfo, true);
3600
4284
  var forbiddenIfSync = ({ type, optionName }) => {
3601
4285
  throwInvalidSyncValue(optionName, TYPE_TO_MESSAGE[type]);
@@ -3641,14 +4325,14 @@ var addPropertiesSync = {
3641
4325
  }
3642
4326
  };
3643
4327
 
3644
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/io/strip-newline.js
4328
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/io/strip-newline.js
3645
4329
  var stripNewline = (value, { stripFinalNewline: stripFinalNewline2 }, fdNumber) => getStripFinalNewline(stripFinalNewline2, fdNumber) && value !== void 0 && !Array.isArray(value) ? stripFinalNewline(value) : value;
3646
4330
  var getStripFinalNewline = (stripFinalNewline2, fdNumber) => fdNumber === "all" ? stripFinalNewline2[1] || stripFinalNewline2[2] : stripFinalNewline2[fdNumber];
3647
4331
 
3648
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/transform/generator.js
4332
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/transform/generator.js
3649
4333
  import { Transform, getDefaultHighWaterMark } from "node:stream";
3650
4334
 
3651
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/transform/split.js
4335
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/transform/split.js
3652
4336
  var getSplitLinesGenerator = (binary, preserveNewlines, skipped, state) => binary || skipped ? void 0 : initializeSplitLines(preserveNewlines, state);
3653
4337
  var splitLinesSync = (chunk, preserveNewlines, objectMode) => objectMode ? chunk.flatMap((item) => splitLinesItemSync(item, preserveNewlines)) : splitLinesItemSync(chunk, preserveNewlines);
3654
4338
  var splitLinesItemSync = (chunk, preserveNewlines) => {
@@ -3728,7 +4412,7 @@ var linesUint8ArrayInfo = {
3728
4412
  concatBytes: concatUint8Array
3729
4413
  };
3730
4414
 
3731
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/transform/validate.js
4415
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/transform/validate.js
3732
4416
  import { Buffer as Buffer2 } from "node:buffer";
3733
4417
  var getValidateTransformInput = (writableObjectMode, optionName) => writableObjectMode ? void 0 : validateStringTransformInput.bind(void 0, optionName);
3734
4418
  var validateStringTransformInput = function* (optionName, chunk) {
@@ -3757,7 +4441,7 @@ Instead, \`yield\` should either be called with a value, or not be called at all
3757
4441
  }
3758
4442
  };
3759
4443
 
3760
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/transform/encoding-transform.js
4444
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/transform/encoding-transform.js
3761
4445
  import { Buffer as Buffer3 } from "node:buffer";
3762
4446
  import { StringDecoder as StringDecoder2 } from "node:string_decoder";
3763
4447
  var getEncodingTransformGenerator = (binary, encoding, skipped) => {
@@ -3792,7 +4476,7 @@ var encodingStringFinal = function* (stringDecoder) {
3792
4476
  }
3793
4477
  };
3794
4478
 
3795
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/transform/run-async.js
4479
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/transform/run-async.js
3796
4480
  import { callbackify } from "node:util";
3797
4481
  var pushChunks = callbackify(async (getChunks, state, getChunksArguments, transformStream) => {
3798
4482
  state.currentIterable = getChunks(...getChunksArguments);
@@ -3840,7 +4524,7 @@ var identityGenerator = function* (chunk) {
3840
4524
  yield chunk;
3841
4525
  };
3842
4526
 
3843
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/transform/run-sync.js
4527
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/transform/run-sync.js
3844
4528
  var pushChunksSync = (getChunksSync, getChunksArguments, transformStream, done) => {
3845
4529
  try {
3846
4530
  for (const chunk of getChunksSync(...getChunksArguments)) {
@@ -3882,7 +4566,7 @@ var identityGenerator2 = function* (chunk) {
3882
4566
  yield chunk;
3883
4567
  };
3884
4568
 
3885
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/transform/generator.js
4569
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/transform/generator.js
3886
4570
  var generatorToStream = ({
3887
4571
  value,
3888
4572
  value: { transform, final, writableObjectMode, readableObjectMode },
@@ -3936,7 +4620,7 @@ var addInternalGenerators = ({ transform, final, binary, writableObjectMode, rea
3936
4620
  ].filter(Boolean);
3937
4621
  };
3938
4622
 
3939
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/io/input-sync.js
4623
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/io/input-sync.js
3940
4624
  var addInputOptionsSync = (fileDescriptors, options) => {
3941
4625
  for (const fdNumber of getInputFdNumbers(fileDescriptors)) {
3942
4626
  addInputOptionSync(fileDescriptors, fdNumber, options);
@@ -3969,11 +4653,10 @@ var validateSerializable = (newContents) => {
3969
4653
  }
3970
4654
  };
3971
4655
 
3972
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/io/output-sync.js
4656
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/io/output-sync.js
3973
4657
  import { writeFileSync as writeFileSync2, appendFileSync } from "node:fs";
3974
4658
 
3975
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/verbose/output.js
3976
- import { inspect } from "node:util";
4659
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/verbose/output.js
3977
4660
  var shouldLogOutput = ({ stdioItems, encoding, verboseInfo: { verbose }, fdNumber }) => fdNumber !== "all" && verbose[fdNumber] === "full" && !BINARY_ENCODINGS.has(encoding) && fdUsesVerbose(fdNumber) && (stdioItems.some(({ type, value }) => type === "native" && PIPED_STDIO_VALUES.has(value)) || stdioItems.every(({ type }) => TRANSFORM_TYPES.has(type)));
3978
4661
  var fdUsesVerbose = (fdNumber) => fdNumber === 1 || fdNumber === 2;
3979
4662
  var PIPED_STDIO_VALUES = /* @__PURE__ */ new Set(["pipe", "overlapped"]);
@@ -3991,14 +4674,10 @@ var logLinesSync = (linesArray, verboseInfo) => {
3991
4674
  };
3992
4675
  var isPipingStream = (stream) => stream._readableState.pipes.length > 0;
3993
4676
  var logLine = (line, { verboseId }) => {
3994
- const lines = typeof line === "string" ? line : inspect(line);
3995
- const escapedLines = escapeLines(lines);
3996
- const spacedLines = escapedLines.replaceAll(" ", " ".repeat(TAB_SIZE));
3997
- verboseLog(spacedLines, verboseId, "output");
4677
+ verboseLog(serializeLogMessage(line), verboseId, "output");
3998
4678
  };
3999
- var TAB_SIZE = 2;
4000
4679
 
4001
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/io/output-sync.js
4680
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/io/output-sync.js
4002
4681
  var transformOutputSync = ({ fileDescriptors, syncResult: { output }, options, isMaxBuffer, verboseInfo }) => {
4003
4682
  if (output === null) {
4004
4683
  return { output: Array.from({ length: 3 }) };
@@ -4085,7 +4764,7 @@ var writeToFiles = (serializedResult, stdioItems, outputFiles) => {
4085
4764
  }
4086
4765
  };
4087
4766
 
4088
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/resolve/all-sync.js
4767
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/resolve/all-sync.js
4089
4768
  var getAllSync = ([, stdout, stderr], options) => {
4090
4769
  if (!options.all) {
4091
4770
  return;
@@ -4108,12 +4787,17 @@ var getAllSync = ([, stdout, stderr], options) => {
4108
4787
  return `${stdout}${stderr}`;
4109
4788
  };
4110
4789
 
4111
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/resolve/exit-async.js
4112
- import { once } from "node:events";
4113
- var waitForExit = async (subprocess) => {
4790
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/resolve/exit-async.js
4791
+ import { once as once4 } from "node:events";
4792
+ var waitForExit = async (subprocess, context) => {
4793
+ const [exitCode, signal] = await waitForExitOrError(subprocess);
4794
+ context.isForcefullyTerminated ??= false;
4795
+ return [exitCode, signal];
4796
+ };
4797
+ var waitForExitOrError = async (subprocess) => {
4114
4798
  const [spawnPayload, exitPayload] = await Promise.allSettled([
4115
- once(subprocess, "spawn"),
4116
- once(subprocess, "exit")
4799
+ once4(subprocess, "spawn"),
4800
+ once4(subprocess, "exit")
4117
4801
  ]);
4118
4802
  if (spawnPayload.status === "rejected") {
4119
4803
  return [];
@@ -4122,7 +4806,7 @@ var waitForExit = async (subprocess) => {
4122
4806
  };
4123
4807
  var waitForSubprocessExit = async (subprocess) => {
4124
4808
  try {
4125
- return await once(subprocess, "exit");
4809
+ return await once4(subprocess, "exit");
4126
4810
  } catch {
4127
4811
  return waitForSubprocessExit(subprocess);
4128
4812
  }
@@ -4137,7 +4821,7 @@ var waitForSuccessfulExit = async (exitPromise) => {
4137
4821
  var isSubprocessErrorExit = (exitCode, signal) => exitCode === void 0 && signal === void 0;
4138
4822
  var isFailedExit = (exitCode, signal) => exitCode !== 0 || signal !== null;
4139
4823
 
4140
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/resolve/exit-sync.js
4824
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/resolve/exit-sync.js
4141
4825
  var getExitResultSync = ({ error, status: exitCode, signal, output }, { maxBuffer }) => {
4142
4826
  const resultError = getResultError(error, exitCode, signal);
4143
4827
  const timedOut = resultError?.code === "ETIMEDOUT";
@@ -4157,7 +4841,7 @@ var getResultError = (error, exitCode, signal) => {
4157
4841
  return isFailedExit(exitCode, signal) ? new DiscardedError() : void 0;
4158
4842
  };
4159
4843
 
4160
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/methods/main-sync.js
4844
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/methods/main-sync.js
4161
4845
  var execaCoreSync = (rawFile, rawArguments, rawOptions) => {
4162
4846
  const { file, commandArguments, command, escapedCommand, startTime, verboseInfo, options, fileDescriptors } = handleSyncArguments(rawFile, rawArguments, rawOptions);
4163
4847
  const result = spawnSubprocessSync({
@@ -4195,7 +4879,10 @@ var handleSyncArguments = (rawFile, rawArguments, rawOptions) => {
4195
4879
  }
4196
4880
  };
4197
4881
  var normalizeSyncOptions = (options) => options.node && !options.ipc ? { ...options, ipc: false } : options;
4198
- var validateSyncOptions = ({ ipc, detached, cancelSignal }) => {
4882
+ var validateSyncOptions = ({ ipc, ipcInput, detached, cancelSignal }) => {
4883
+ if (ipcInput) {
4884
+ throwInvalidSyncOption("ipcInput");
4885
+ }
4199
4886
  if (ipc) {
4200
4887
  throwInvalidSyncOption("ipc: true");
4201
4888
  }
@@ -4269,6 +4956,7 @@ var getSyncResult = ({ error, exitCode, signal, timedOut, isMaxBuffer, stdio, al
4269
4956
  escapedCommand,
4270
4957
  stdio,
4271
4958
  all,
4959
+ ipcOutput: [],
4272
4960
  options,
4273
4961
  startTime
4274
4962
  }) : makeError({
@@ -4277,21 +4965,200 @@ var getSyncResult = ({ error, exitCode, signal, timedOut, isMaxBuffer, stdio, al
4277
4965
  escapedCommand,
4278
4966
  timedOut,
4279
4967
  isCanceled: false,
4968
+ isGracefullyCanceled: false,
4280
4969
  isMaxBuffer,
4970
+ isForcefullyTerminated: false,
4281
4971
  exitCode,
4282
4972
  signal,
4283
4973
  stdio,
4284
4974
  all,
4975
+ ipcOutput: [],
4285
4976
  options,
4286
4977
  startTime,
4287
4978
  isSync: true
4288
4979
  });
4289
4980
 
4290
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/methods/main-async.js
4981
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/methods/main-async.js
4291
4982
  import { setMaxListeners } from "node:events";
4292
4983
  import { spawn } from "node:child_process";
4293
4984
 
4294
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/return/early-error.js
4985
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/methods.js
4986
+ import process8 from "node:process";
4987
+
4988
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/get-one.js
4989
+ import { once as once5, on as on2 } from "node:events";
4990
+ var getOneMessage = ({ anyProcess, channel, isSubprocess, ipc }, { reference = true, filter } = {}) => {
4991
+ validateIpcMethod({
4992
+ methodName: "getOneMessage",
4993
+ isSubprocess,
4994
+ ipc,
4995
+ isConnected: isConnected(anyProcess)
4996
+ });
4997
+ return getOneMessageAsync({
4998
+ anyProcess,
4999
+ channel,
5000
+ isSubprocess,
5001
+ filter,
5002
+ reference
5003
+ });
5004
+ };
5005
+ var getOneMessageAsync = async ({ anyProcess, channel, isSubprocess, filter, reference }) => {
5006
+ addReference(channel, reference);
5007
+ const ipcEmitter = getIpcEmitter(anyProcess, channel, isSubprocess);
5008
+ const controller = new AbortController();
5009
+ try {
5010
+ return await Promise.race([
5011
+ getMessage(ipcEmitter, filter, controller),
5012
+ throwOnDisconnect2(ipcEmitter, isSubprocess, controller),
5013
+ throwOnStrictError(ipcEmitter, isSubprocess, controller)
5014
+ ]);
5015
+ } catch (error) {
5016
+ disconnect(anyProcess);
5017
+ throw error;
5018
+ } finally {
5019
+ controller.abort();
5020
+ removeReference(channel, reference);
5021
+ }
5022
+ };
5023
+ var getMessage = async (ipcEmitter, filter, { signal }) => {
5024
+ if (filter === void 0) {
5025
+ const [message] = await once5(ipcEmitter, "message", { signal });
5026
+ return message;
5027
+ }
5028
+ for await (const [message] of on2(ipcEmitter, "message", { signal })) {
5029
+ if (filter(message)) {
5030
+ return message;
5031
+ }
5032
+ }
5033
+ };
5034
+ var throwOnDisconnect2 = async (ipcEmitter, isSubprocess, { signal }) => {
5035
+ await once5(ipcEmitter, "disconnect", { signal });
5036
+ throwOnEarlyDisconnect(isSubprocess);
5037
+ };
5038
+ var throwOnStrictError = async (ipcEmitter, isSubprocess, { signal }) => {
5039
+ const [error] = await once5(ipcEmitter, "strict:error", { signal });
5040
+ throw getStrictResponseError(error, isSubprocess);
5041
+ };
5042
+
5043
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/get-each.js
5044
+ import { once as once6, on as on3 } from "node:events";
5045
+ var getEachMessage = ({ anyProcess, channel, isSubprocess, ipc }, { reference = true } = {}) => loopOnMessages({
5046
+ anyProcess,
5047
+ channel,
5048
+ isSubprocess,
5049
+ ipc,
5050
+ shouldAwait: !isSubprocess,
5051
+ reference
5052
+ });
5053
+ var loopOnMessages = ({ anyProcess, channel, isSubprocess, ipc, shouldAwait, reference }) => {
5054
+ validateIpcMethod({
5055
+ methodName: "getEachMessage",
5056
+ isSubprocess,
5057
+ ipc,
5058
+ isConnected: isConnected(anyProcess)
5059
+ });
5060
+ addReference(channel, reference);
5061
+ const ipcEmitter = getIpcEmitter(anyProcess, channel, isSubprocess);
5062
+ const controller = new AbortController();
5063
+ const state = {};
5064
+ stopOnDisconnect(anyProcess, ipcEmitter, controller);
5065
+ abortOnStrictError({
5066
+ ipcEmitter,
5067
+ isSubprocess,
5068
+ controller,
5069
+ state
5070
+ });
5071
+ return iterateOnMessages({
5072
+ anyProcess,
5073
+ channel,
5074
+ ipcEmitter,
5075
+ isSubprocess,
5076
+ shouldAwait,
5077
+ controller,
5078
+ state,
5079
+ reference
5080
+ });
5081
+ };
5082
+ var stopOnDisconnect = async (anyProcess, ipcEmitter, controller) => {
5083
+ try {
5084
+ await once6(ipcEmitter, "disconnect", { signal: controller.signal });
5085
+ controller.abort();
5086
+ } catch {
5087
+ }
5088
+ };
5089
+ var abortOnStrictError = async ({ ipcEmitter, isSubprocess, controller, state }) => {
5090
+ try {
5091
+ const [error] = await once6(ipcEmitter, "strict:error", { signal: controller.signal });
5092
+ state.error = getStrictResponseError(error, isSubprocess);
5093
+ controller.abort();
5094
+ } catch {
5095
+ }
5096
+ };
5097
+ var iterateOnMessages = async function* ({ anyProcess, channel, ipcEmitter, isSubprocess, shouldAwait, controller, state, reference }) {
5098
+ try {
5099
+ for await (const [message] of on3(ipcEmitter, "message", { signal: controller.signal })) {
5100
+ throwIfStrictError(state);
5101
+ yield message;
5102
+ }
5103
+ } catch {
5104
+ throwIfStrictError(state);
5105
+ } finally {
5106
+ controller.abort();
5107
+ removeReference(channel, reference);
5108
+ if (!isSubprocess) {
5109
+ disconnect(anyProcess);
5110
+ }
5111
+ if (shouldAwait) {
5112
+ await anyProcess;
5113
+ }
5114
+ }
5115
+ };
5116
+ var throwIfStrictError = ({ error }) => {
5117
+ if (error) {
5118
+ throw error;
5119
+ }
5120
+ };
5121
+
5122
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/methods.js
5123
+ var addIpcMethods = (subprocess, { ipc }) => {
5124
+ Object.assign(subprocess, getIpcMethods(subprocess, false, ipc));
5125
+ };
5126
+ var getIpcExport = () => {
5127
+ const anyProcess = process8;
5128
+ const isSubprocess = true;
5129
+ const ipc = process8.channel !== void 0;
5130
+ return {
5131
+ ...getIpcMethods(anyProcess, isSubprocess, ipc),
5132
+ getCancelSignal: getCancelSignal.bind(void 0, {
5133
+ anyProcess,
5134
+ channel: anyProcess.channel,
5135
+ isSubprocess,
5136
+ ipc
5137
+ })
5138
+ };
5139
+ };
5140
+ var getIpcMethods = (anyProcess, isSubprocess, ipc) => ({
5141
+ sendMessage: sendMessage.bind(void 0, {
5142
+ anyProcess,
5143
+ channel: anyProcess.channel,
5144
+ isSubprocess,
5145
+ ipc
5146
+ }),
5147
+ getOneMessage: getOneMessage.bind(void 0, {
5148
+ anyProcess,
5149
+ channel: anyProcess.channel,
5150
+ isSubprocess,
5151
+ ipc
5152
+ }),
5153
+ getEachMessage: getEachMessage.bind(void 0, {
5154
+ anyProcess,
5155
+ channel: anyProcess.channel,
5156
+ isSubprocess,
5157
+ ipc
5158
+ })
5159
+ });
5160
+
5161
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/return/early-error.js
4295
5162
  import { ChildProcess as ChildProcess2 } from "node:child_process";
4296
5163
  import {
4297
5164
  PassThrough,
@@ -4345,7 +5212,7 @@ var duplex = () => new Duplex({ read() {
4345
5212
  } });
4346
5213
  var handleDummyPromise = async (error, verboseInfo, options) => handleResult(error, verboseInfo, options);
4347
5214
 
4348
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/stdio/handle-async.js
5215
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/stdio/handle-async.js
4349
5216
  import { createReadStream, createWriteStream } from "node:fs";
4350
5217
  import { Buffer as Buffer4 } from "node:buffer";
4351
5218
  import { Readable as Readable2, Writable as Writable2, Duplex as Duplex2 } from "node:stream";
@@ -4391,7 +5258,7 @@ var addPropertiesAsync = {
4391
5258
  };
4392
5259
 
4393
5260
  // ../../node_modules/.pnpm/@sindresorhus+merge-streams@4.0.0/node_modules/@sindresorhus/merge-streams/index.js
4394
- import { on as on2, once as once2 } from "node:events";
5261
+ import { on as on4, once as once7 } from "node:events";
4395
5262
  import { PassThrough as PassThroughStream, getDefaultHighWaterMark as getDefaultHighWaterMark2 } from "node:stream";
4396
5263
  import { finished as finished2 } from "node:stream/promises";
4397
5264
  function mergeStreams(streams) {
@@ -4483,7 +5350,7 @@ var onMergedStreamEnd = async (passThroughStream, { signal }) => {
4483
5350
  }
4484
5351
  };
4485
5352
  var onInputStreamsUnpipe = async (passThroughStream, streams, unpipeEvent, { signal }) => {
4486
- for await (const [unpipedStream] of on2(passThroughStream, "unpipe", { signal })) {
5353
+ for await (const [unpipedStream] of on4(passThroughStream, "unpipe", { signal })) {
4487
5354
  if (streams.has(unpipedStream)) {
4488
5355
  unpipedStream.emit(unpipeEvent);
4489
5356
  }
@@ -4564,9 +5431,9 @@ var onInputStreamEnd = async ({ passThroughStream, stream, streams, ended, abort
4564
5431
  }
4565
5432
  };
4566
5433
  var onInputStreamUnpipe = async ({ stream, streams, ended, aborted: aborted2, unpipeEvent, controller: { signal } }) => {
4567
- await once2(stream, unpipeEvent, { signal });
5434
+ await once7(stream, unpipeEvent, { signal });
4568
5435
  if (!stream.readable) {
4569
- return once2(signal, "abort", { signal });
5436
+ return once7(signal, "abort", { signal });
4570
5437
  }
4571
5438
  streams.delete(stream);
4572
5439
  ended.delete(stream);
@@ -4607,20 +5474,7 @@ var updateMaxListeners = (passThroughStream, increment2) => {
4607
5474
  var PASSTHROUGH_LISTENERS_COUNT = 2;
4608
5475
  var PASSTHROUGH_LISTENERS_PER_STREAM = 1;
4609
5476
 
4610
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/utils/max-listeners.js
4611
- import { addAbortListener } from "node:events";
4612
- var incrementMaxListeners = (eventEmitter, maxListenersIncrement, signal) => {
4613
- const maxListeners = eventEmitter.getMaxListeners();
4614
- if (maxListeners === 0 || maxListeners === Number.POSITIVE_INFINITY) {
4615
- return;
4616
- }
4617
- eventEmitter.setMaxListeners(maxListeners + maxListenersIncrement);
4618
- addAbortListener(signal, () => {
4619
- eventEmitter.setMaxListeners(eventEmitter.getMaxListeners() - maxListenersIncrement);
4620
- });
4621
- };
4622
-
4623
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/io/pipeline.js
5477
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/io/pipeline.js
4624
5478
  import { finished as finished3 } from "node:stream/promises";
4625
5479
  var pipeStreams = (source, destination) => {
4626
5480
  source.pipe(destination);
@@ -4658,7 +5512,7 @@ var abortSourceStream = (source) => {
4658
5512
  }
4659
5513
  };
4660
5514
 
4661
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/io/output-async.js
5515
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/io/output-async.js
4662
5516
  var pipeOutputAsync = (subprocess, fileDescriptors, controller) => {
4663
5517
  const pipeGroups = /* @__PURE__ */ new Map();
4664
5518
  for (const [fdNumber, { stdioItems, direction }] of Object.entries(fileDescriptors)) {
@@ -4710,7 +5564,7 @@ var setStandardStreamMaxListeners = (stream, { signal }) => {
4710
5564
  };
4711
5565
  var MAX_LISTENERS_INCREMENT = 2;
4712
5566
 
4713
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/terminate/cleanup.js
5567
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/terminate/cleanup.js
4714
5568
  import { addAbortListener as addAbortListener2 } from "node:events";
4715
5569
 
4716
5570
  // ../../node_modules/.pnpm/signal-exit@4.1.0/node_modules/signal-exit/dist/mjs/signals.js
@@ -4738,7 +5592,7 @@ if (process.platform === "linux") {
4738
5592
  }
4739
5593
 
4740
5594
  // ../../node_modules/.pnpm/signal-exit@4.1.0/node_modules/signal-exit/dist/mjs/index.js
4741
- var processOk = (process9) => !!process9 && typeof process9 === "object" && typeof process9.removeListener === "function" && typeof process9.emit === "function" && typeof process9.reallyExit === "function" && typeof process9.listeners === "function" && typeof process9.kill === "function" && typeof process9.pid === "number" && typeof process9.on === "function";
5595
+ var processOk = (process10) => !!process10 && typeof process10 === "object" && typeof process10.removeListener === "function" && typeof process10.emit === "function" && typeof process10.reallyExit === "function" && typeof process10.listeners === "function" && typeof process10.kill === "function" && typeof process10.pid === "number" && typeof process10.on === "function";
4742
5596
  var kExitEmitter = Symbol.for("signal-exit emitter");
4743
5597
  var global2 = globalThis;
4744
5598
  var ObjectDefineProperty = Object.defineProperty.bind(Object);
@@ -4823,7 +5677,7 @@ var SignalExit = class extends SignalExitBase {
4823
5677
  // "SIGHUP" throws an `ENOSYS` error on Windows,
4824
5678
  // so use a supported signal instead
4825
5679
  /* c8 ignore start */
4826
- #hupSig = process8.platform === "win32" ? "SIGINT" : "SIGHUP";
5680
+ #hupSig = process9.platform === "win32" ? "SIGINT" : "SIGHUP";
4827
5681
  /* c8 ignore stop */
4828
5682
  #emitter = new Emitter();
4829
5683
  #process;
@@ -4831,29 +5685,29 @@ var SignalExit = class extends SignalExitBase {
4831
5685
  #originalProcessReallyExit;
4832
5686
  #sigListeners = {};
4833
5687
  #loaded = false;
4834
- constructor(process9) {
5688
+ constructor(process10) {
4835
5689
  super();
4836
- this.#process = process9;
5690
+ this.#process = process10;
4837
5691
  this.#sigListeners = {};
4838
5692
  for (const sig of signals) {
4839
5693
  this.#sigListeners[sig] = () => {
4840
5694
  const listeners = this.#process.listeners(sig);
4841
- let { count } = this.#emitter;
4842
- const p = process9;
5695
+ let { count: count2 } = this.#emitter;
5696
+ const p = process10;
4843
5697
  if (typeof p.__signal_exit_emitter__ === "object" && typeof p.__signal_exit_emitter__.count === "number") {
4844
- count += p.__signal_exit_emitter__.count;
5698
+ count2 += p.__signal_exit_emitter__.count;
4845
5699
  }
4846
- if (listeners.length === count) {
5700
+ if (listeners.length === count2) {
4847
5701
  this.unload();
4848
5702
  const ret = this.#emitter.emit("exit", null, sig);
4849
5703
  const s = sig === "SIGHUP" ? this.#hupSig : sig;
4850
5704
  if (!ret)
4851
- process9.kill(process9.pid, s);
5705
+ process10.kill(process10.pid, s);
4852
5706
  }
4853
5707
  };
4854
5708
  }
4855
- this.#originalProcessReallyExit = process9.reallyExit;
4856
- this.#originalProcessEmit = process9.emit;
5709
+ this.#originalProcessReallyExit = process10.reallyExit;
5710
+ this.#originalProcessEmit = process10.emit;
4857
5711
  }
4858
5712
  onExit(cb, opts) {
4859
5713
  if (!processOk(this.#process)) {
@@ -4934,7 +5788,7 @@ var SignalExit = class extends SignalExitBase {
4934
5788
  }
4935
5789
  }
4936
5790
  };
4937
- var process8 = globalThis.process;
5791
+ var process9 = globalThis.process;
4938
5792
  var {
4939
5793
  /**
4940
5794
  * Called when the process is exiting, whether via signal, explicit
@@ -4962,9 +5816,9 @@ var {
4962
5816
  * @internal
4963
5817
  */
4964
5818
  unload
4965
- } = signalExitWrap(processOk(process8) ? new SignalExit(process8) : new SignalExitFallback());
5819
+ } = signalExitWrap(processOk(process9) ? new SignalExit(process9) : new SignalExitFallback());
4966
5820
 
4967
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/terminate/cleanup.js
5821
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/terminate/cleanup.js
4968
5822
  var cleanupOnExit = (subprocess, { cleanup, detached }, { signal }) => {
4969
5823
  if (!cleanup || detached) {
4970
5824
  return;
@@ -4977,7 +5831,7 @@ var cleanupOnExit = (subprocess, { cleanup, detached }, { signal }) => {
4977
5831
  });
4978
5832
  };
4979
5833
 
4980
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/pipe/pipe-arguments.js
5834
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/pipe/pipe-arguments.js
4981
5835
  var normalizePipeArguments = ({ source, sourcePromise, boundOptions, createNested }, ...pipeArguments) => {
4982
5836
  const startTime = getStartTime();
4983
5837
  const {
@@ -5050,7 +5904,7 @@ var getSourceStream = (source, from) => {
5050
5904
  }
5051
5905
  };
5052
5906
 
5053
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/pipe/throw.js
5907
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/pipe/throw.js
5054
5908
  var handlePipeArgumentsError = ({
5055
5909
  sourceStream,
5056
5910
  sourceError,
@@ -5099,7 +5953,7 @@ var createNonCommandError = ({ error, fileDescriptors, sourceOptions, startTime
5099
5953
  });
5100
5954
  var PIPE_COMMAND_MESSAGE = "source.pipe(destination)";
5101
5955
 
5102
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/pipe/sequence.js
5956
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/pipe/sequence.js
5103
5957
  var waitForBothSubprocesses = async (subprocessPromises) => {
5104
5958
  const [
5105
5959
  { status: sourceStatus, reason: sourceReason, value: sourceResult = sourceReason },
@@ -5117,7 +5971,7 @@ var waitForBothSubprocesses = async (subprocessPromises) => {
5117
5971
  return destinationResult;
5118
5972
  };
5119
5973
 
5120
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/pipe/streaming.js
5974
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/pipe/streaming.js
5121
5975
  import { finished as finished4 } from "node:stream/promises";
5122
5976
  var pipeSubprocessStream = (sourceStream, destinationStream, maxListenersController) => {
5123
5977
  const mergedStream = MERGED_STREAMS.has(destinationStream) ? pipeMoreSubprocessStream(sourceStream, destinationStream) : pipeFirstSubprocessStream(sourceStream, destinationStream);
@@ -5148,7 +6002,7 @@ var MERGED_STREAMS = /* @__PURE__ */ new WeakMap();
5148
6002
  var SOURCE_LISTENERS_PER_PIPE = 2;
5149
6003
  var DESTINATION_LISTENERS_PER_PIPE = 1;
5150
6004
 
5151
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/pipe/abort.js
6005
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/pipe/abort.js
5152
6006
  import { aborted } from "node:util";
5153
6007
  var unpipeOnAbort = (unpipeSignal, unpipeContext) => unpipeSignal === void 0 ? [] : [unpipeOnSignalAbort(unpipeSignal, unpipeContext)];
5154
6008
  var unpipeOnSignalAbort = async (unpipeSignal, { sourceStream, mergedStream, fileDescriptors, sourceOptions, startTime }) => {
@@ -5163,7 +6017,7 @@ var unpipeOnSignalAbort = async (unpipeSignal, { sourceStream, mergedStream, fil
5163
6017
  });
5164
6018
  };
5165
6019
 
5166
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/pipe/setup.js
6020
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/pipe/setup.js
5167
6021
  var pipeToSubprocess = (sourceInfo, ...pipeArguments) => {
5168
6022
  if (isPlainObject(pipeArguments[0])) {
5169
6023
  return pipeToSubprocess.bind(void 0, {
@@ -5222,11 +6076,11 @@ var handlePipePromise = async ({
5222
6076
  };
5223
6077
  var getSubprocessPromises = (sourcePromise, destination) => Promise.allSettled([sourcePromise, destination]);
5224
6078
 
5225
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/io/contents.js
6079
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/io/contents.js
5226
6080
  import { setImmediate } from "node:timers/promises";
5227
6081
 
5228
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/io/iterate.js
5229
- import { on as on3 } from "node:events";
6082
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/io/iterate.js
6083
+ import { on as on5 } from "node:events";
5230
6084
  import { getDefaultHighWaterMark as getDefaultHighWaterMark3 } from "node:stream";
5231
6085
  var iterateOnSubprocessStream = ({ subprocessStdout, subprocess, binary, shouldEncode, encoding, preserveNewlines }) => {
5232
6086
  const controller = new AbortController();
@@ -5273,7 +6127,7 @@ var stopReadingOnStreamEnd = async (onStreamEnd, controller, stream) => {
5273
6127
  }
5274
6128
  };
5275
6129
  var iterateOnStream = ({ stream, controller, binary, shouldEncode, encoding, shouldSplit, preserveNewlines }) => {
5276
- const onStdoutChunk = on3(stream, "data", {
6130
+ const onStdoutChunk = on5(stream, "data", {
5277
6131
  signal: controller.signal,
5278
6132
  highWaterMark: HIGH_WATER_MARK,
5279
6133
  // Backward compatibility with older name for this option
@@ -5318,7 +6172,7 @@ var getGenerators = ({ binary, shouldEncode, encoding, shouldSplit, preserveNewl
5318
6172
  getSplitLinesGenerator(binary, preserveNewlines, !shouldSplit, {})
5319
6173
  ].filter(Boolean);
5320
6174
 
5321
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/io/contents.js
6175
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/io/contents.js
5322
6176
  var getStreamOutput = async ({ stream, onStreamEnd, fdNumber, encoding, buffer, maxBuffer, lines, allMixed, stripFinalNewline: stripFinalNewline2, verboseInfo, streamInfo: { fileDescriptors } }) => {
5323
6177
  if (shouldLogOutput({
5324
6178
  stdioItems: fileDescriptors[fdNumber]?.stdioItems,
@@ -5393,7 +6247,7 @@ var getBufferedData = async (streamPromise) => {
5393
6247
  };
5394
6248
  var handleBufferedData = ({ bufferedData }) => isArrayBuffer(bufferedData) ? new Uint8Array(bufferedData) : bufferedData;
5395
6249
 
5396
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/resolve/wait-stream.js
6250
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/resolve/wait-stream.js
5397
6251
  import { finished as finished5 } from "node:stream/promises";
5398
6252
  var waitForStream = async (stream, fdNumber, streamInfo, { isSameDirection, stopOnExit = false } = {}) => {
5399
6253
  const state = handleStdinDestroy(stream, streamInfo);
@@ -5446,7 +6300,7 @@ var isInputFileDescriptor = ({ fileDescriptors }, fdNumber) => fdNumber !== "all
5446
6300
  var isStreamAbort = (error) => error?.code === "ERR_STREAM_PREMATURE_CLOSE";
5447
6301
  var isStreamEpipe = (error) => error?.code === "EPIPE";
5448
6302
 
5449
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/resolve/stdio.js
6303
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/resolve/stdio.js
5450
6304
  var waitForStdioStreams = ({ subprocess, encoding, buffer, maxBuffer, lines, stripFinalNewline: stripFinalNewline2, verboseInfo, streamInfo }) => subprocess.stdio.map((stream, fdNumber) => waitForSubprocessStream({
5451
6305
  stream,
5452
6306
  fdNumber,
@@ -5487,7 +6341,7 @@ var waitForSubprocessStream = async ({ stream, fdNumber, encoding, buffer, maxBu
5487
6341
  return output;
5488
6342
  };
5489
6343
 
5490
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/resolve/all-async.js
6344
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/resolve/all-async.js
5491
6345
  var makeAllStream = ({ stdout, stderr }, { all }) => all && (stdout || stderr) ? mergeStreams([stdout, stderr].filter(Boolean)) : void 0;
5492
6346
  var waitForAllStream = ({ subprocess, encoding, buffer, maxBuffer, lines, stripFinalNewline: stripFinalNewline2, verboseInfo, streamInfo }) => waitForSubprocessStream({
5493
6347
  ...getAllStream(subprocess, buffer),
@@ -5515,11 +6369,69 @@ var getAllStream = ({ stdout, stderr, all }, [, bufferStdout, bufferStderr]) =>
5515
6369
  };
5516
6370
  var getAllMixed = ({ all, stdout, stderr }) => all && stdout && stderr && stdout.readableObjectMode !== stderr.readableObjectMode;
5517
6371
 
5518
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/resolve/wait-subprocess.js
5519
- import { once as once3 } from "node:events";
6372
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/resolve/wait-subprocess.js
6373
+ import { once as once8 } from "node:events";
6374
+
6375
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/verbose/ipc.js
6376
+ var shouldLogIpc = ({ verbose }) => verbose.at(-1) === "full";
6377
+ var logIpcOutput = (message, { verboseId }) => {
6378
+ verboseLog(serializeLogMessage(message), verboseId, "ipc");
6379
+ };
6380
+
6381
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/ipc/buffer-messages.js
6382
+ var waitForIpcOutput = async ({
6383
+ subprocess,
6384
+ buffer: bufferArray,
6385
+ maxBuffer: maxBufferArray,
6386
+ ipc,
6387
+ ipcOutput,
6388
+ verboseInfo
6389
+ }) => {
6390
+ if (!ipc) {
6391
+ return ipcOutput;
6392
+ }
6393
+ const isVerbose2 = shouldLogIpc(verboseInfo);
6394
+ const buffer = bufferArray.at(-1);
6395
+ const maxBuffer = maxBufferArray.at(-1);
6396
+ for await (const message of loopOnMessages({
6397
+ anyProcess: subprocess,
6398
+ channel: subprocess.channel,
6399
+ isSubprocess: false,
6400
+ ipc,
6401
+ shouldAwait: false,
6402
+ reference: true
6403
+ })) {
6404
+ if (buffer) {
6405
+ checkIpcMaxBuffer(subprocess, ipcOutput, maxBuffer);
6406
+ ipcOutput.push(message);
6407
+ }
6408
+ if (isVerbose2) {
6409
+ logIpcOutput(message, verboseInfo);
6410
+ }
6411
+ }
6412
+ return ipcOutput;
6413
+ };
6414
+ var getBufferedIpcOutput = async (ipcOutputPromise, ipcOutput) => {
6415
+ await Promise.allSettled([ipcOutputPromise]);
6416
+ return ipcOutput;
6417
+ };
6418
+
6419
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/resolve/wait-subprocess.js
5520
6420
  var waitForSubprocessResult = async ({
5521
6421
  subprocess,
5522
- options: { encoding, buffer, maxBuffer, lines, timeoutDuration: timeout, stripFinalNewline: stripFinalNewline2 },
6422
+ options: {
6423
+ encoding,
6424
+ buffer,
6425
+ maxBuffer,
6426
+ lines,
6427
+ timeoutDuration: timeout,
6428
+ cancelSignal,
6429
+ gracefulCancel,
6430
+ forceKillAfterDelay,
6431
+ stripFinalNewline: stripFinalNewline2,
6432
+ ipc,
6433
+ ipcInput
6434
+ },
5523
6435
  context,
5524
6436
  verboseInfo,
5525
6437
  fileDescriptors,
@@ -5527,7 +6439,7 @@ var waitForSubprocessResult = async ({
5527
6439
  onInternalError,
5528
6440
  controller
5529
6441
  }) => {
5530
- const exitPromise = waitForExit(subprocess);
6442
+ const exitPromise = waitForExit(subprocess, context);
5531
6443
  const streamInfo = {
5532
6444
  originalStreams,
5533
6445
  fileDescriptors,
@@ -5555,6 +6467,15 @@ var waitForSubprocessResult = async ({
5555
6467
  verboseInfo,
5556
6468
  streamInfo
5557
6469
  });
6470
+ const ipcOutput = [];
6471
+ const ipcOutputPromise = waitForIpcOutput({
6472
+ subprocess,
6473
+ buffer,
6474
+ maxBuffer,
6475
+ ipc,
6476
+ ipcOutput,
6477
+ verboseInfo
6478
+ });
5558
6479
  const originalPromises = waitForOriginalStreams(originalStreams, subprocess, streamInfo);
5559
6480
  const customStreamsEndPromises = waitForCustomStreamsEnd(fileDescriptors, streamInfo);
5560
6481
  try {
@@ -5564,19 +6485,38 @@ var waitForSubprocessResult = async ({
5564
6485
  waitForSuccessfulExit(exitPromise),
5565
6486
  Promise.all(stdioPromises),
5566
6487
  allPromise,
6488
+ ipcOutputPromise,
6489
+ sendIpcInput(subprocess, ipcInput),
5567
6490
  ...originalPromises,
5568
6491
  ...customStreamsEndPromises
5569
6492
  ]),
5570
6493
  onInternalError,
5571
6494
  throwOnSubprocessError(subprocess, controller),
5572
- ...throwOnTimeout(subprocess, timeout, context, controller)
6495
+ ...throwOnTimeout(subprocess, timeout, context, controller),
6496
+ ...throwOnCancel({
6497
+ subprocess,
6498
+ cancelSignal,
6499
+ gracefulCancel,
6500
+ context,
6501
+ controller
6502
+ }),
6503
+ ...throwOnGracefulCancel({
6504
+ subprocess,
6505
+ cancelSignal,
6506
+ gracefulCancel,
6507
+ forceKillAfterDelay,
6508
+ context,
6509
+ controller
6510
+ })
5573
6511
  ]);
5574
6512
  } catch (error) {
6513
+ context.terminationReason ??= "other";
5575
6514
  return Promise.all([
5576
6515
  { error },
5577
6516
  exitPromise,
5578
6517
  Promise.all(stdioPromises.map((stdioPromise) => getBufferedData(stdioPromise))),
5579
6518
  getBufferedData(allPromise),
6519
+ getBufferedIpcOutput(ipcOutputPromise, ipcOutput),
5580
6520
  Promise.allSettled(originalPromises),
5581
6521
  Promise.allSettled(customStreamsEndPromises)
5582
6522
  ]);
@@ -5588,20 +6528,11 @@ var waitForCustomStreamsEnd = (fileDescriptors, streamInfo) => fileDescriptors.f
5588
6528
  stopOnExit: type === "native"
5589
6529
  })));
5590
6530
  var throwOnSubprocessError = async (subprocess, { signal }) => {
5591
- const [error] = await once3(subprocess, "error", { signal });
6531
+ const [error] = await once8(subprocess, "error", { signal });
5592
6532
  throw error;
5593
6533
  };
5594
6534
 
5595
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/utils/deferred.js
5596
- var createDeferred = () => {
5597
- const methods = {};
5598
- const promise = new Promise((resolve3, reject) => {
5599
- Object.assign(methods, { resolve: resolve3, reject });
5600
- });
5601
- return Object.assign(promise, methods);
5602
- };
5603
-
5604
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/convert/concurrent.js
6535
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/convert/concurrent.js
5605
6536
  var initializeConcurrentStreams = () => ({
5606
6537
  readableDestroy: /* @__PURE__ */ new WeakMap(),
5607
6538
  writableFinal: /* @__PURE__ */ new WeakMap(),
@@ -5627,11 +6558,11 @@ var waitForConcurrentStreams = async ({ resolve: resolve3, promises }, subproces
5627
6558
  return !isSubprocessExit;
5628
6559
  };
5629
6560
 
5630
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/convert/readable.js
6561
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/convert/readable.js
5631
6562
  import { Readable as Readable3 } from "node:stream";
5632
6563
  import { callbackify as callbackify2 } from "node:util";
5633
6564
 
5634
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/convert/shared.js
6565
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/convert/shared.js
5635
6566
  import { finished as finished6 } from "node:stream/promises";
5636
6567
  var safeWaitForSubprocessStdin = async (subprocessStdin) => {
5637
6568
  if (subprocessStdin === void 0) {
@@ -5671,7 +6602,7 @@ var destroyOtherStream = (stream, isOpen, error) => {
5671
6602
  }
5672
6603
  };
5673
6604
 
5674
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/convert/readable.js
6605
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/convert/readable.js
5675
6606
  var createReadable = ({ subprocess, concurrentStreams, encoding }, { from, binary: binaryOption = true, preserveNewlines = true } = {}) => {
5676
6607
  const binary = binaryOption || BINARY_ENCODINGS.has(encoding);
5677
6608
  const { subprocessStdout, waitReadableDestroy } = getSubprocessStdout(subprocess, from, concurrentStreams);
@@ -5756,7 +6687,7 @@ var destroyOtherReadable = (stream, error) => {
5756
6687
  destroyOtherStream(stream, stream.readable, error);
5757
6688
  };
5758
6689
 
5759
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/convert/writable.js
6690
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/convert/writable.js
5760
6691
  import { Writable as Writable3 } from "node:stream";
5761
6692
  import { callbackify as callbackify3 } from "node:util";
5762
6693
  var createWritable = ({ subprocess, concurrentStreams }, { to } = {}) => {
@@ -5822,7 +6753,7 @@ var destroyOtherWritable = (stream, error) => {
5822
6753
  destroyOtherStream(stream, stream.writable, error);
5823
6754
  };
5824
6755
 
5825
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/convert/duplex.js
6756
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/convert/duplex.js
5826
6757
  import { Duplex as Duplex3 } from "node:stream";
5827
6758
  import { callbackify as callbackify4 } from "node:util";
5828
6759
  var createDuplex = ({ subprocess, concurrentStreams, encoding }, { from, to, binary: binaryOption = true, preserveNewlines = true } = {}) => {
@@ -5876,7 +6807,7 @@ var onDuplexDestroy = async ({ subprocessStdout, subprocessStdin, subprocess, wa
5876
6807
  ]);
5877
6808
  };
5878
6809
 
5879
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/convert/iterable.js
6810
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/convert/iterable.js
5880
6811
  var createIterable = (subprocess, encoding, {
5881
6812
  from,
5882
6813
  binary: binaryOption = false,
@@ -5905,7 +6836,7 @@ var iterateOnStdoutData = async function* (onStdoutData, subprocessStdout, subpr
5905
6836
  }
5906
6837
  };
5907
6838
 
5908
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/convert/add.js
6839
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/convert/add.js
5909
6840
  var addConvertedStreams = (subprocess, { encoding }) => {
5910
6841
  const concurrentStreams = initializeConcurrentStreams();
5911
6842
  subprocess.readable = createReadable.bind(void 0, { subprocess, concurrentStreams, encoding });
@@ -5915,7 +6846,7 @@ var addConvertedStreams = (subprocess, { encoding }) => {
5915
6846
  subprocess[Symbol.asyncIterator] = createIterable.bind(void 0, subprocess, encoding, {});
5916
6847
  };
5917
6848
 
5918
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/methods/promise.js
6849
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/methods/promise.js
5919
6850
  var mergePromise = (subprocess, promise) => {
5920
6851
  for (const [property, descriptor] of descriptors) {
5921
6852
  const value = descriptor.value.bind(promise);
@@ -5929,7 +6860,7 @@ var descriptors = ["then", "catch", "finally"].map((property) => [
5929
6860
  Reflect.getOwnPropertyDescriptor(nativePromisePrototype, property)
5930
6861
  ]);
5931
6862
 
5932
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/methods/main-async.js
6863
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/methods/main-async.js
5933
6864
  var execaCoreAsync = (rawFile, rawArguments, rawOptions, createNested) => {
5934
6865
  const { file, commandArguments, command, escapedCommand, startTime, verboseInfo, options, fileDescriptors } = handleAsyncArguments(rawFile, rawArguments, rawOptions);
5935
6866
  const { subprocess, promise } = spawnSubprocessAsync({
@@ -5973,11 +6904,11 @@ var handleAsyncArguments = (rawFile, rawArguments, rawOptions) => {
5973
6904
  throw error;
5974
6905
  }
5975
6906
  };
5976
- var handleAsyncOptions = ({ timeout, signal, cancelSignal, ...options }) => {
6907
+ var handleAsyncOptions = ({ timeout, signal, ...options }) => {
5977
6908
  if (signal !== void 0) {
5978
6909
  throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.');
5979
6910
  }
5980
- return { ...options, timeoutDuration: timeout, signal: cancelSignal };
6911
+ return { ...options, timeoutDuration: timeout };
5981
6912
  };
5982
6913
  var spawnSubprocessAsync = ({ file, commandArguments, options, startTime, verboseInfo, command, escapedCommand, fileDescriptors }) => {
5983
6914
  let subprocess;
@@ -5999,15 +6930,18 @@ var spawnSubprocessAsync = ({ file, commandArguments, options, startTime, verbos
5999
6930
  const originalStreams = [...subprocess.stdio];
6000
6931
  pipeOutputAsync(subprocess, fileDescriptors, controller);
6001
6932
  cleanupOnExit(subprocess, options, controller);
6933
+ const context = {};
6002
6934
  const onInternalError = createDeferred();
6003
6935
  subprocess.kill = subprocessKill.bind(void 0, {
6004
6936
  kill: subprocess.kill.bind(subprocess),
6005
6937
  options,
6006
6938
  onInternalError,
6939
+ context,
6007
6940
  controller
6008
6941
  });
6009
6942
  subprocess.all = makeAllStream(subprocess, options);
6010
6943
  addConvertedStreams(subprocess, options);
6944
+ addIpcMethods(subprocess, options);
6011
6945
  const promise = handlePromise({
6012
6946
  subprocess,
6013
6947
  options,
@@ -6017,14 +6951,20 @@ var spawnSubprocessAsync = ({ file, commandArguments, options, startTime, verbos
6017
6951
  originalStreams,
6018
6952
  command,
6019
6953
  escapedCommand,
6954
+ context,
6020
6955
  onInternalError,
6021
6956
  controller
6022
6957
  });
6023
6958
  return { subprocess, promise };
6024
6959
  };
6025
- var handlePromise = async ({ subprocess, options, startTime, verboseInfo, fileDescriptors, originalStreams, command, escapedCommand, onInternalError, controller }) => {
6026
- const context = { timedOut: false };
6027
- const [errorInfo, [exitCode, signal], stdioResults, allResult] = await waitForSubprocessResult({
6960
+ var handlePromise = async ({ subprocess, options, startTime, verboseInfo, fileDescriptors, originalStreams, command, escapedCommand, context, onInternalError, controller }) => {
6961
+ const [
6962
+ errorInfo,
6963
+ [exitCode, signal],
6964
+ stdioResults,
6965
+ allResult,
6966
+ ipcOutput
6967
+ ] = await waitForSubprocessResult({
6028
6968
  subprocess,
6029
6969
  options,
6030
6970
  context,
@@ -6044,6 +6984,7 @@ var handlePromise = async ({ subprocess, options, startTime, verboseInfo, fileDe
6044
6984
  signal,
6045
6985
  stdio,
6046
6986
  all,
6987
+ ipcOutput,
6047
6988
  context,
6048
6989
  options,
6049
6990
  command,
@@ -6052,17 +6993,20 @@ var handlePromise = async ({ subprocess, options, startTime, verboseInfo, fileDe
6052
6993
  });
6053
6994
  return handleResult(result, verboseInfo, options);
6054
6995
  };
6055
- var getAsyncResult = ({ errorInfo, exitCode, signal, stdio, all, context, options, command, escapedCommand, startTime }) => "error" in errorInfo ? makeError({
6996
+ var getAsyncResult = ({ errorInfo, exitCode, signal, stdio, all, ipcOutput, context, options, command, escapedCommand, startTime }) => "error" in errorInfo ? makeError({
6056
6997
  error: errorInfo.error,
6057
6998
  command,
6058
6999
  escapedCommand,
6059
- timedOut: context.timedOut,
6060
- isCanceled: options.signal?.aborted === true,
7000
+ timedOut: context.terminationReason === "timeout",
7001
+ isCanceled: context.terminationReason === "cancel" || context.terminationReason === "gracefulCancel",
7002
+ isGracefullyCanceled: context.terminationReason === "gracefulCancel",
6061
7003
  isMaxBuffer: errorInfo.error instanceof MaxBufferError,
7004
+ isForcefullyTerminated: context.isForcefullyTerminated,
6062
7005
  exitCode,
6063
7006
  signal,
6064
7007
  stdio,
6065
7008
  all,
7009
+ ipcOutput,
6066
7010
  options,
6067
7011
  startTime,
6068
7012
  isSync: false
@@ -6071,11 +7015,12 @@ var getAsyncResult = ({ errorInfo, exitCode, signal, stdio, all, context, option
6071
7015
  escapedCommand,
6072
7016
  stdio,
6073
7017
  all,
7018
+ ipcOutput,
6074
7019
  options,
6075
7020
  startTime
6076
7021
  });
6077
7022
 
6078
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/methods/bind.js
7023
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/methods/bind.js
6079
7024
  var mergeOptions = (boundOptions, options) => {
6080
7025
  const newOptions = Object.fromEntries(
6081
7026
  Object.entries(options).map(([optionName, optionValue]) => [
@@ -6093,7 +7038,7 @@ var mergeOption = (optionName, boundOptionValue, optionValue) => {
6093
7038
  };
6094
7039
  var DEEP_OPTIONS = /* @__PURE__ */ new Set(["env", ...FD_SPECIFIC_OPTIONS]);
6095
7040
 
6096
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/methods/create.js
7041
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/methods/create.js
6097
7042
  var createExeca = (mapArguments, boundOptions, deepOptions, setBoundExeca) => {
6098
7043
  const createNested = (mapArguments2, boundOptions2, setBoundExeca2) => createExeca(mapArguments2, boundOptions2, deepOptions, setBoundExeca2);
6099
7044
  const boundExeca = (...execaArguments) => callBoundExeca({
@@ -6139,15 +7084,26 @@ var parseArguments = ({ mapArguments, firstArgument, nextArguments, deepOptions,
6139
7084
  };
6140
7085
  };
6141
7086
 
6142
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/methods/command.js
7087
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/methods/command.js
6143
7088
  var mapCommandAsync = ({ file, commandArguments }) => parseCommand(file, commandArguments);
6144
7089
  var mapCommandSync = ({ file, commandArguments }) => ({ ...parseCommand(file, commandArguments), isSync: true });
6145
7090
  var parseCommand = (command, unusedArguments) => {
6146
7091
  if (unusedArguments.length > 0) {
6147
7092
  throw new TypeError(`The command and its arguments must be passed as a single string: ${command} ${unusedArguments}.`);
6148
7093
  }
7094
+ const [file, ...commandArguments] = parseCommandString(command);
7095
+ return { file, commandArguments };
7096
+ };
7097
+ var parseCommandString = (command) => {
7098
+ if (typeof command !== "string") {
7099
+ throw new TypeError(`The command must be a string: ${String(command)}.`);
7100
+ }
7101
+ const trimmedCommand = command.trim();
7102
+ if (trimmedCommand === "") {
7103
+ return [];
7104
+ }
6149
7105
  const tokens = [];
6150
- for (const token of command.trim().split(SPACES_REGEXP)) {
7106
+ for (const token of trimmedCommand.split(SPACES_REGEXP)) {
6151
7107
  const previousToken = tokens.at(-1);
6152
7108
  if (previousToken && previousToken.endsWith("\\")) {
6153
7109
  tokens[tokens.length - 1] = `${previousToken.slice(0, -1)} ${token}`;
@@ -6155,12 +7111,11 @@ var parseCommand = (command, unusedArguments) => {
6155
7111
  tokens.push(token);
6156
7112
  }
6157
7113
  }
6158
- const [file, ...commandArguments] = tokens;
6159
- return { file, commandArguments };
7114
+ return tokens;
6160
7115
  };
6161
7116
  var SPACES_REGEXP = / +/g;
6162
7117
 
6163
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/lib/methods/script.js
7118
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/lib/methods/script.js
6164
7119
  var setScriptSync = (boundExeca, createNested, boundOptions) => {
6165
7120
  boundExeca.sync = createNested(mapScriptSync, boundOptions);
6166
7121
  boundExeca.s = boundExeca.sync;
@@ -6171,13 +7126,19 @@ var getScriptOptions = (options) => ({ options: { ...getScriptStdinOption(option
6171
7126
  var getScriptStdinOption = ({ input, inputFile, stdio }) => input === void 0 && inputFile === void 0 && stdio === void 0 ? { stdin: "inherit" } : {};
6172
7127
  var deepScriptOptions = { preferLocal: true };
6173
7128
 
6174
- // ../../node_modules/.pnpm/execa@9.1.0/node_modules/execa/index.js
7129
+ // ../../node_modules/.pnpm/execa@9.2.0/node_modules/execa/index.js
6175
7130
  var execa = createExeca(() => ({}));
6176
7131
  var execaSync = createExeca(() => ({ isSync: true }));
6177
7132
  var execaCommand = createExeca(mapCommandAsync);
6178
7133
  var execaCommandSync = createExeca(mapCommandSync);
6179
7134
  var execaNode = createExeca(mapNode);
6180
7135
  var $ = createExeca(mapScriptAsync, {}, deepScriptOptions, setScriptSync);
7136
+ var {
7137
+ sendMessage: sendMessage2,
7138
+ getOneMessage: getOneMessage2,
7139
+ getEachMessage: getEachMessage2,
7140
+ getCancelSignal: getCancelSignal2
7141
+ } = getIpcExport();
6181
7142
  export {
6182
7143
  $,
6183
7144
  ExecaError,
@@ -6186,5 +7147,10 @@ export {
6186
7147
  execaCommand,
6187
7148
  execaCommandSync,
6188
7149
  execaNode,
6189
- execaSync
7150
+ execaSync,
7151
+ getCancelSignal2 as getCancelSignal,
7152
+ getEachMessage2 as getEachMessage,
7153
+ getOneMessage2 as getOneMessage,
7154
+ parseCommandString,
7155
+ sendMessage2 as sendMessage
6190
7156
  };