@nocoo/bat 3.0.1 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/bat.js +700 -490
  2. package/package.json +1 -1
package/dist/bat.js CHANGED
@@ -19,32 +19,31 @@ var __toESM = (mod, isNodeMode, target) => {
19
19
  return cached;
20
20
  }
21
21
  target = mod != null ? __create(__getProtoOf(mod)) : {};
22
- const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
23
- for (let key of __getOwnPropNames(mod))
24
- if (!__hasOwnProp.call(to, key))
25
- __defProp(to, key, {
26
- get: __accessProp.bind(mod, key),
27
- enumerable: true
28
- });
22
+ const to = isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
23
+ if (mod && typeof mod === "object" || typeof mod === "function") {
24
+ for (let key of __getOwnPropNames(mod))
25
+ if (!__hasOwnProp.call(to, key))
26
+ __defProp(to, key, {
27
+ get: __accessProp.bind(mod, key),
28
+ enumerable: true
29
+ });
30
+ }
29
31
  if (canCache)
30
32
  cache.set(mod, to);
31
33
  return to;
32
34
  };
33
35
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
34
- var __returnValue = (v) => v;
35
- function __exportSetter(name, newValue) {
36
- this[name] = __returnValue.bind(null, newValue);
37
- }
38
- var __export = (target, all) => {
39
- for (var name in all)
40
- __defProp(target, name, {
41
- get: all[name],
42
- enumerable: true,
43
- configurable: true,
44
- set: __exportSetter.bind(all, name)
45
- });
36
+ var __esm = (fn, res, err) => () => {
37
+ if (fn)
38
+ try {
39
+ res = fn(fn = 0);
40
+ } catch (e) {
41
+ err = [e];
42
+ }
43
+ if (err)
44
+ throw err[0];
45
+ return res;
46
46
  };
47
- var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
48
47
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
49
48
 
50
49
  // ../../node_modules/.bun/citty@0.2.2/node_modules/citty/dist/_chunks/libs/scule.mjs
@@ -596,7 +595,7 @@ var init_dist = __esm(() => {
596
595
  });
597
596
 
598
597
  // ../../node_modules/.bun/picocolors@1.1.1/node_modules/picocolors/picocolors.js
599
- var require_picocolors = __commonJS((exports, module) => {
598
+ var require_picocolors = __commonJS(function(exports, module) {
600
599
  var p = process || {};
601
600
  var argv = p.argv || [];
602
601
  var env = p.env || {};
@@ -1499,11 +1498,6 @@ var init_consola_DXBYu_KD = __esm(() => {
1499
1498
  });
1500
1499
 
1501
1500
  // ../../node_modules/.bun/consola@3.4.2/node_modules/consola/dist/chunks/prompt.mjs
1502
- var exports_prompt = {};
1503
- __export(exports_prompt, {
1504
- prompt: () => prompt,
1505
- kCancel: () => kCancel
1506
- });
1507
1501
  import g, { stdin, stdout } from "node:process";
1508
1502
  import f from "node:readline";
1509
1503
  import { WriteStream } from "node:tty";
@@ -1574,13 +1568,13 @@ function requirePicocolors() {
1574
1568
  if (hasRequiredPicocolors)
1575
1569
  return picocolors.exports;
1576
1570
  hasRequiredPicocolors = 1;
1577
- let p = process || {}, argv2 = p.argv || [], env2 = p.env || {};
1578
- let isColorSupported2 = !(!!env2.NO_COLOR || argv2.includes("--no-color")) && (!!env2.FORCE_COLOR || argv2.includes("--color") || p.platform === "win32" || (p.stdout || {}).isTTY && env2.TERM !== "dumb" || !!env2.CI);
1571
+ let p = process || {}, argv = p.argv || [], env = p.env || {};
1572
+ let isColorSupported = !(!!env.NO_COLOR || argv.includes("--no-color")) && (!!env.FORCE_COLOR || argv.includes("--color") || p.platform === "win32" || (p.stdout || {}).isTTY && env.TERM !== "dumb" || !!env.CI);
1579
1573
  let formatter = (open, close, replace = open) => (input) => {
1580
1574
  let string = "" + input, index = string.indexOf(close, open.length);
1581
- return ~index ? open + replaceClose2(string, close, replace, index) + close : open + string + close;
1575
+ return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;
1582
1576
  };
1583
- let replaceClose2 = (string, close, replace, index) => {
1577
+ let replaceClose = (string, close, replace, index) => {
1584
1578
  let result = "", cursor = 0;
1585
1579
  do {
1586
1580
  result += string.substring(cursor, index) + replace;
@@ -1589,7 +1583,7 @@ function requirePicocolors() {
1589
1583
  } while (~index);
1590
1584
  return result + string.substring(cursor);
1591
1585
  };
1592
- let createColors2 = (enabled = isColorSupported2) => {
1586
+ let createColors = (enabled = isColorSupported) => {
1593
1587
  let f2 = enabled ? formatter : () => String;
1594
1588
  return {
1595
1589
  isColorSupported: enabled,
@@ -1636,8 +1630,8 @@ function requirePicocolors() {
1636
1630
  bgWhiteBright: f2("\x1B[107m", "\x1B[49m")
1637
1631
  };
1638
1632
  };
1639
- picocolors.exports = createColors2();
1640
- picocolors.exports.createColors = createColors2;
1633
+ picocolors.exports = createColors();
1634
+ picocolors.exports.createColors = createColors;
1641
1635
  return picocolors.exports;
1642
1636
  }
1643
1637
  function J({ onlyFirst: t = false } = {}) {
@@ -1657,7 +1651,7 @@ function A$1(t, u = {}) {
1657
1651
  return 0;
1658
1652
  t = t.replace(FD(), " ");
1659
1653
  const F = u.ambiguousIsNarrow ? 1 : 2;
1660
- let e2 = 0;
1654
+ let e = 0;
1661
1655
  for (const s of t) {
1662
1656
  const i = s.codePointAt(0);
1663
1657
  if (i <= 31 || i >= 127 && i <= 159 || i >= 768 && i <= 879)
@@ -1665,56 +1659,56 @@ function A$1(t, u = {}) {
1665
1659
  switch (DD.eastAsianWidth(s)) {
1666
1660
  case "F":
1667
1661
  case "W":
1668
- e2 += 2;
1662
+ e += 2;
1669
1663
  break;
1670
1664
  case "A":
1671
- e2 += F;
1665
+ e += F;
1672
1666
  break;
1673
1667
  default:
1674
- e2 += 1;
1668
+ e += 1;
1675
1669
  }
1676
1670
  }
1677
- return e2;
1671
+ return e;
1678
1672
  }
1679
1673
  function sD() {
1680
1674
  const t = new Map;
1681
1675
  for (const [u, F] of Object.entries(r)) {
1682
- for (const [e2, s] of Object.entries(F))
1683
- r[e2] = { open: `\x1B[${s[0]}m`, close: `\x1B[${s[1]}m` }, F[e2] = r[e2], t.set(s[0], s[1]);
1676
+ for (const [e, s] of Object.entries(F))
1677
+ r[e] = { open: `\x1B[${s[0]}m`, close: `\x1B[${s[1]}m` }, F[e] = r[e], t.set(s[0], s[1]);
1684
1678
  Object.defineProperty(r, u, { value: F, enumerable: false });
1685
1679
  }
1686
- return Object.defineProperty(r, "codes", { value: t, enumerable: false }), r.color.close = "\x1B[39m", r.bgColor.close = "\x1B[49m", r.color.ansi = L$1(), r.color.ansi256 = N(), r.color.ansi16m = I(), r.bgColor.ansi = L$1(m), r.bgColor.ansi256 = N(m), r.bgColor.ansi16m = I(m), Object.defineProperties(r, { rgbToAnsi256: { value: (u, F, e2) => u === F && F === e2 ? u < 8 ? 16 : u > 248 ? 231 : Math.round((u - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u / 255 * 5) + 6 * Math.round(F / 255 * 5) + Math.round(e2 / 255 * 5), enumerable: false }, hexToRgb: { value: (u) => {
1680
+ return Object.defineProperty(r, "codes", { value: t, enumerable: false }), r.color.close = "\x1B[39m", r.bgColor.close = "\x1B[49m", r.color.ansi = L$1(), r.color.ansi256 = N(), r.color.ansi16m = I(), r.bgColor.ansi = L$1(m), r.bgColor.ansi256 = N(m), r.bgColor.ansi16m = I(m), Object.defineProperties(r, { rgbToAnsi256: { value: (u, F, e) => u === F && F === e ? u < 8 ? 16 : u > 248 ? 231 : Math.round((u - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u / 255 * 5) + 6 * Math.round(F / 255 * 5) + Math.round(e / 255 * 5), enumerable: false }, hexToRgb: { value: (u) => {
1687
1681
  const F = /[a-f\d]{6}|[a-f\d]{3}/i.exec(u.toString(16));
1688
1682
  if (!F)
1689
1683
  return [0, 0, 0];
1690
- let [e2] = F;
1691
- e2.length === 3 && (e2 = [...e2].map((i) => i + i).join(""));
1692
- const s = Number.parseInt(e2, 16);
1684
+ let [e] = F;
1685
+ e.length === 3 && (e = [...e].map((i) => i + i).join(""));
1686
+ const s = Number.parseInt(e, 16);
1693
1687
  return [s >> 16 & 255, s >> 8 & 255, s & 255];
1694
1688
  }, enumerable: false }, hexToAnsi256: { value: (u) => r.rgbToAnsi256(...r.hexToRgb(u)), enumerable: false }, ansi256ToAnsi: { value: (u) => {
1695
1689
  if (u < 8)
1696
1690
  return 30 + u;
1697
1691
  if (u < 16)
1698
1692
  return 90 + (u - 8);
1699
- let F, e2, s;
1693
+ let F, e, s;
1700
1694
  if (u >= 232)
1701
- F = ((u - 232) * 10 + 8) / 255, e2 = F, s = F;
1695
+ F = ((u - 232) * 10 + 8) / 255, e = F, s = F;
1702
1696
  else {
1703
1697
  u -= 16;
1704
1698
  const C = u % 36;
1705
- F = Math.floor(u / 36) / 5, e2 = Math.floor(C / 6) / 5, s = C % 6 / 5;
1699
+ F = Math.floor(u / 36) / 5, e = Math.floor(C / 6) / 5, s = C % 6 / 5;
1706
1700
  }
1707
- const i = Math.max(F, e2, s) * 2;
1701
+ const i = Math.max(F, e, s) * 2;
1708
1702
  if (i === 0)
1709
1703
  return 30;
1710
- let D = 30 + (Math.round(s) << 2 | Math.round(e2) << 1 | Math.round(F));
1704
+ let D = 30 + (Math.round(s) << 2 | Math.round(e) << 1 | Math.round(F));
1711
1705
  return i === 2 && (D += 60), D;
1712
- }, enumerable: false }, rgbToAnsi: { value: (u, F, e2) => r.ansi256ToAnsi(r.rgbToAnsi256(u, F, e2)), enumerable: false }, hexToAnsi: { value: (u) => r.ansi256ToAnsi(r.hexToAnsi256(u)), enumerable: false } }), r;
1706
+ }, enumerable: false }, rgbToAnsi: { value: (u, F, e) => r.ansi256ToAnsi(r.rgbToAnsi256(u, F, e)), enumerable: false }, hexToAnsi: { value: (u) => r.ansi256ToAnsi(r.hexToAnsi256(u)), enumerable: false } }), r;
1713
1707
  }
1714
1708
  function G(t, u, F) {
1715
1709
  return String(t).normalize().replace(/\r\n/g, `
1716
1710
  `).split(`
1717
- `).map((e2) => oD(e2, u, F)).join(`
1711
+ `).map((e) => oD(e, u, F)).join(`
1718
1712
  `);
1719
1713
  }
1720
1714
  function k$1(t, u) {
@@ -1729,10 +1723,10 @@ function lD(t, u) {
1729
1723
  if (t === u)
1730
1724
  return;
1731
1725
  const F = t.split(`
1732
- `), e2 = u.split(`
1726
+ `), e = u.split(`
1733
1727
  `), s = [];
1734
- for (let i = 0;i < Math.max(F.length, e2.length); i++)
1735
- F[i] !== e2[i] && s.push(i);
1728
+ for (let i = 0;i < Math.max(F.length, e.length); i++)
1729
+ F[i] !== e[i] && s.push(i);
1736
1730
  return s;
1737
1731
  }
1738
1732
  function d$1(t, u) {
@@ -1743,15 +1737,15 @@ function d$1(t, u) {
1743
1737
  class x {
1744
1738
  constructor(u, F = true) {
1745
1739
  h(this, "input"), h(this, "output"), h(this, "_abortSignal"), h(this, "rl"), h(this, "opts"), h(this, "_render"), h(this, "_track", false), h(this, "_prevFrame", ""), h(this, "_subscribers", new Map), h(this, "_cursor", 0), h(this, "state", "initial"), h(this, "error", ""), h(this, "value");
1746
- const { input: e2 = stdin, output: s = stdout, render: i, signal: D, ...C } = u;
1747
- this.opts = C, this.onKeypress = this.onKeypress.bind(this), this.close = this.close.bind(this), this.render = this.render.bind(this), this._render = i.bind(this), this._track = F, this._abortSignal = D, this.input = e2, this.output = s;
1740
+ const { input: e = stdin, output: s = stdout, render: i, signal: D, ...C } = u;
1741
+ this.opts = C, this.onKeypress = this.onKeypress.bind(this), this.close = this.close.bind(this), this.render = this.render.bind(this), this._render = i.bind(this), this._track = F, this._abortSignal = D, this.input = e, this.output = s;
1748
1742
  }
1749
1743
  unsubscribe() {
1750
1744
  this._subscribers.clear();
1751
1745
  }
1752
1746
  setSubscriber(u, F) {
1753
- const e2 = this._subscribers.get(u) ?? [];
1754
- e2.push(F), this._subscribers.set(u, e2);
1747
+ const e = this._subscribers.get(u) ?? [];
1748
+ e.push(F), this._subscribers.set(u, e);
1755
1749
  }
1756
1750
  on(u, F) {
1757
1751
  this.setSubscriber(u, { cb: F });
@@ -1760,9 +1754,9 @@ class x {
1760
1754
  this.setSubscriber(u, { cb: F, once: true });
1761
1755
  }
1762
1756
  emit(u, ...F) {
1763
- const e2 = this._subscribers.get(u) ?? [], s = [];
1764
- for (const i of e2)
1765
- i.cb(...F), i.once && s.push(() => e2.splice(e2.indexOf(i), 1));
1757
+ const e = this._subscribers.get(u) ?? [], s = [];
1758
+ for (const i of e)
1759
+ i.cb(...F), i.once && s.push(() => e.splice(e.indexOf(i), 1));
1766
1760
  for (const i of s)
1767
1761
  i();
1768
1762
  }
@@ -1775,10 +1769,10 @@ class x {
1775
1769
  this.state = "cancel", this.close();
1776
1770
  }, { once: true });
1777
1771
  }
1778
- const e2 = new WriteStream(0);
1779
- e2._write = (s, i, D) => {
1772
+ const e = new WriteStream(0);
1773
+ e._write = (s, i, D) => {
1780
1774
  this._track && (this.value = this.rl?.line.replace(/\t/g, ""), this._cursor = this.rl?.cursor ?? 0, this.emit("value", this.value)), D();
1781
- }, this.input.pipe(e2), this.rl = f.createInterface({ input: this.input, output: e2, tabSize: 2, prompt: "", escapeCodeTimeout: 50 }), f.emitKeypressEvents(this.input, this.rl), this.rl.prompt(), this.opts.initialValue !== undefined && this._track && this.rl.write(this.opts.initialValue), this.input.on("keypress", this.onKeypress), d$1(this.input, true), this.output.on("resize", this.render), this.render(), this.once("submit", () => {
1775
+ }, this.input.pipe(e), this.rl = f.createInterface({ input: this.input, output: e, tabSize: 2, prompt: "", escapeCodeTimeout: 50 }), f.emitKeypressEvents(this.input, this.rl), this.rl.prompt(), this.opts.initialValue !== undefined && this._track && this.rl.write(this.opts.initialValue), this.input.on("keypress", this.onKeypress), d$1(this.input, true), this.output.on("resize", this.render), this.render(), this.once("submit", () => {
1782
1776
  this.output.write(srcExports.cursor.show), this.output.off("resize", this.render), d$1(this.input, false), u(this.value);
1783
1777
  }), this.once("cancel", () => {
1784
1778
  this.output.write(srcExports.cursor.show), this.output.off("resize", this.render), d$1(this.input, false), u(S);
@@ -1788,8 +1782,8 @@ class x {
1788
1782
  onKeypress(u, F) {
1789
1783
  if (this.state === "error" && (this.state = "active"), F?.name && (!this._track && c.aliases.has(F.name) && this.emit("cursor", c.aliases.get(F.name)), c.actions.has(F.name) && this.emit("cursor", F.name)), u && (u.toLowerCase() === "y" || u.toLowerCase() === "n") && this.emit("confirm", u.toLowerCase() === "y"), u === "\t" && this.opts.placeholder && (this.value || (this.rl?.write(this.opts.placeholder), this.emit("value", this.opts.placeholder))), u && this.emit("key", u.toLowerCase()), F?.name === "return") {
1790
1784
  if (this.opts.validate) {
1791
- const e2 = this.opts.validate(this.value);
1792
- e2 && (this.error = e2 instanceof Error ? e2.message : e2, this.state = "error", this.rl?.write(this.value));
1785
+ const e = this.opts.validate(this.value);
1786
+ e && (this.error = e instanceof Error ? e.message : e, this.state = "error", this.rl?.write(this.value));
1793
1787
  }
1794
1788
  this.state !== "error" && (this.state = "submit");
1795
1789
  }
@@ -1812,18 +1806,18 @@ class x {
1812
1806
  else {
1813
1807
  const F = lD(this._prevFrame, u);
1814
1808
  if (this.restoreCursor(), F && F?.length === 1) {
1815
- const e2 = F[0];
1816
- this.output.write(srcExports.cursor.move(0, e2)), this.output.write(srcExports.erase.lines(1));
1809
+ const e = F[0];
1810
+ this.output.write(srcExports.cursor.move(0, e)), this.output.write(srcExports.erase.lines(1));
1817
1811
  const s = u.split(`
1818
1812
  `);
1819
- this.output.write(s[e2]), this._prevFrame = u, this.output.write(srcExports.cursor.move(0, s.length - e2 - 1));
1813
+ this.output.write(s[e]), this._prevFrame = u, this.output.write(srcExports.cursor.move(0, s.length - e - 1));
1820
1814
  return;
1821
1815
  }
1822
1816
  if (F && F?.length > 1) {
1823
- const e2 = F[0];
1824
- this.output.write(srcExports.cursor.move(0, e2)), this.output.write(srcExports.erase.down());
1817
+ const e = F[0];
1818
+ this.output.write(srcExports.cursor.move(0, e)), this.output.write(srcExports.erase.down());
1825
1819
  const s = u.split(`
1826
- `).slice(e2);
1820
+ `).slice(e);
1827
1821
  this.output.write(s.join(`
1828
1822
  `)), this._prevFrame = u;
1829
1823
  return;
@@ -1883,14 +1877,14 @@ async function prompt(message, opts = {}) {
1883
1877
  if (opts.type === "select") {
1884
1878
  return await ve({
1885
1879
  message,
1886
- options: opts.options.map((o2) => typeof o2 === "string" ? { value: o2, label: o2 } : o2),
1880
+ options: opts.options.map((o) => typeof o === "string" ? { value: o, label: o } : o),
1887
1881
  initialValue: opts.initial
1888
1882
  }).then(handleCancel);
1889
1883
  }
1890
1884
  if (opts.type === "multiselect") {
1891
1885
  return await fe({
1892
1886
  message,
1893
- options: opts.options.map((o2) => typeof o2 === "string" ? { value: o2, label: o2 } : o2),
1887
+ options: opts.options.map((o) => typeof o === "string" ? { value: o, label: o } : o),
1894
1888
  required: opts.required,
1895
1889
  initialValues: opts.initial
1896
1890
  }).then(handleCancel);
@@ -1899,16 +1893,16 @@ async function prompt(message, opts = {}) {
1899
1893
  }
1900
1894
  var src, hasRequiredSrc, srcExports, picocolors, hasRequiredPicocolors, picocolorsExports, e, Q, P$1, X, DD, uD = function() {
1901
1895
  return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
1902
- }, FD, m = 10, L$1 = (t = 0) => (u) => `\x1B[${u + t}m`, N = (t = 0) => (u) => `\x1B[${38 + t};5;${u}m`, I = (t = 0) => (u, F, e2) => `\x1B[${38 + t};2;${u};${F};${e2}m`, r, tD, eD, iD, v, CD = 39, w$1 = "\x07", W$1 = "[", rD = "]", R = "m", y, V$1 = (t) => `${v.values().next().value}${W$1}${t}${R}`, z = (t) => `${v.values().next().value}${y}${t}${w$1}`, ED = (t) => t.split(" ").map((u) => A$1(u)), _ = (t, u, F) => {
1903
- const e2 = [...u];
1896
+ }, FD, m = 10, L$1 = (t = 0) => (u) => `\x1B[${u + t}m`, N = (t = 0) => (u) => `\x1B[${38 + t};5;${u}m`, I = (t = 0) => (u, F, e) => `\x1B[${38 + t};2;${u};${F};${e}m`, r, tD, eD, iD, v, CD = 39, w$1 = "\x07", W$1 = "[", rD = "]", R = "m", y, V$1 = (t) => `${v.values().next().value}${W$1}${t}${R}`, z = (t) => `${v.values().next().value}${y}${t}${w$1}`, ED = (t) => t.split(" ").map((u) => A$1(u)), _ = (t, u, F) => {
1897
+ const e = [...u];
1904
1898
  let s = false, i = false, D = A$1(T$1(t[t.length - 1]));
1905
- for (const [C, o] of e2.entries()) {
1899
+ for (const [C, o] of e.entries()) {
1906
1900
  const E = A$1(o);
1907
- if (D + E <= F ? t[t.length - 1] += o : (t.push(o), D = 0), v.has(o) && (s = true, i = e2.slice(C + 1).join("").startsWith(y)), s) {
1901
+ if (D + E <= F ? t[t.length - 1] += o : (t.push(o), D = 0), v.has(o) && (s = true, i = e.slice(C + 1).join("").startsWith(y)), s) {
1908
1902
  i ? o === w$1 && (s = false, i = false) : o === R && (s = false);
1909
1903
  continue;
1910
1904
  }
1911
- D += E, D === F && C < e2.length - 1 && (t.push(""), D = 0);
1905
+ D += E, D === F && C < e.length - 1 && (t.push(""), D = 0);
1912
1906
  }
1913
1907
  !D && t[t.length - 1].length > 0 && t.length > 1 && (t[t.length - 2] += t.pop());
1914
1908
  }, nD = (t) => {
@@ -1920,7 +1914,7 @@ var src, hasRequiredSrc, srcExports, picocolors, hasRequiredPicocolors, picocolo
1920
1914
  }, oD = (t, u, F = {}) => {
1921
1915
  if (F.trim !== false && t.trim() === "")
1922
1916
  return "";
1923
- let e2 = "", s, i;
1917
+ let e = "", s, i;
1924
1918
  const D = ED(t);
1925
1919
  let C = [""];
1926
1920
  for (const [E, a] of t.split(" ").entries()) {
@@ -1948,7 +1942,7 @@ var src, hasRequiredSrc, srcExports, picocolors, hasRequiredPicocolors, picocolo
1948
1942
  const o = [...C.join(`
1949
1943
  `)];
1950
1944
  for (const [E, a] of o.entries()) {
1951
- if (e2 += a, v.has(a)) {
1945
+ if (e += a, v.has(a)) {
1952
1946
  const { groups: B } = new RegExp(`(?:\\${W$1}(?<code>\\d+)m|\\${y}(?<uri>.*)${w$1})`).exec(o.slice(E).join("")) || { groups: {} };
1953
1947
  if (B.code !== undefined) {
1954
1948
  const p = Number.parseFloat(B.code);
@@ -1958,10 +1952,10 @@ var src, hasRequiredSrc, srcExports, picocolors, hasRequiredPicocolors, picocolo
1958
1952
  }
1959
1953
  const n = iD.codes.get(Number(s));
1960
1954
  o[E + 1] === `
1961
- ` ? (i && (e2 += z("")), s && n && (e2 += V$1(n))) : a === `
1962
- ` && (s && n && (e2 += V$1(s)), i && (e2 += z(i)));
1955
+ ` ? (i && (e += z("")), s && n && (e += V$1(n))) : a === `
1956
+ ` && (s && n && (e += V$1(s)), i && (e += z(i)));
1963
1957
  }
1964
- return e2;
1958
+ return e;
1965
1959
  }, aD, c, S, AD, pD = (t, u, F) => (u in t) ? AD(t, u, { enumerable: true, configurable: true, writable: true, value: F }) : t[u] = F, h = (t, u, F) => (pD(t, typeof u != "symbol" ? u + "" : u, F), F), fD, bD, mD = (t, u, F) => (u in t) ? bD(t, u, { enumerable: true, configurable: true, writable: true, value: F }) : t[u] = F, Y = (t, u, F) => (mD(t, typeof u != "symbol" ? u + "" : u, F), F), wD, SD, $D = (t, u, F) => (u in t) ? SD(t, u, { enumerable: true, configurable: true, writable: true, value: F }) : t[u] = F, q = (t, u, F) => ($D(t, typeof u != "symbol" ? u + "" : u, F), F), jD, PD, V, u = (t, n) => V ? t : n, le, L, W, C, o, d, k, P, A, T, F, w = (t) => {
1966
1960
  switch (t) {
1967
1961
  case "initial":
@@ -1975,22 +1969,22 @@ var src, hasRequiredSrc, srcExports, picocolors, hasRequiredPicocolors, picocolo
1975
1969
  return e.green(C);
1976
1970
  }
1977
1971
  }, B = (t) => {
1978
- const { cursor: n, options: s, style: r2 } = t, i = t.maxItems ?? Number.POSITIVE_INFINITY, a = Math.max(process.stdout.rows - 4, 0), c2 = Math.min(a, Math.max(i, 5));
1972
+ const { cursor: n, options: s, style: r } = t, i = t.maxItems ?? Number.POSITIVE_INFINITY, a = Math.max(process.stdout.rows - 4, 0), c = Math.min(a, Math.max(i, 5));
1979
1973
  let l = 0;
1980
- n >= l + c2 - 3 ? l = Math.max(Math.min(n - c2 + 3, s.length - c2), 0) : n < l + 2 && (l = Math.max(n - 2, 0));
1981
- const $ = c2 < s.length && l > 0, p = c2 < s.length && l + c2 < s.length;
1982
- return s.slice(l, l + c2).map((M, v2, x2) => {
1983
- const j = v2 === 0 && $, E = v2 === x2.length - 1 && p;
1984
- return j || E ? e.dim("...") : r2(M, v2 + l === n);
1974
+ n >= l + c - 3 ? l = Math.max(Math.min(n - c + 3, s.length - c), 0) : n < l + 2 && (l = Math.max(n - 2, 0));
1975
+ const $ = c < s.length && l > 0, p = c < s.length && l + c < s.length;
1976
+ return s.slice(l, l + c).map((M, v, x) => {
1977
+ const j = v === 0 && $, E = v === x.length - 1 && p;
1978
+ return j || E ? e.dim("...") : r(M, v + l === n);
1985
1979
  });
1986
1980
  }, he = (t) => new PD({ validate: t.validate, placeholder: t.placeholder, defaultValue: t.defaultValue, initialValue: t.initialValue, render() {
1987
1981
  const n = `${e.gray(o)}
1988
1982
  ${w(this.state)} ${t.message}
1989
- `, s = t.placeholder ? e.inverse(t.placeholder[0]) + e.dim(t.placeholder.slice(1)) : e.inverse(e.hidden("_")), r2 = this.value ? this.valueWithCursor : s;
1983
+ `, s = t.placeholder ? e.inverse(t.placeholder[0]) + e.dim(t.placeholder.slice(1)) : e.inverse(e.hidden("_")), r = this.value ? this.valueWithCursor : s;
1990
1984
  switch (this.state) {
1991
1985
  case "error":
1992
1986
  return `${n.trim()}
1993
- ${e.yellow(o)} ${r2}
1987
+ ${e.yellow(o)} ${r}
1994
1988
  ${e.yellow(d)} ${e.yellow(this.error)}
1995
1989
  `;
1996
1990
  case "submit":
@@ -1999,32 +1993,32 @@ ${e.yellow(d)} ${e.yellow(this.error)}
1999
1993
  return `${n}${e.gray(o)} ${e.strikethrough(e.dim(this.value ?? ""))}${this.value?.trim() ? `
2000
1994
  ${e.gray(o)}` : ""}`;
2001
1995
  default:
2002
- return `${n}${e.cyan(o)} ${r2}
1996
+ return `${n}${e.cyan(o)} ${r}
2003
1997
  ${e.cyan(d)}
2004
1998
  `;
2005
1999
  }
2006
2000
  } }).prompt(), ye = (t) => {
2007
2001
  const n = t.active ?? "Yes", s = t.inactive ?? "No";
2008
2002
  return new fD({ active: n, inactive: s, initialValue: t.initialValue ?? true, render() {
2009
- const r2 = `${e.gray(o)}
2003
+ const r = `${e.gray(o)}
2010
2004
  ${w(this.state)} ${t.message}
2011
2005
  `, i = this.value ? n : s;
2012
2006
  switch (this.state) {
2013
2007
  case "submit":
2014
- return `${r2}${e.gray(o)} ${e.dim(i)}`;
2008
+ return `${r}${e.gray(o)} ${e.dim(i)}`;
2015
2009
  case "cancel":
2016
- return `${r2}${e.gray(o)} ${e.strikethrough(e.dim(i))}
2010
+ return `${r}${e.gray(o)} ${e.strikethrough(e.dim(i))}
2017
2011
  ${e.gray(o)}`;
2018
2012
  default:
2019
- return `${r2}${e.cyan(o)} ${this.value ? `${e.green(k)} ${n}` : `${e.dim(P)} ${e.dim(n)}`} ${e.dim("/")} ${this.value ? `${e.dim(P)} ${e.dim(s)}` : `${e.green(k)} ${s}`}
2013
+ return `${r}${e.cyan(o)} ${this.value ? `${e.green(k)} ${n}` : `${e.dim(P)} ${e.dim(n)}`} ${e.dim("/")} ${this.value ? `${e.dim(P)} ${e.dim(s)}` : `${e.green(k)} ${s}`}
2020
2014
  ${e.cyan(d)}
2021
2015
  `;
2022
2016
  }
2023
2017
  } }).prompt();
2024
2018
  }, ve = (t) => {
2025
- const n = (s, r2) => {
2019
+ const n = (s, r) => {
2026
2020
  const i = s.label ?? String(s.value);
2027
- switch (r2) {
2021
+ switch (r) {
2028
2022
  case "selected":
2029
2023
  return `${e.dim(i)}`;
2030
2024
  case "active":
@@ -2046,16 +2040,16 @@ ${w(this.state)} ${t.message}
2046
2040
  return `${s}${e.gray(o)} ${n(this.options[this.cursor], "cancelled")}
2047
2041
  ${e.gray(o)}`;
2048
2042
  default:
2049
- return `${s}${e.cyan(o)} ${B({ cursor: this.cursor, options: this.options, maxItems: t.maxItems, style: (r2, i) => n(r2, i ? "active" : "inactive") }).join(`
2043
+ return `${s}${e.cyan(o)} ${B({ cursor: this.cursor, options: this.options, maxItems: t.maxItems, style: (r, i) => n(r, i ? "active" : "inactive") }).join(`
2050
2044
  ${e.cyan(o)} `)}
2051
2045
  ${e.cyan(d)}
2052
2046
  `;
2053
2047
  }
2054
2048
  } }).prompt();
2055
2049
  }, fe = (t) => {
2056
- const n = (s, r2) => {
2050
+ const n = (s, r) => {
2057
2051
  const i = s.label ?? String(s.value);
2058
- return r2 === "active" ? `${e.cyan(A)} ${i} ${s.hint ? e.dim(`(${s.hint})`) : ""}` : r2 === "selected" ? `${e.green(T)} ${e.dim(i)}` : r2 === "cancelled" ? `${e.strikethrough(e.dim(i))}` : r2 === "active-selected" ? `${e.green(T)} ${i} ${s.hint ? e.dim(`(${s.hint})`) : ""}` : r2 === "submitted" ? `${e.dim(i)}` : `${e.dim(F)} ${e.dim(i)}`;
2052
+ return r === "active" ? `${e.cyan(A)} ${i} ${s.hint ? e.dim(`(${s.hint})`) : ""}` : r === "selected" ? `${e.green(T)} ${e.dim(i)}` : r === "cancelled" ? `${e.strikethrough(e.dim(i))}` : r === "active-selected" ? `${e.green(T)} ${i} ${s.hint ? e.dim(`(${s.hint})`) : ""}` : r === "submitted" ? `${e.dim(i)}` : `${e.dim(F)} ${e.dim(i)}`;
2059
2053
  };
2060
2054
  return new wD({ options: t.options, initialValues: t.initialValues, required: t.required ?? true, cursorAt: t.cursorAt, validate(s) {
2061
2055
  if (this.required && s.length === 0)
@@ -2064,9 +2058,9 @@ ${e.reset(e.dim(`Press ${e.gray(e.bgWhite(e.inverse(" space ")))} to select, ${e
2064
2058
  }, render() {
2065
2059
  const s = `${e.gray(o)}
2066
2060
  ${w(this.state)} ${t.message}
2067
- `, r2 = (i, a) => {
2068
- const c2 = this.value.includes(i.value);
2069
- return a && c2 ? n(i, "active-selected") : c2 ? n(i, "selected") : n(i, a ? "active" : "inactive");
2061
+ `, r = (i, a) => {
2062
+ const c = this.value.includes(i.value);
2063
+ return a && c ? n(i, "active-selected") : c ? n(i, "selected") : n(i, a ? "active" : "inactive");
2070
2064
  };
2071
2065
  switch (this.state) {
2072
2066
  case "submit":
@@ -2078,15 +2072,15 @@ ${e.gray(o)}` : ""}`;
2078
2072
  }
2079
2073
  case "error": {
2080
2074
  const i = this.error.split(`
2081
- `).map((a, c2) => c2 === 0 ? `${e.yellow(d)} ${e.yellow(a)}` : ` ${a}`).join(`
2075
+ `).map((a, c) => c === 0 ? `${e.yellow(d)} ${e.yellow(a)}` : ` ${a}`).join(`
2082
2076
  `);
2083
- return `${s + e.yellow(o)} ${B({ options: this.options, cursor: this.cursor, maxItems: t.maxItems, style: r2 }).join(`
2077
+ return `${s + e.yellow(o)} ${B({ options: this.options, cursor: this.cursor, maxItems: t.maxItems, style: r }).join(`
2084
2078
  ${e.yellow(o)} `)}
2085
2079
  ${i}
2086
2080
  `;
2087
2081
  }
2088
2082
  default:
2089
- return `${s}${e.cyan(o)} ${B({ options: this.options, cursor: this.cursor, maxItems: t.maxItems, style: r2 }).join(`
2083
+ return `${s}${e.cyan(o)} ${B({ options: this.options, cursor: this.cursor, maxItems: t.maxItems, style: r }).join(`
2090
2084
  ${e.cyan(o)} `)}
2091
2085
  ${e.cyan(d)}
2092
2086
  `;
@@ -2102,23 +2096,23 @@ var init_prompt = __esm(() => {
2102
2096
  P$1 = { exports: {} };
2103
2097
  (function(t) {
2104
2098
  var u = {};
2105
- t.exports = u, u.eastAsianWidth = function(e2) {
2106
- var s = e2.charCodeAt(0), i = e2.length == 2 ? e2.charCodeAt(1) : 0, D = s;
2099
+ t.exports = u, u.eastAsianWidth = function(e) {
2100
+ var s = e.charCodeAt(0), i = e.length == 2 ? e.charCodeAt(1) : 0, D = s;
2107
2101
  return 55296 <= s && s <= 56319 && 56320 <= i && i <= 57343 && (s &= 1023, i &= 1023, D = s << 10 | i, D += 65536), D == 12288 || 65281 <= D && D <= 65376 || 65504 <= D && D <= 65510 ? "F" : D == 8361 || 65377 <= D && D <= 65470 || 65474 <= D && D <= 65479 || 65482 <= D && D <= 65487 || 65490 <= D && D <= 65495 || 65498 <= D && D <= 65500 || 65512 <= D && D <= 65518 ? "H" : 4352 <= D && D <= 4447 || 4515 <= D && D <= 4519 || 4602 <= D && D <= 4607 || 9001 <= D && D <= 9002 || 11904 <= D && D <= 11929 || 11931 <= D && D <= 12019 || 12032 <= D && D <= 12245 || 12272 <= D && D <= 12283 || 12289 <= D && D <= 12350 || 12353 <= D && D <= 12438 || 12441 <= D && D <= 12543 || 12549 <= D && D <= 12589 || 12593 <= D && D <= 12686 || 12688 <= D && D <= 12730 || 12736 <= D && D <= 12771 || 12784 <= D && D <= 12830 || 12832 <= D && D <= 12871 || 12880 <= D && D <= 13054 || 13056 <= D && D <= 19903 || 19968 <= D && D <= 42124 || 42128 <= D && D <= 42182 || 43360 <= D && D <= 43388 || 44032 <= D && D <= 55203 || 55216 <= D && D <= 55238 || 55243 <= D && D <= 55291 || 63744 <= D && D <= 64255 || 65040 <= D && D <= 65049 || 65072 <= D && D <= 65106 || 65108 <= D && D <= 65126 || 65128 <= D && D <= 65131 || 110592 <= D && D <= 110593 || 127488 <= D && D <= 127490 || 127504 <= D && D <= 127546 || 127552 <= D && D <= 127560 || 127568 <= D && D <= 127569 || 131072 <= D && D <= 194367 || 177984 <= D && D <= 196605 || 196608 <= D && D <= 262141 ? "W" : 32 <= D && D <= 126 || 162 <= D && D <= 163 || 165 <= D && D <= 166 || D == 172 || D == 175 || 10214 <= D && D <= 10221 || 10629 <= D && D <= 10630 ? "Na" : D == 161 || D == 164 || 167 <= D && D <= 168 || D == 170 || 173 <= D && D <= 174 || 176 <= D && D <= 180 || 182 <= D && D <= 186 || 188 <= D && D <= 191 || D == 198 || D == 208 || 215 <= D && D <= 216 || 222 <= D && D <= 225 || D == 230 || 232 <= D && D <= 234 || 236 <= D && D <= 237 || D == 240 || 242 <= D && D <= 243 || 247 <= D && D <= 250 || D == 252 || D == 254 || D == 257 || D == 273 || D == 275 || D == 283 || 294 <= D && D <= 295 || D == 299 || 305 <= D && D <= 307 || D == 312 || 319 <= D && D <= 322 || D == 324 || 328 <= D && D <= 331 || D == 333 || 338 <= D && D <= 339 || 358 <= D && D <= 359 || D == 363 || D == 462 || D == 464 || D == 466 || D == 468 || D == 470 || D == 472 || D == 474 || D == 476 || D == 593 || D == 609 || D == 708 || D == 711 || 713 <= D && D <= 715 || D == 717 || D == 720 || 728 <= D && D <= 731 || D == 733 || D == 735 || 768 <= D && D <= 879 || 913 <= D && D <= 929 || 931 <= D && D <= 937 || 945 <= D && D <= 961 || 963 <= D && D <= 969 || D == 1025 || 1040 <= D && D <= 1103 || D == 1105 || D == 8208 || 8211 <= D && D <= 8214 || 8216 <= D && D <= 8217 || 8220 <= D && D <= 8221 || 8224 <= D && D <= 8226 || 8228 <= D && D <= 8231 || D == 8240 || 8242 <= D && D <= 8243 || D == 8245 || D == 8251 || D == 8254 || D == 8308 || D == 8319 || 8321 <= D && D <= 8324 || D == 8364 || D == 8451 || D == 8453 || D == 8457 || D == 8467 || D == 8470 || 8481 <= D && D <= 8482 || D == 8486 || D == 8491 || 8531 <= D && D <= 8532 || 8539 <= D && D <= 8542 || 8544 <= D && D <= 8555 || 8560 <= D && D <= 8569 || D == 8585 || 8592 <= D && D <= 8601 || 8632 <= D && D <= 8633 || D == 8658 || D == 8660 || D == 8679 || D == 8704 || 8706 <= D && D <= 8707 || 8711 <= D && D <= 8712 || D == 8715 || D == 8719 || D == 8721 || D == 8725 || D == 8730 || 8733 <= D && D <= 8736 || D == 8739 || D == 8741 || 8743 <= D && D <= 8748 || D == 8750 || 8756 <= D && D <= 8759 || 8764 <= D && D <= 8765 || D == 8776 || D == 8780 || D == 8786 || 8800 <= D && D <= 8801 || 8804 <= D && D <= 8807 || 8810 <= D && D <= 8811 || 8814 <= D && D <= 8815 || 8834 <= D && D <= 8835 || 8838 <= D && D <= 8839 || D == 8853 || D == 8857 || D == 8869 || D == 8895 || D == 8978 || 9312 <= D && D <= 9449 || 9451 <= D && D <= 9547 || 9552 <= D && D <= 9587 || 9600 <= D && D <= 9615 || 9618 <= D && D <= 9621 || 9632 <= D && D <= 9633 || 9635 <= D && D <= 9641 || 9650 <= D && D <= 9651 || 9654 <= D && D <= 9655 || 9660 <= D && D <= 9661 || 9664 <= D && D <= 9665 || 9670 <= D && D <= 9672 || D == 9675 || 9678 <= D && D <= 9681 || 9698 <= D && D <= 9701 || D == 9711 || 9733 <= D && D <= 9734 || D == 9737 || 9742 <= D && D <= 9743 || 9748 <= D && D <= 9749 || D == 9756 || D == 9758 || D == 9792 || D == 9794 || 9824 <= D && D <= 9825 || 9827 <= D && D <= 9829 || 9831 <= D && D <= 9834 || 9836 <= D && D <= 9837 || D == 9839 || 9886 <= D && D <= 9887 || 9918 <= D && D <= 9919 || 9924 <= D && D <= 9933 || 9935 <= D && D <= 9953 || D == 9955 || 9960 <= D && D <= 9983 || D == 10045 || D == 10071 || 10102 <= D && D <= 10111 || 11093 <= D && D <= 11097 || 12872 <= D && D <= 12879 || 57344 <= D && D <= 63743 || 65024 <= D && D <= 65039 || D == 65533 || 127232 <= D && D <= 127242 || 127248 <= D && D <= 127277 || 127280 <= D && D <= 127337 || 127344 <= D && D <= 127386 || 917760 <= D && D <= 917999 || 983040 <= D && D <= 1048573 || 1048576 <= D && D <= 1114109 ? "A" : "N";
2108
- }, u.characterLength = function(e2) {
2109
- var s = this.eastAsianWidth(e2);
2102
+ }, u.characterLength = function(e) {
2103
+ var s = this.eastAsianWidth(e);
2110
2104
  return s == "F" || s == "W" || s == "A" ? 2 : 1;
2111
2105
  };
2112
- function F(e2) {
2113
- return e2.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || [];
2106
+ function F(e) {
2107
+ return e.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || [];
2114
2108
  }
2115
- u.length = function(e2) {
2116
- for (var s = F(e2), i = 0, D = 0;D < s.length; D++)
2109
+ u.length = function(e) {
2110
+ for (var s = F(e), i = 0, D = 0;D < s.length; D++)
2117
2111
  i = i + this.characterLength(s[D]);
2118
2112
  return i;
2119
- }, u.slice = function(e2, s, i) {
2120
- textLen = u.length(e2), s = s || 0, i = i || 1, s < 0 && (s = textLen + s), i < 0 && (i = textLen + i);
2121
- for (var D = "", C = 0, o = F(e2), E = 0;E < o.length; E++) {
2113
+ }, u.slice = function(e, s, i) {
2114
+ textLen = u.length(e), s = s || 0, i = i || 1, s < 0 && (s = textLen + s), i < 0 && (i = textLen + i);
2115
+ for (var D = "", C = 0, o = F(e), E = 0;E < o.length; E++) {
2122
2116
  var a = o[E], n = u.length(a);
2123
2117
  if (C >= s - (n == 2 ? 1 : 0))
2124
2118
  if (C + n <= i)
@@ -2258,20 +2252,20 @@ var init_prompt = __esm(() => {
2258
2252
  import g$1 from "node:process";
2259
2253
  function b() {
2260
2254
  if (globalThis.process?.env)
2261
- for (const e2 of f2) {
2262
- const s = e2[1] || e2[0];
2255
+ for (const e of f2) {
2256
+ const s = e[1] || e[0];
2263
2257
  if (globalThis.process?.env[s])
2264
- return { name: e2[0].toLowerCase(), ...e2[2] };
2258
+ return { name: e[0].toLowerCase(), ...e[2] };
2265
2259
  }
2266
2260
  return globalThis.process?.env?.SHELL === "/bin/jsh" && globalThis.process?.versions?.webcontainer ? { name: "stackblitz", ci: false } : { name: "", ci: false };
2267
2261
  }
2268
- function n(e2) {
2269
- return e2 ? e2 !== "false" : false;
2262
+ function n(e) {
2263
+ return e ? e !== "false" : false;
2270
2264
  }
2271
2265
  function G2() {
2272
- const e2 = F2.find((s) => s[0]);
2273
- if (e2)
2274
- return { name: e2[1] };
2266
+ const e = F2.find((s) => s[0]);
2267
+ if (e)
2268
+ return { name: e[1] };
2275
2269
  }
2276
2270
  function ansiRegex2({ onlyFirst = false } = {}) {
2277
2271
  const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
@@ -2287,14 +2281,14 @@ function stripAnsi2(string) {
2287
2281
  }
2288
2282
  return string.replace(regex, "");
2289
2283
  }
2290
- function isAmbiguous(x2) {
2291
- return x2 === 161 || x2 === 164 || x2 === 167 || x2 === 168 || x2 === 170 || x2 === 173 || x2 === 174 || x2 >= 176 && x2 <= 180 || x2 >= 182 && x2 <= 186 || x2 >= 188 && x2 <= 191 || x2 === 198 || x2 === 208 || x2 === 215 || x2 === 216 || x2 >= 222 && x2 <= 225 || x2 === 230 || x2 >= 232 && x2 <= 234 || x2 === 236 || x2 === 237 || x2 === 240 || x2 === 242 || x2 === 243 || x2 >= 247 && x2 <= 250 || x2 === 252 || x2 === 254 || x2 === 257 || x2 === 273 || x2 === 275 || x2 === 283 || x2 === 294 || x2 === 295 || x2 === 299 || x2 >= 305 && x2 <= 307 || x2 === 312 || x2 >= 319 && x2 <= 322 || x2 === 324 || x2 >= 328 && x2 <= 331 || x2 === 333 || x2 === 338 || x2 === 339 || x2 === 358 || x2 === 359 || x2 === 363 || x2 === 462 || x2 === 464 || x2 === 466 || x2 === 468 || x2 === 470 || x2 === 472 || x2 === 474 || x2 === 476 || x2 === 593 || x2 === 609 || x2 === 708 || x2 === 711 || x2 >= 713 && x2 <= 715 || x2 === 717 || x2 === 720 || x2 >= 728 && x2 <= 731 || x2 === 733 || x2 === 735 || x2 >= 768 && x2 <= 879 || x2 >= 913 && x2 <= 929 || x2 >= 931 && x2 <= 937 || x2 >= 945 && x2 <= 961 || x2 >= 963 && x2 <= 969 || x2 === 1025 || x2 >= 1040 && x2 <= 1103 || x2 === 1105 || x2 === 8208 || x2 >= 8211 && x2 <= 8214 || x2 === 8216 || x2 === 8217 || x2 === 8220 || x2 === 8221 || x2 >= 8224 && x2 <= 8226 || x2 >= 8228 && x2 <= 8231 || x2 === 8240 || x2 === 8242 || x2 === 8243 || x2 === 8245 || x2 === 8251 || x2 === 8254 || x2 === 8308 || x2 === 8319 || x2 >= 8321 && x2 <= 8324 || x2 === 8364 || x2 === 8451 || x2 === 8453 || x2 === 8457 || x2 === 8467 || x2 === 8470 || x2 === 8481 || x2 === 8482 || x2 === 8486 || x2 === 8491 || x2 === 8531 || x2 === 8532 || x2 >= 8539 && x2 <= 8542 || x2 >= 8544 && x2 <= 8555 || x2 >= 8560 && x2 <= 8569 || x2 === 8585 || x2 >= 8592 && x2 <= 8601 || x2 === 8632 || x2 === 8633 || x2 === 8658 || x2 === 8660 || x2 === 8679 || x2 === 8704 || x2 === 8706 || x2 === 8707 || x2 === 8711 || x2 === 8712 || x2 === 8715 || x2 === 8719 || x2 === 8721 || x2 === 8725 || x2 === 8730 || x2 >= 8733 && x2 <= 8736 || x2 === 8739 || x2 === 8741 || x2 >= 8743 && x2 <= 8748 || x2 === 8750 || x2 >= 8756 && x2 <= 8759 || x2 === 8764 || x2 === 8765 || x2 === 8776 || x2 === 8780 || x2 === 8786 || x2 === 8800 || x2 === 8801 || x2 >= 8804 && x2 <= 8807 || x2 === 8810 || x2 === 8811 || x2 === 8814 || x2 === 8815 || x2 === 8834 || x2 === 8835 || x2 === 8838 || x2 === 8839 || x2 === 8853 || x2 === 8857 || x2 === 8869 || x2 === 8895 || x2 === 8978 || x2 >= 9312 && x2 <= 9449 || x2 >= 9451 && x2 <= 9547 || x2 >= 9552 && x2 <= 9587 || x2 >= 9600 && x2 <= 9615 || x2 >= 9618 && x2 <= 9621 || x2 === 9632 || x2 === 9633 || x2 >= 9635 && x2 <= 9641 || x2 === 9650 || x2 === 9651 || x2 === 9654 || x2 === 9655 || x2 === 9660 || x2 === 9661 || x2 === 9664 || x2 === 9665 || x2 >= 9670 && x2 <= 9672 || x2 === 9675 || x2 >= 9678 && x2 <= 9681 || x2 >= 9698 && x2 <= 9701 || x2 === 9711 || x2 === 9733 || x2 === 9734 || x2 === 9737 || x2 === 9742 || x2 === 9743 || x2 === 9756 || x2 === 9758 || x2 === 9792 || x2 === 9794 || x2 === 9824 || x2 === 9825 || x2 >= 9827 && x2 <= 9829 || x2 >= 9831 && x2 <= 9834 || x2 === 9836 || x2 === 9837 || x2 === 9839 || x2 === 9886 || x2 === 9887 || x2 === 9919 || x2 >= 9926 && x2 <= 9933 || x2 >= 9935 && x2 <= 9939 || x2 >= 9941 && x2 <= 9953 || x2 === 9955 || x2 === 9960 || x2 === 9961 || x2 >= 9963 && x2 <= 9969 || x2 === 9972 || x2 >= 9974 && x2 <= 9977 || x2 === 9979 || x2 === 9980 || x2 === 9982 || x2 === 9983 || x2 === 10045 || x2 >= 10102 && x2 <= 10111 || x2 >= 11094 && x2 <= 11097 || x2 >= 12872 && x2 <= 12879 || x2 >= 57344 && x2 <= 63743 || x2 >= 65024 && x2 <= 65039 || x2 === 65533 || x2 >= 127232 && x2 <= 127242 || x2 >= 127248 && x2 <= 127277 || x2 >= 127280 && x2 <= 127337 || x2 >= 127344 && x2 <= 127373 || x2 === 127375 || x2 === 127376 || x2 >= 127387 && x2 <= 127404 || x2 >= 917760 && x2 <= 917999 || x2 >= 983040 && x2 <= 1048573 || x2 >= 1048576 && x2 <= 1114109;
2284
+ function isAmbiguous(x) {
2285
+ return x === 161 || x === 164 || x === 167 || x === 168 || x === 170 || x === 173 || x === 174 || x >= 176 && x <= 180 || x >= 182 && x <= 186 || x >= 188 && x <= 191 || x === 198 || x === 208 || x === 215 || x === 216 || x >= 222 && x <= 225 || x === 230 || x >= 232 && x <= 234 || x === 236 || x === 237 || x === 240 || x === 242 || x === 243 || x >= 247 && x <= 250 || x === 252 || x === 254 || x === 257 || x === 273 || x === 275 || x === 283 || x === 294 || x === 295 || x === 299 || x >= 305 && x <= 307 || x === 312 || x >= 319 && x <= 322 || x === 324 || x >= 328 && x <= 331 || x === 333 || x === 338 || x === 339 || x === 358 || x === 359 || x === 363 || x === 462 || x === 464 || x === 466 || x === 468 || x === 470 || x === 472 || x === 474 || x === 476 || x === 593 || x === 609 || x === 708 || x === 711 || x >= 713 && x <= 715 || x === 717 || x === 720 || x >= 728 && x <= 731 || x === 733 || x === 735 || x >= 768 && x <= 879 || x >= 913 && x <= 929 || x >= 931 && x <= 937 || x >= 945 && x <= 961 || x >= 963 && x <= 969 || x === 1025 || x >= 1040 && x <= 1103 || x === 1105 || x === 8208 || x >= 8211 && x <= 8214 || x === 8216 || x === 8217 || x === 8220 || x === 8221 || x >= 8224 && x <= 8226 || x >= 8228 && x <= 8231 || x === 8240 || x === 8242 || x === 8243 || x === 8245 || x === 8251 || x === 8254 || x === 8308 || x === 8319 || x >= 8321 && x <= 8324 || x === 8364 || x === 8451 || x === 8453 || x === 8457 || x === 8467 || x === 8470 || x === 8481 || x === 8482 || x === 8486 || x === 8491 || x === 8531 || x === 8532 || x >= 8539 && x <= 8542 || x >= 8544 && x <= 8555 || x >= 8560 && x <= 8569 || x === 8585 || x >= 8592 && x <= 8601 || x === 8632 || x === 8633 || x === 8658 || x === 8660 || x === 8679 || x === 8704 || x === 8706 || x === 8707 || x === 8711 || x === 8712 || x === 8715 || x === 8719 || x === 8721 || x === 8725 || x === 8730 || x >= 8733 && x <= 8736 || x === 8739 || x === 8741 || x >= 8743 && x <= 8748 || x === 8750 || x >= 8756 && x <= 8759 || x === 8764 || x === 8765 || x === 8776 || x === 8780 || x === 8786 || x === 8800 || x === 8801 || x >= 8804 && x <= 8807 || x === 8810 || x === 8811 || x === 8814 || x === 8815 || x === 8834 || x === 8835 || x === 8838 || x === 8839 || x === 8853 || x === 8857 || x === 8869 || x === 8895 || x === 8978 || x >= 9312 && x <= 9449 || x >= 9451 && x <= 9547 || x >= 9552 && x <= 9587 || x >= 9600 && x <= 9615 || x >= 9618 && x <= 9621 || x === 9632 || x === 9633 || x >= 9635 && x <= 9641 || x === 9650 || x === 9651 || x === 9654 || x === 9655 || x === 9660 || x === 9661 || x === 9664 || x === 9665 || x >= 9670 && x <= 9672 || x === 9675 || x >= 9678 && x <= 9681 || x >= 9698 && x <= 9701 || x === 9711 || x === 9733 || x === 9734 || x === 9737 || x === 9742 || x === 9743 || x === 9756 || x === 9758 || x === 9792 || x === 9794 || x === 9824 || x === 9825 || x >= 9827 && x <= 9829 || x >= 9831 && x <= 9834 || x === 9836 || x === 9837 || x === 9839 || x === 9886 || x === 9887 || x === 9919 || x >= 9926 && x <= 9933 || x >= 9935 && x <= 9939 || x >= 9941 && x <= 9953 || x === 9955 || x === 9960 || x === 9961 || x >= 9963 && x <= 9969 || x === 9972 || x >= 9974 && x <= 9977 || x === 9979 || x === 9980 || x === 9982 || x === 9983 || x === 10045 || x >= 10102 && x <= 10111 || x >= 11094 && x <= 11097 || x >= 12872 && x <= 12879 || x >= 57344 && x <= 63743 || x >= 65024 && x <= 65039 || x === 65533 || x >= 127232 && x <= 127242 || x >= 127248 && x <= 127277 || x >= 127280 && x <= 127337 || x >= 127344 && x <= 127373 || x === 127375 || x === 127376 || x >= 127387 && x <= 127404 || x >= 917760 && x <= 917999 || x >= 983040 && x <= 1048573 || x >= 1048576 && x <= 1114109;
2292
2286
  }
2293
- function isFullWidth(x2) {
2294
- return x2 === 12288 || x2 >= 65281 && x2 <= 65376 || x2 >= 65504 && x2 <= 65510;
2287
+ function isFullWidth(x) {
2288
+ return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
2295
2289
  }
2296
- function isWide(x2) {
2297
- return x2 >= 4352 && x2 <= 4447 || x2 === 8986 || x2 === 8987 || x2 === 9001 || x2 === 9002 || x2 >= 9193 && x2 <= 9196 || x2 === 9200 || x2 === 9203 || x2 === 9725 || x2 === 9726 || x2 === 9748 || x2 === 9749 || x2 >= 9776 && x2 <= 9783 || x2 >= 9800 && x2 <= 9811 || x2 === 9855 || x2 >= 9866 && x2 <= 9871 || x2 === 9875 || x2 === 9889 || x2 === 9898 || x2 === 9899 || x2 === 9917 || x2 === 9918 || x2 === 9924 || x2 === 9925 || x2 === 9934 || x2 === 9940 || x2 === 9962 || x2 === 9970 || x2 === 9971 || x2 === 9973 || x2 === 9978 || x2 === 9981 || x2 === 9989 || x2 === 9994 || x2 === 9995 || x2 === 10024 || x2 === 10060 || x2 === 10062 || x2 >= 10067 && x2 <= 10069 || x2 === 10071 || x2 >= 10133 && x2 <= 10135 || x2 === 10160 || x2 === 10175 || x2 === 11035 || x2 === 11036 || x2 === 11088 || x2 === 11093 || x2 >= 11904 && x2 <= 11929 || x2 >= 11931 && x2 <= 12019 || x2 >= 12032 && x2 <= 12245 || x2 >= 12272 && x2 <= 12287 || x2 >= 12289 && x2 <= 12350 || x2 >= 12353 && x2 <= 12438 || x2 >= 12441 && x2 <= 12543 || x2 >= 12549 && x2 <= 12591 || x2 >= 12593 && x2 <= 12686 || x2 >= 12688 && x2 <= 12773 || x2 >= 12783 && x2 <= 12830 || x2 >= 12832 && x2 <= 12871 || x2 >= 12880 && x2 <= 42124 || x2 >= 42128 && x2 <= 42182 || x2 >= 43360 && x2 <= 43388 || x2 >= 44032 && x2 <= 55203 || x2 >= 63744 && x2 <= 64255 || x2 >= 65040 && x2 <= 65049 || x2 >= 65072 && x2 <= 65106 || x2 >= 65108 && x2 <= 65126 || x2 >= 65128 && x2 <= 65131 || x2 >= 94176 && x2 <= 94180 || x2 === 94192 || x2 === 94193 || x2 >= 94208 && x2 <= 100343 || x2 >= 100352 && x2 <= 101589 || x2 >= 101631 && x2 <= 101640 || x2 >= 110576 && x2 <= 110579 || x2 >= 110581 && x2 <= 110587 || x2 === 110589 || x2 === 110590 || x2 >= 110592 && x2 <= 110882 || x2 === 110898 || x2 >= 110928 && x2 <= 110930 || x2 === 110933 || x2 >= 110948 && x2 <= 110951 || x2 >= 110960 && x2 <= 111355 || x2 >= 119552 && x2 <= 119638 || x2 >= 119648 && x2 <= 119670 || x2 === 126980 || x2 === 127183 || x2 === 127374 || x2 >= 127377 && x2 <= 127386 || x2 >= 127488 && x2 <= 127490 || x2 >= 127504 && x2 <= 127547 || x2 >= 127552 && x2 <= 127560 || x2 === 127568 || x2 === 127569 || x2 >= 127584 && x2 <= 127589 || x2 >= 127744 && x2 <= 127776 || x2 >= 127789 && x2 <= 127797 || x2 >= 127799 && x2 <= 127868 || x2 >= 127870 && x2 <= 127891 || x2 >= 127904 && x2 <= 127946 || x2 >= 127951 && x2 <= 127955 || x2 >= 127968 && x2 <= 127984 || x2 === 127988 || x2 >= 127992 && x2 <= 128062 || x2 === 128064 || x2 >= 128066 && x2 <= 128252 || x2 >= 128255 && x2 <= 128317 || x2 >= 128331 && x2 <= 128334 || x2 >= 128336 && x2 <= 128359 || x2 === 128378 || x2 === 128405 || x2 === 128406 || x2 === 128420 || x2 >= 128507 && x2 <= 128591 || x2 >= 128640 && x2 <= 128709 || x2 === 128716 || x2 >= 128720 && x2 <= 128722 || x2 >= 128725 && x2 <= 128727 || x2 >= 128732 && x2 <= 128735 || x2 === 128747 || x2 === 128748 || x2 >= 128756 && x2 <= 128764 || x2 >= 128992 && x2 <= 129003 || x2 === 129008 || x2 >= 129292 && x2 <= 129338 || x2 >= 129340 && x2 <= 129349 || x2 >= 129351 && x2 <= 129535 || x2 >= 129648 && x2 <= 129660 || x2 >= 129664 && x2 <= 129673 || x2 >= 129679 && x2 <= 129734 || x2 >= 129742 && x2 <= 129756 || x2 >= 129759 && x2 <= 129769 || x2 >= 129776 && x2 <= 129784 || x2 >= 131072 && x2 <= 196605 || x2 >= 196608 && x2 <= 262141;
2290
+ function isWide(x) {
2291
+ return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9776 && x <= 9783 || x >= 9800 && x <= 9811 || x === 9855 || x >= 9866 && x <= 9871 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12773 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x === 94192 || x === 94193 || x >= 94208 && x <= 100343 || x >= 100352 && x <= 101589 || x >= 101631 && x <= 101640 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x >= 119552 && x <= 119638 || x >= 119648 && x <= 119670 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128727 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129673 || x >= 129679 && x <= 129734 || x >= 129742 && x <= 129756 || x >= 129759 && x <= 129769 || x >= 129776 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
2298
2292
  }
2299
2293
  function validate(codePoint) {
2300
2294
  if (!Number.isSafeInteger(codePoint)) {
@@ -2353,12 +2347,12 @@ function stringWidth$1(string, options = {}) {
2353
2347
  return width;
2354
2348
  }
2355
2349
  function isUnicodeSupported() {
2356
- const { env: env2 } = g$1;
2357
- const { TERM, TERM_PROGRAM } = env2;
2350
+ const { env } = g$1;
2351
+ const { TERM, TERM_PROGRAM } = env;
2358
2352
  if (g$1.platform !== "win32") {
2359
2353
  return TERM !== "linux";
2360
2354
  }
2361
- return Boolean(env2.WT_SESSION) || Boolean(env2.TERMINUS_SUBLIME) || env2.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env2.TERMINAL_EMULATOR === "JetBrains-JediTerm";
2355
+ return Boolean(env.WT_SESSION) || Boolean(env.TERMINUS_SUBLIME) || env.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
2362
2356
  }
2363
2357
  function stringWidth(str) {
2364
2358
  const hasICU = typeof Intl === "object";
@@ -2368,7 +2362,7 @@ function stringWidth(str) {
2368
2362
  return stringWidth$1(str);
2369
2363
  }
2370
2364
  function characterFormat(str) {
2371
- return str.replace(/`([^`]+)`/gm, (_3, m2) => colors.cyan(m2)).replace(/\s+_([^_]+)_\s+/gm, (_3, m2) => ` ${colors.underline(m2)} `);
2365
+ return str.replace(/`([^`]+)`/gm, (_, m) => colors.cyan(m)).replace(/\s+_([^_]+)_\s+/gm, (_, m) => ` ${colors.underline(m)} `);
2372
2366
  }
2373
2367
  function getColor2(color = "white") {
2374
2368
  return colors[color] || colors.white;
@@ -2386,7 +2380,7 @@ function createConsola2(options = {}) {
2386
2380
  defaults: { level },
2387
2381
  stdout: process.stdout,
2388
2382
  stderr: process.stderr,
2389
- prompt: (...args) => Promise.resolve().then(() => (init_prompt(), exports_prompt)).then((m2) => m2.prompt(...args)),
2383
+ prompt: (...args) => Promise.resolve().then(() => (init_prompt(), {})).then((m) => prompt(...args)),
2390
2384
  reporters: options.reporters || [
2391
2385
  options.fancy ?? !(T2 || R2) ? new FancyReporter : new BasicReporter
2392
2386
  ],
@@ -2403,31 +2397,31 @@ function _getDefaultLogLevel() {
2403
2397
  }
2404
2398
  return LogLevels.info;
2405
2399
  }
2406
- var r2, i = (e2) => globalThis.process?.env || import.meta.env || globalThis.Deno?.env.toObject() || globalThis.__env__ || (e2 ? r2 : globalThis), o2, t, f2, l, I2, T2, a, g2, R2, A2, C2, y2, _2, c2, O2, D, L2, S2, u2, N2, F2, P2, regex, emojiRegex = () => {
2400
+ var r2, i = (e) => globalThis.process?.env || import.meta.env || globalThis.Deno?.env.toObject() || globalThis.__env__ || (e ? r2 : globalThis), o2, t, f2, l, I2, T2, a, g2, R2, A2, C2, y2, _2, c2, O2, D, L2, S2, u2, N2, F2, P2, regex, emojiRegex = () => {
2407
2401
  return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
2408
- }, segmenter, defaultIgnorableCodePointRegex, TYPE_COLOR_MAP, LEVEL_COLOR_MAP, unicode, s = (c3, fallback) => unicode ? c3 : fallback, TYPE_ICONS, FancyReporter, consola;
2402
+ }, segmenter, defaultIgnorableCodePointRegex, TYPE_COLOR_MAP, LEVEL_COLOR_MAP, unicode, s = (c, fallback) => unicode ? c : fallback, TYPE_ICONS, FancyReporter, consola;
2409
2403
  var init_dist2 = __esm(() => {
2410
2404
  init_core();
2411
2405
  init_core();
2412
2406
  init_consola_DRwqZj3T();
2413
2407
  init_consola_DXBYu_KD();
2414
2408
  r2 = Object.create(null);
2415
- o2 = new Proxy(r2, { get(e2, s) {
2409
+ o2 = new Proxy(r2, { get(e, s) {
2416
2410
  return i()[s] ?? r2[s];
2417
- }, has(e2, s) {
2411
+ }, has(e, s) {
2418
2412
  const E = i();
2419
2413
  return s in E || s in r2;
2420
- }, set(e2, s, E) {
2421
- const B2 = i(true);
2422
- return B2[s] = E, true;
2423
- }, deleteProperty(e2, s) {
2414
+ }, set(e, s, E) {
2415
+ const B = i(true);
2416
+ return B[s] = E, true;
2417
+ }, deleteProperty(e, s) {
2424
2418
  if (!s)
2425
2419
  return false;
2426
2420
  const E = i(true);
2427
2421
  return delete E[s], true;
2428
2422
  }, ownKeys() {
2429
- const e2 = i(true);
2430
- return Object.keys(e2);
2423
+ const e = i(true);
2424
+ return Object.keys(e);
2431
2425
  } });
2432
2426
  t = typeof process < "u" && process.env && "development" || "";
2433
2427
  f2 = [["APPVEYOR"], ["AWS_AMPLIFY", "AWS_APP_ID", { ci: true }], ["AZURE_PIPELINES", "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"], ["AZURE_STATIC", "INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN"], ["APPCIRCLE", "AC_APPCIRCLE"], ["BAMBOO", "bamboo_planKey"], ["BITBUCKET", "BITBUCKET_COMMIT"], ["BITRISE", "BITRISE_IO"], ["BUDDY", "BUDDY_WORKSPACE_ID"], ["BUILDKITE"], ["CIRCLE", "CIRCLECI"], ["CIRRUS", "CIRRUS_CI"], ["CLOUDFLARE_PAGES", "CF_PAGES", { ci: true }], ["CODEBUILD", "CODEBUILD_BUILD_ARN"], ["CODEFRESH", "CF_BUILD_ID"], ["DRONE"], ["DRONE", "DRONE_BUILD_EVENT"], ["DSARI"], ["GITHUB_ACTIONS"], ["GITLAB", "GITLAB_CI"], ["GITLAB", "CI_MERGE_REQUEST_ID"], ["GOCD", "GO_PIPELINE_LABEL"], ["LAYERCI"], ["HUDSON", "HUDSON_URL"], ["JENKINS", "JENKINS_URL"], ["MAGNUM"], ["NETLIFY"], ["NETLIFY", "NETLIFY_LOCAL", { ci: false }], ["NEVERCODE"], ["RENDER"], ["SAIL", "SAILCI"], ["SEMAPHORE"], ["SCREWDRIVER"], ["SHIPPABLE"], ["SOLANO", "TDDIUM"], ["STRIDER"], ["TEAMCITY", "TEAMCITY_VERSION"], ["TRAVIS"], ["VERCEL", "NOW_BUILDER"], ["VERCEL", "VERCEL", { ci: false }], ["VERCEL", "VERCEL_ENV", { ci: false }], ["APPCENTER", "APPCENTER_BUILD_ID"], ["CODESANDBOX", "CODESANDBOX_SSE", { ci: false }], ["CODESANDBOX", "CODESANDBOX_HOST", { ci: false }], ["STACKBLITZ"], ["STORMKIT"], ["CLEAVR"], ["ZEABUR"], ["CODESPHERE", "CODESPHERE_APP_ID", { ci: true }], ["RAILWAY", "RAILWAY_PROJECT_ID"], ["RAILWAY", "RAILWAY_SERVICE_ID"], ["DENO-DEPLOY", "DENO_DEPLOYMENT_ID"], ["FIREBASE_APP_HOSTING", "FIREBASE_APP_HOSTING", { ci: true }]];
@@ -2445,11 +2439,11 @@ var init_dist2 = __esm(() => {
2445
2439
  Number(C2?.split(".")[0]);
2446
2440
  y2 = globalThis.process || Object.create(null);
2447
2441
  _2 = { versions: {} };
2448
- new Proxy(y2, { get(e2, s) {
2442
+ new Proxy(y2, { get(e, s) {
2449
2443
  if (s === "env")
2450
2444
  return o2;
2451
- if (s in e2)
2452
- return e2[s];
2445
+ if (s in e)
2446
+ return e[s];
2453
2447
  if (s in _2)
2454
2448
  return _2[s];
2455
2449
  } });
@@ -2495,7 +2489,7 @@ var init_dist2 = __esm(() => {
2495
2489
  formatStack(stack, message, opts) {
2496
2490
  const indent = " ".repeat((opts?.errorLevel || 0) + 1);
2497
2491
  return `
2498
- ${indent}` + parseStack(stack, message).map((line) => " " + line.replace(/^at +/, (m2) => colors.gray(m2)).replace(/\((.+)\)/, (_3, m2) => `(${colors.cyan(m2)})`)).join(`
2492
+ ${indent}` + parseStack(stack, message).map((line) => " " + line.replace(/^at +/, (m) => colors.gray(m)).replace(/\((.+)\)/, (_, m) => `(${colors.cyan(m)})`)).join(`
2499
2493
  ${indent}`);
2500
2494
  }
2501
2495
  formatType(logObj, isBadge, opts) {
@@ -2559,7 +2553,7 @@ function defaultGenerateNonce() {
2559
2553
  }
2560
2554
  function performLogin(deps) {
2561
2555
  return new Promise((resolve) => {
2562
- const { openBrowser: openBrowser2, onSaveToken, apiUrl, timeoutMs, log, tokenParam = "api_key", loginPath = "/api/auth/cli", generateNonce = defaultGenerateNonce, accentColor = "#c9a227", extraParams = {} } = deps;
2556
+ const { openBrowser, onSaveToken, apiUrl, timeoutMs, log, tokenParam = "api_key", loginPath = "/api/auth/cli", generateNonce = defaultGenerateNonce, accentColor = "#c9a227", extraParams = {} } = deps;
2563
2557
  const expectedState = generateNonce();
2564
2558
  const server = http.createServer((req, res) => {
2565
2559
  const url = new URL(req.url ?? "/", "http://localhost");
@@ -2636,7 +2630,7 @@ function performLogin(deps) {
2636
2630
  loginUrlObj.searchParams.set(key, value);
2637
2631
  }
2638
2632
  const loginUrl = loginUrlObj.toString();
2639
- openBrowser2(loginUrl).catch(() => {
2633
+ openBrowser(loginUrl).catch(() => {
2640
2634
  if (log) {
2641
2635
  log(`Could not open browser. Open this URL manually:
2642
2636
  ${loginUrl}`);
@@ -3099,7 +3093,7 @@ var init_connect = () => {};
3099
3093
  var init_settings = () => {};
3100
3094
 
3101
3095
  // ../shared/dist/version.js
3102
- var BAT_VERSION = "3.0.1";
3096
+ var BAT_VERSION = "3.2.0";
3103
3097
 
3104
3098
  // ../shared/dist/workstations.js
3105
3099
  function fail(error) {
@@ -3211,6 +3205,9 @@ function ipFamily(input) {
3211
3205
  }
3212
3206
  return null;
3213
3207
  }
3208
+ function isPkceS256Challenge(input) {
3209
+ return PKCE_CHALLENGE_PATTERN.test(input);
3210
+ }
3214
3211
  function isPkceCodeVerifier(input) {
3215
3212
  return PKCE_VERIFIER_PATTERN.test(input);
3216
3213
  }
@@ -3671,7 +3668,65 @@ function validateWorkstationLoginExchange(input) {
3671
3668
  }
3672
3669
  };
3673
3670
  }
3674
- var WORKSTATION_INTERVAL_SECONDS = 600, WORKSTATION_PING_COUNT = 3, WORKSTATION_MAX_TARGETS = 100, WORKSTATION_BODY_MAX_BYTES = 65536, WORKSTATION_REPORT_SKEW_SECONDS = 300, WORKSTATION_MAX_RUN_MS = 120000, WORKSTATION_STALE_AFTER_SECONDS, WORKSTATION_LIMITS, WORKSTATION_CONNECTIVITY_STATUSES, UUID_PATTERN, IPV4_PATTERN, PKCE_VERIFIER_PATTERN, WORKSTATION_TOKEN_PATTERN, IPV6_CHARS, REPORT_KEYS, CPU_KEYS, MEM_KEYS, DISK_KEYS, NETWORK_KEYS, INTERFACE_KEYS, ADDRESS_KEYS, CONNECTIVITY_KEYS, TARGET_KEYS, TARGETS_RESPONSE_KEYS, LOGIN_EXCHANGE_KEYS;
3671
+ function normalizePairingCode(input) {
3672
+ const compact = input.replace(/[\s-]/g, "").toUpperCase();
3673
+ if (compact.length !== WORKSTATION_PAIRING_LENGTH) {
3674
+ return null;
3675
+ }
3676
+ for (const character of compact) {
3677
+ if (!WORKSTATION_PAIRING_ALPHABET.includes(character)) {
3678
+ return null;
3679
+ }
3680
+ }
3681
+ return compact;
3682
+ }
3683
+ function formatPairingCode(code) {
3684
+ const normalized = normalizePairingCode(code);
3685
+ if (normalized === null) {
3686
+ return code;
3687
+ }
3688
+ return `${normalized.slice(0, 4)}-${normalized.slice(4)}`;
3689
+ }
3690
+ function isPairingCode(input) {
3691
+ return normalizePairingCode(input) !== null;
3692
+ }
3693
+ function validateWorkstationName(input) {
3694
+ const name = readString("name", input, WORKSTATION_NAME_MAX_LENGTH);
3695
+ if (!name.ok) {
3696
+ return name;
3697
+ }
3698
+ if (name.value.trim() === "") {
3699
+ return fail("name must not be blank");
3700
+ }
3701
+ return { ok: true, value: name.value.trim() };
3702
+ }
3703
+ function validateWorkstationPairStart(input) {
3704
+ const root = readObject("pair", input, PAIR_START_KEYS);
3705
+ if (!root.ok) {
3706
+ return root;
3707
+ }
3708
+ const installationId = readUuid("installation_id", root.value.installation_id);
3709
+ if (!installationId.ok) {
3710
+ return installationId;
3711
+ }
3712
+ const name = validateWorkstationName(root.value.name);
3713
+ if (!name.ok) {
3714
+ return name;
3715
+ }
3716
+ const challenge = root.value.code_challenge;
3717
+ if (typeof challenge !== "string" || !isPkceS256Challenge(challenge)) {
3718
+ return fail("code_challenge must be a 43 character base64url S256 digest");
3719
+ }
3720
+ return {
3721
+ ok: true,
3722
+ value: {
3723
+ installation_id: installationId.value,
3724
+ name: name.value,
3725
+ code_challenge: challenge
3726
+ }
3727
+ };
3728
+ }
3729
+ var WORKSTATION_INTERVAL_SECONDS = 600, WORKSTATION_PING_COUNT = 3, WORKSTATION_MAX_TARGETS = 100, WORKSTATION_BODY_MAX_BYTES = 65536, WORKSTATION_REPORT_SKEW_SECONDS = 300, WORKSTATION_MAX_RUN_MS = 120000, WORKSTATION_STALE_AFTER_SECONDS, WORKSTATION_NAME_MAX_LENGTH = 64, WORKSTATION_PAIRING_TTL_SECONDS = 300, WORKSTATION_PAIRING_ALPHABET = "ABCDEFGHJKMNPQRSTVWXYZ23456789", WORKSTATION_PAIRING_LENGTH = 8, WORKSTATION_LIMITS, WORKSTATION_CONNECTIVITY_STATUSES, UUID_PATTERN, IPV4_PATTERN, PKCE_CHALLENGE_PATTERN, PKCE_VERIFIER_PATTERN, WORKSTATION_TOKEN_PATTERN, IPV6_CHARS, REPORT_KEYS, CPU_KEYS, MEM_KEYS, DISK_KEYS, NETWORK_KEYS, INTERFACE_KEYS, ADDRESS_KEYS, CONNECTIVITY_KEYS, TARGET_KEYS, TARGETS_RESPONSE_KEYS, LOGIN_EXCHANGE_KEYS, PAIR_START_KEYS;
3675
3730
  var init_workstations = __esm(() => {
3676
3731
  WORKSTATION_STALE_AFTER_SECONDS = WORKSTATION_INTERVAL_SECONDS * 3;
3677
3732
  WORKSTATION_LIMITS = {
@@ -3707,6 +3762,7 @@ var init_workstations = __esm(() => {
3707
3762
  ];
3708
3763
  UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
3709
3764
  IPV4_PATTERN = /^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}$/;
3765
+ PKCE_CHALLENGE_PATTERN = /^[A-Za-z0-9_-]{43}$/;
3710
3766
  PKCE_VERIFIER_PATTERN = /^[A-Za-z0-9._~-]{43,128}$/;
3711
3767
  WORKSTATION_TOKEN_PATTERN = /^batw_[A-Za-z0-9_-]{43}$/;
3712
3768
  IPV6_CHARS = /^[0-9a-f:.]+$/i;
@@ -3746,6 +3802,7 @@ var init_workstations = __esm(() => {
3746
3802
  TARGET_KEYS = ["server_id", "name", "address", "family"];
3747
3803
  TARGETS_RESPONSE_KEYS = ["data", "interval_seconds", "ping_count"];
3748
3804
  LOGIN_EXCHANGE_KEYS = ["code", "code_verifier", "installation_id"];
3805
+ PAIR_START_KEYS = ["installation_id", "name", "code_challenge"];
3749
3806
  });
3750
3807
 
3751
3808
  // ../shared/dist/index.js
@@ -3812,15 +3869,15 @@ class HttpClient {
3812
3869
  controller.abort();
3813
3870
  }, this.timeoutMs);
3814
3871
  try {
3815
- const init2 = {
3872
+ const init = {
3816
3873
  method,
3817
3874
  headers,
3818
3875
  signal: controller.signal
3819
3876
  };
3820
3877
  if (body !== undefined) {
3821
- init2.body = JSON.stringify(body);
3878
+ init.body = JSON.stringify(body);
3822
3879
  }
3823
- const res = await fetch(url, init2);
3880
+ const res = await fetch(url, init);
3824
3881
  if (!res.ok) {
3825
3882
  let message = `HTTP ${res.status}`;
3826
3883
  try {
@@ -4029,7 +4086,7 @@ function isRetryable(err) {
4029
4086
  }
4030
4087
  async function uploadReport(workerUrl, token, report, deps = {}) {
4031
4088
  const attempts = deps.attempts ?? UPLOAD_ATTEMPTS;
4032
- const sleep = deps.sleep ?? ((ms) => new Promise((r3) => setTimeout(r3, ms)));
4089
+ const sleep = deps.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
4033
4090
  const body = JSON.stringify(report);
4034
4091
  const client = new HttpClient(workerUrl, token, deps.timeoutMs ?? REQUEST_TIMEOUT_MS, deps.signal);
4035
4092
  let lastError;
@@ -4064,6 +4121,54 @@ async function revokeWorkstationKey(workerUrl, token, options = {}) {
4064
4121
  throw err;
4065
4122
  }
4066
4123
  }
4124
+ async function startPairing(origins, input, options = {}) {
4125
+ const validated = validateWorkstationPairStart(input);
4126
+ if (!validated.ok) {
4127
+ throw new Error(`invalid pairing request: ${validated.error}`);
4128
+ }
4129
+ const client = new HttpClient(origins.machine, undefined, options.timeoutMs ?? REQUEST_TIMEOUT_MS, options.signal);
4130
+ const raw = await client.post("/api/workstation-auth/pair", validated.value);
4131
+ if (typeof raw !== "object" || raw === null) {
4132
+ throw new Error("pairing start returned no object");
4133
+ }
4134
+ const record = raw;
4135
+ if (typeof record.pairing_code !== "string" || !isPairingCode(record.pairing_code)) {
4136
+ throw new Error("pairing start returned no valid pairing_code");
4137
+ }
4138
+ if (typeof record.code !== "string" || record.code.length < 32) {
4139
+ throw new Error("pairing start returned no valid exchange code");
4140
+ }
4141
+ if (typeof record.expires_at !== "number" || !Number.isFinite(record.expires_at)) {
4142
+ throw new Error("pairing start returned no expiry");
4143
+ }
4144
+ return {
4145
+ pairing_code: record.pairing_code,
4146
+ code: record.code,
4147
+ name: typeof record.name === "string" ? record.name : "",
4148
+ expires_at: record.expires_at
4149
+ };
4150
+ }
4151
+ async function pairingStatus(origins, pairingCode, options = {}) {
4152
+ const normalized = normalizePairingCode(pairingCode);
4153
+ if (normalized === null) {
4154
+ throw new Error("invalid pairing code");
4155
+ }
4156
+ const client = new HttpClient(origins.machine, undefined, options.timeoutMs ?? REQUEST_TIMEOUT_MS, options.signal);
4157
+ const raw = await client.get(`/api/workstation-auth/pair/${normalized}`);
4158
+ if (typeof raw !== "object" || raw === null) {
4159
+ throw new Error("pairing status returned no object");
4160
+ }
4161
+ const record = raw;
4162
+ const status = record.status;
4163
+ if (status !== "pending" && status !== "approved" && status !== "expired") {
4164
+ throw new Error("pairing status returned an unknown state");
4165
+ }
4166
+ return {
4167
+ status,
4168
+ name: typeof record.name === "string" ? record.name : "",
4169
+ expires_at: typeof record.expires_at === "number" ? record.expires_at : 0
4170
+ };
4171
+ }
4067
4172
  var REQUEST_TIMEOUT_MS = 30000, UPLOAD_ATTEMPTS = 3, RETRY_BASE_MS = 500;
4068
4173
  var init_api2 = __esm(() => {
4069
4174
  init_dist4();
@@ -4267,33 +4372,33 @@ function buildPlan(context, backend) {
4267
4372
  return { backend, files: [], register: [], unregister: [], finalize: [] };
4268
4373
  }
4269
4374
  }
4270
- function resolveBackend(requested, platform2, hasSystemd) {
4375
+ function resolveBackend(requested, platform, hasSystemd) {
4271
4376
  if (requested !== undefined) {
4272
4377
  if (!SCHEDULER_BACKENDS.includes(requested)) {
4273
4378
  throw new Error(`unknown --backend "${requested}" — use one of: ${SCHEDULER_BACKENDS.join(", ")}`);
4274
4379
  }
4275
4380
  const backend = requested;
4276
- if (backend === "launchd" && platform2 !== "darwin") {
4381
+ if (backend === "launchd" && platform !== "darwin") {
4277
4382
  throw new Error("--backend launchd is only available on macOS");
4278
4383
  }
4279
- if (backend === "windows" && platform2 !== "win32") {
4384
+ if (backend === "windows" && platform !== "win32") {
4280
4385
  throw new Error("--backend windows is only available on Windows");
4281
4386
  }
4282
- if (backend === "systemd" && platform2 !== "linux") {
4387
+ if (backend === "systemd" && platform !== "linux") {
4283
4388
  throw new Error("--backend systemd is only available on Linux");
4284
4389
  }
4285
- if (backend === "cron" && platform2 === "win32") {
4390
+ if (backend === "cron" && platform === "win32") {
4286
4391
  throw new Error("--backend cron is not available on Windows");
4287
4392
  }
4288
4393
  return backend;
4289
4394
  }
4290
- if (platform2 === "darwin") {
4395
+ if (platform === "darwin") {
4291
4396
  return "launchd";
4292
4397
  }
4293
- if (platform2 === "win32") {
4398
+ if (platform === "win32") {
4294
4399
  return "windows";
4295
4400
  }
4296
- if (platform2 === "linux") {
4401
+ if (platform === "linux") {
4297
4402
  if (!hasSystemd) {
4298
4403
  throw new Error("systemd --user was not found; pass --backend cron to schedule with crontab");
4299
4404
  }
@@ -4346,14 +4451,14 @@ function getWorkstationPaths(home = homedir4()) {
4346
4451
  logPath: join5(dir, "probe.log")
4347
4452
  };
4348
4453
  }
4349
- function ensureDirectory(paths, platform2) {
4454
+ function ensureDirectory(paths, platform) {
4350
4455
  mkdirSync3(paths.dir, { recursive: true, mode: 448 });
4351
- if (platform2 !== "win32") {
4456
+ if (platform !== "win32") {
4352
4457
  chmodSync(paths.dir, 448);
4353
4458
  }
4354
4459
  }
4355
- function enforcePrivateFile(path, platform2 = process.platform) {
4356
- if (platform2 === "win32") {
4460
+ function enforcePrivateFile(path, platform = process.platform) {
4461
+ if (platform === "win32") {
4357
4462
  return;
4358
4463
  }
4359
4464
  chmodSync(path, 384);
@@ -4400,19 +4505,19 @@ async function ensureInstallationId(paths, deps = {}) {
4400
4505
  if (existing) {
4401
4506
  return existing;
4402
4507
  }
4403
- const platform2 = deps.platform ?? process.platform;
4404
- ensureDirectory(paths, platform2);
4508
+ const platform = deps.platform ?? process.platform;
4509
+ ensureDirectory(paths, platform);
4405
4510
  if (deps.acl) {
4406
4511
  await deps.acl(paths.dir);
4407
4512
  }
4408
4513
  const id = randomUUID3();
4409
4514
  writeAtomic(paths.installationPath, `${JSON.stringify({ installation_id: id }, null, 2)}
4410
4515
  `);
4411
- enforcePrivateFile(paths.installationPath, platform2);
4516
+ enforcePrivateFile(paths.installationPath, platform);
4412
4517
  return id;
4413
4518
  }
4414
- function isLoopbackHost(hostname2) {
4415
- return ["127.0.0.1", "localhost", "[::1]", "::1"].includes(hostname2);
4519
+ function isLoopbackHost(hostname) {
4520
+ return ["127.0.0.1", "localhost", "[::1]", "::1"].includes(hostname);
4416
4521
  }
4417
4522
  function isAcceptableWorkerUrl(input) {
4418
4523
  let url;
@@ -4461,14 +4566,14 @@ function readCredential(paths, deps = {}) {
4461
4566
  return { workstation_id: workstationId, worker_url: workerUrl, token };
4462
4567
  }
4463
4568
  async function writeCredential(paths, credential, deps = {}) {
4464
- const platform2 = deps.platform ?? process.platform;
4465
- ensureDirectory(paths, platform2);
4569
+ const platform = deps.platform ?? process.platform;
4570
+ ensureDirectory(paths, platform);
4466
4571
  if (deps.acl) {
4467
4572
  await deps.acl(paths.dir);
4468
4573
  }
4469
4574
  writeAtomic(paths.credentialPath, `${JSON.stringify(credential, null, 2)}
4470
4575
  `);
4471
- enforcePrivateFile(paths.credentialPath, platform2);
4576
+ enforcePrivateFile(paths.credentialPath, platform);
4472
4577
  }
4473
4578
  function deleteCredential(paths) {
4474
4579
  if (!existsSync6(paths.credentialPath)) {
@@ -4512,6 +4617,89 @@ var init_store = __esm(() => {
4512
4617
  init_plan();
4513
4618
  });
4514
4619
 
4620
+ // src/workstation/headless.ts
4621
+ async function performHeadlessLogin(deps) {
4622
+ const now = deps.now ?? (() => Math.floor(Date.now() / 1000));
4623
+ const sleep = deps.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
4624
+ const installationId = await ensureInstallationId(deps.paths, deps.store);
4625
+ const pkce = generatePkce();
4626
+ let start;
4627
+ try {
4628
+ start = await (deps.start ?? startPairing)(deps.origins, {
4629
+ installation_id: installationId,
4630
+ name: deps.name,
4631
+ code_challenge: pkce.challenge
4632
+ });
4633
+ } catch (err) {
4634
+ error(`Pairing failed: ${err.message}`);
4635
+ return null;
4636
+ }
4637
+ (deps.announce ?? defaultAnnounce)({
4638
+ code: formatPairingCode(start.pairing_code),
4639
+ url: `${deps.origins.dashboard}/workstations`,
4640
+ name: start.name,
4641
+ expiresAt: start.expires_at
4642
+ });
4643
+ const deadline = Math.min(start.expires_at, now() + WORKSTATION_PAIRING_TTL_SECONDS);
4644
+ for (;; ) {
4645
+ if (deps.signal?.aborted) {
4646
+ error("Pairing cancelled");
4647
+ return null;
4648
+ }
4649
+ if (now() >= deadline) {
4650
+ error("Pairing code expired before it was approved");
4651
+ return null;
4652
+ }
4653
+ await sleep(PAIRING_POLL_MS);
4654
+ let status;
4655
+ try {
4656
+ status = await (deps.status ?? pairingStatus)(deps.origins, start.pairing_code, {
4657
+ ...deps.signal ? { signal: deps.signal } : {}
4658
+ });
4659
+ } catch (err) {
4660
+ error(`Pairing status failed: ${err.message}`);
4661
+ return null;
4662
+ }
4663
+ if (status.status === "expired") {
4664
+ error("Pairing code expired before it was approved");
4665
+ return null;
4666
+ }
4667
+ if (status.status === "approved") {
4668
+ break;
4669
+ }
4670
+ }
4671
+ let credential;
4672
+ try {
4673
+ credential = await (deps.exchange ?? exchangeLogin)(deps.origins, {
4674
+ code: start.code,
4675
+ code_verifier: pkce.verifier,
4676
+ installation_id: installationId
4677
+ });
4678
+ } catch (err) {
4679
+ error(`Login exchange failed: ${err.message}`);
4680
+ return null;
4681
+ }
4682
+ await writeCredential(deps.paths, credential, deps.store);
4683
+ return { installationId, credential };
4684
+ }
4685
+ function defaultAnnounce(text) {
4686
+ info(`Pairing code: ${text.code}`);
4687
+ info(` name: ${text.name}`);
4688
+ info(` approve at: ${text.url} → "Pair a workstation"`);
4689
+ info(` expires: ${new Date(text.expiresAt * 1000).toLocaleTimeString()}`);
4690
+ info("");
4691
+ info("Waiting for approval...");
4692
+ success("(leave this terminal open)");
4693
+ }
4694
+ var PAIRING_POLL_MS = 5000;
4695
+ var init_headless = __esm(() => {
4696
+ init_dist4();
4697
+ init_output();
4698
+ init_api2();
4699
+ init_login2();
4700
+ init_store();
4701
+ });
4702
+
4515
4703
  // src/workstation/login.ts
4516
4704
  import { createHash, randomBytes as randomBytes2 } from "node:crypto";
4517
4705
  import { hostname as osHostname } from "node:os";
@@ -4571,8 +4759,18 @@ async function performWorkstationLogin(deps) {
4571
4759
  async function runWorkstationLogin(deps) {
4572
4760
  info(`Dashboard: ${deps.origins.dashboard}`);
4573
4761
  info(`Ingest: ${deps.origins.machine}`);
4574
- info("Opening browser for workstation authorization...");
4575
- const outcome = await performWorkstationLogin(deps);
4762
+ if (deps.headless === undefined) {
4763
+ info("Opening browser for workstation authorization...");
4764
+ } else {
4765
+ info(`Headless pairing for "${deps.headless.name}" — no browser on this machine.`);
4766
+ }
4767
+ const outcome = deps.headless === undefined ? await performWorkstationLogin(deps) : await performHeadlessLogin({
4768
+ paths: deps.paths,
4769
+ origins: deps.origins,
4770
+ name: deps.headless.name,
4771
+ ...deps.store ? { store: deps.store } : {},
4772
+ ...deps.headless.announce ? { announce: deps.headless.announce } : {}
4773
+ });
4576
4774
  if (!outcome) {
4577
4775
  return { exitCode: 1 };
4578
4776
  }
@@ -4599,6 +4797,7 @@ var init_login2 = __esm(() => {
4599
4797
  init_dist3();
4600
4798
  init_output();
4601
4799
  init_api2();
4800
+ init_headless();
4602
4801
  init_store();
4603
4802
  });
4604
4803
 
@@ -4624,7 +4823,7 @@ var MAX_CAPTURE_BYTES, runCommand2 = (command, args, options) => new Promise((re
4624
4823
  });
4625
4824
  return;
4626
4825
  }
4627
- let stdout2 = "";
4826
+ let stdout = "";
4628
4827
  let stderr = "";
4629
4828
  let settled = false;
4630
4829
  let timedOut = false;
@@ -4666,7 +4865,7 @@ var MAX_CAPTURE_BYTES, runCommand2 = (command, args, options) => new Promise((re
4666
4865
  finish({
4667
4866
  code: null,
4668
4867
  signal: null,
4669
- stdout: stdout2,
4868
+ stdout,
4670
4869
  stderr,
4671
4870
  timedOut,
4672
4871
  aborted,
@@ -4674,8 +4873,8 @@ var MAX_CAPTURE_BYTES, runCommand2 = (command, args, options) => new Promise((re
4674
4873
  });
4675
4874
  });
4676
4875
  child.stdout?.on("data", (chunk) => {
4677
- if (stdout2.length < MAX_CAPTURE_BYTES) {
4678
- stdout2 += chunk.toString("utf-8");
4876
+ if (stdout.length < MAX_CAPTURE_BYTES) {
4877
+ stdout += chunk.toString("utf-8");
4679
4878
  }
4680
4879
  });
4681
4880
  child.stderr?.on("data", (chunk) => {
@@ -4684,7 +4883,7 @@ var MAX_CAPTURE_BYTES, runCommand2 = (command, args, options) => new Promise((re
4684
4883
  }
4685
4884
  });
4686
4885
  child.on("close", (code, signal) => {
4687
- finish({ code, signal, stdout: stdout2, stderr, timedOut, aborted });
4886
+ finish({ code, signal, stdout, stderr, timedOut, aborted });
4688
4887
  });
4689
4888
  if (options.input !== undefined) {
4690
4889
  child.stdin?.on("error", () => {});
@@ -4698,8 +4897,8 @@ var init_exec = __esm(() => {
4698
4897
  });
4699
4898
 
4700
4899
  // src/commands/workstation/login.ts
4701
- function storeDepsFor(platform2, exec = runCommand2) {
4702
- if (platform2 !== "win32") {
4900
+ function storeDepsFor(platform, exec = runCommand2) {
4901
+ if (platform !== "win32") {
4703
4902
  return;
4704
4903
  }
4705
4904
  return { acl: (dir) => restrictWindowsAcl(dir, exec) };
@@ -4709,10 +4908,15 @@ async function runLoginCommand(deps = {}) {
4709
4908
  const paths = getWorkstationPaths();
4710
4909
  const origins = resolveOrigins(deps.loopbackUrl);
4711
4910
  const store = storeDepsFor(process.platform);
4911
+ if (deps.headless === true && (deps.name ?? "").trim() === "") {
4912
+ error("Headless login needs --name so the workstation is identifiable before approval.");
4913
+ return 1;
4914
+ }
4712
4915
  const { exitCode, report } = await runWorkstationLogin({
4713
4916
  paths,
4714
4917
  origins,
4715
- ...store ? { store } : {}
4918
+ ...store ? { store } : {},
4919
+ ...deps.headless === true ? { headless: { name: (deps.name ?? "").trim() } } : {}
4716
4920
  });
4717
4921
  if (exitCode !== 0 || !report) {
4718
4922
  return exitCode;
@@ -4740,11 +4944,21 @@ var init_login3 = __esm(() => {
4740
4944
  "loopback-url": {
4741
4945
  type: "string",
4742
4946
  description: "Loopback Worker origin for local acceptance (never production)"
4947
+ },
4948
+ headless: {
4949
+ type: "boolean",
4950
+ description: "Print a five minute pairing code instead of opening a browser"
4951
+ },
4952
+ name: {
4953
+ type: "string",
4954
+ description: "Display name claimed by a headless pairing"
4743
4955
  }
4744
4956
  },
4745
4957
  async run({ args }) {
4746
4958
  process.exitCode = await runLoginCommand({
4747
- ...args["loopback-url"] ? { loopbackUrl: args["loopback-url"] } : {}
4959
+ ...args["loopback-url"] ? { loopbackUrl: args["loopback-url"] } : {},
4960
+ ...args.headless ? { headless: true } : {},
4961
+ ...typeof args.name === "string" ? { name: args.name } : {}
4748
4962
  });
4749
4963
  }
4750
4964
  });
@@ -4842,11 +5056,11 @@ function createDeadline(totalMs, now = monotonicNow) {
4842
5056
  }
4843
5057
 
4844
5058
  // ../../node_modules/.bun/graceful-fs@4.2.11/node_modules/graceful-fs/polyfills.js
4845
- var require_polyfills = __commonJS((exports, module) => {
5059
+ var require_polyfills = __commonJS(function(exports, module) {
4846
5060
  var constants = __require("constants");
4847
5061
  var origCwd = process.cwd;
4848
5062
  var cwd = null;
4849
- var platform2 = process.env.GRACEFUL_FS_PLATFORM || process.platform;
5063
+ var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
4850
5064
  process.cwd = function() {
4851
5065
  if (!cwd)
4852
5066
  cwd = origCwd.call(process);
@@ -4857,9 +5071,9 @@ var require_polyfills = __commonJS((exports, module) => {
4857
5071
  } catch (er) {}
4858
5072
  if (typeof process.chdir === "function") {
4859
5073
  chdir = process.chdir;
4860
- process.chdir = function(d2) {
5074
+ process.chdir = function(d) {
4861
5075
  cwd = null;
4862
- chdir.call(process, d2);
5076
+ chdir.call(process, d);
4863
5077
  };
4864
5078
  if (Object.setPrototypeOf)
4865
5079
  Object.setPrototypeOf(process.chdir, chdir);
@@ -4905,7 +5119,7 @@ var require_polyfills = __commonJS((exports, module) => {
4905
5119
  };
4906
5120
  fs.lchownSync = function() {};
4907
5121
  }
4908
- if (platform2 === "win32") {
5122
+ if (platform === "win32") {
4909
5123
  fs.rename = typeof fs.rename !== "function" ? fs.rename : function(fs$rename) {
4910
5124
  function rename(from, to, cb) {
4911
5125
  var start = Date.now();
@@ -4938,7 +5152,7 @@ var require_polyfills = __commonJS((exports, module) => {
4938
5152
  var callback;
4939
5153
  if (callback_ && typeof callback_ === "function") {
4940
5154
  var eagCounter = 0;
4941
- callback = function(er, _3, __) {
5155
+ callback = function(er, _, __) {
4942
5156
  if (er && er.code === "EAGAIN" && eagCounter < 10) {
4943
5157
  eagCounter++;
4944
5158
  return fs$read.call(fs, fd, buffer, offset, length, position, callback);
@@ -4968,82 +5182,82 @@ var require_polyfills = __commonJS((exports, module) => {
4968
5182
  }
4969
5183
  };
4970
5184
  }(fs.readSync);
4971
- function patchLchmod(fs2) {
4972
- fs2.lchmod = function(path, mode, callback) {
4973
- fs2.open(path, constants.O_WRONLY | constants.O_SYMLINK, mode, function(err, fd) {
5185
+ function patchLchmod(fs) {
5186
+ fs.lchmod = function(path, mode, callback) {
5187
+ fs.open(path, constants.O_WRONLY | constants.O_SYMLINK, mode, function(err, fd) {
4974
5188
  if (err) {
4975
5189
  if (callback)
4976
5190
  callback(err);
4977
5191
  return;
4978
5192
  }
4979
- fs2.fchmod(fd, mode, function(err2) {
4980
- fs2.close(fd, function(err22) {
5193
+ fs.fchmod(fd, mode, function(err) {
5194
+ fs.close(fd, function(err2) {
4981
5195
  if (callback)
4982
- callback(err2 || err22);
5196
+ callback(err || err2);
4983
5197
  });
4984
5198
  });
4985
5199
  });
4986
5200
  };
4987
- fs2.lchmodSync = function(path, mode) {
4988
- var fd = fs2.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode);
5201
+ fs.lchmodSync = function(path, mode) {
5202
+ var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode);
4989
5203
  var threw = true;
4990
5204
  var ret;
4991
5205
  try {
4992
- ret = fs2.fchmodSync(fd, mode);
5206
+ ret = fs.fchmodSync(fd, mode);
4993
5207
  threw = false;
4994
5208
  } finally {
4995
5209
  if (threw) {
4996
5210
  try {
4997
- fs2.closeSync(fd);
5211
+ fs.closeSync(fd);
4998
5212
  } catch (er) {}
4999
5213
  } else {
5000
- fs2.closeSync(fd);
5214
+ fs.closeSync(fd);
5001
5215
  }
5002
5216
  }
5003
5217
  return ret;
5004
5218
  };
5005
5219
  }
5006
- function patchLutimes(fs2) {
5007
- if (constants.hasOwnProperty("O_SYMLINK") && fs2.futimes) {
5008
- fs2.lutimes = function(path, at, mt, cb) {
5009
- fs2.open(path, constants.O_SYMLINK, function(er, fd) {
5220
+ function patchLutimes(fs) {
5221
+ if (constants.hasOwnProperty("O_SYMLINK") && fs.futimes) {
5222
+ fs.lutimes = function(path, at, mt, cb) {
5223
+ fs.open(path, constants.O_SYMLINK, function(er, fd) {
5010
5224
  if (er) {
5011
5225
  if (cb)
5012
5226
  cb(er);
5013
5227
  return;
5014
5228
  }
5015
- fs2.futimes(fd, at, mt, function(er2) {
5016
- fs2.close(fd, function(er22) {
5229
+ fs.futimes(fd, at, mt, function(er) {
5230
+ fs.close(fd, function(er2) {
5017
5231
  if (cb)
5018
- cb(er2 || er22);
5232
+ cb(er || er2);
5019
5233
  });
5020
5234
  });
5021
5235
  });
5022
5236
  };
5023
- fs2.lutimesSync = function(path, at, mt) {
5024
- var fd = fs2.openSync(path, constants.O_SYMLINK);
5237
+ fs.lutimesSync = function(path, at, mt) {
5238
+ var fd = fs.openSync(path, constants.O_SYMLINK);
5025
5239
  var ret;
5026
5240
  var threw = true;
5027
5241
  try {
5028
- ret = fs2.futimesSync(fd, at, mt);
5242
+ ret = fs.futimesSync(fd, at, mt);
5029
5243
  threw = false;
5030
5244
  } finally {
5031
5245
  if (threw) {
5032
5246
  try {
5033
- fs2.closeSync(fd);
5247
+ fs.closeSync(fd);
5034
5248
  } catch (er) {}
5035
5249
  } else {
5036
- fs2.closeSync(fd);
5250
+ fs.closeSync(fd);
5037
5251
  }
5038
5252
  }
5039
5253
  return ret;
5040
5254
  };
5041
- } else if (fs2.futimes) {
5042
- fs2.lutimes = function(_a, _b, _c2, cb) {
5255
+ } else if (fs.futimes) {
5256
+ fs.lutimes = function(_a, _b, _c, cb) {
5043
5257
  if (cb)
5044
5258
  process.nextTick(cb);
5045
5259
  };
5046
- fs2.lutimesSync = function() {};
5260
+ fs.lutimesSync = function() {};
5047
5261
  }
5048
5262
  }
5049
5263
  function chmodFix(orig) {
@@ -5145,13 +5359,13 @@ var require_polyfills = __commonJS((exports, module) => {
5145
5359
  });
5146
5360
 
5147
5361
  // ../../node_modules/.bun/graceful-fs@4.2.11/node_modules/graceful-fs/legacy-streams.js
5148
- var require_legacy_streams = __commonJS((exports, module) => {
5362
+ var require_legacy_streams = __commonJS(function(exports, module) {
5149
5363
  var Stream = __require("stream").Stream;
5150
5364
  module.exports = legacy;
5151
5365
  function legacy(fs) {
5152
5366
  return {
5153
5367
  ReadStream,
5154
- WriteStream: WriteStream2
5368
+ WriteStream
5155
5369
  };
5156
5370
  function ReadStream(path, options) {
5157
5371
  if (!(this instanceof ReadStream))
@@ -5204,9 +5418,9 @@ var require_legacy_streams = __commonJS((exports, module) => {
5204
5418
  self._read();
5205
5419
  });
5206
5420
  }
5207
- function WriteStream2(path, options) {
5208
- if (!(this instanceof WriteStream2))
5209
- return new WriteStream2(path, options);
5421
+ function WriteStream(path, options) {
5422
+ if (!(this instanceof WriteStream))
5423
+ return new WriteStream(path, options);
5210
5424
  Stream.call(this);
5211
5425
  this.path = path;
5212
5426
  this.fd = null;
@@ -5242,7 +5456,7 @@ var require_legacy_streams = __commonJS((exports, module) => {
5242
5456
  });
5243
5457
 
5244
5458
  // ../../node_modules/.bun/graceful-fs@4.2.11/node_modules/graceful-fs/clone.js
5245
- var require_clone = __commonJS((exports, module) => {
5459
+ var require_clone = __commonJS(function(exports, module) {
5246
5460
  module.exports = clone;
5247
5461
  var getPrototypeOf = Object.getPrototypeOf || function(obj) {
5248
5462
  return obj.__proto__;
@@ -5262,7 +5476,7 @@ var require_clone = __commonJS((exports, module) => {
5262
5476
  });
5263
5477
 
5264
5478
  // ../../node_modules/.bun/graceful-fs@4.2.11/node_modules/graceful-fs/graceful-fs.js
5265
- var require_graceful_fs = __commonJS((exports, module) => {
5479
+ var require_graceful_fs = __commonJS(function(exports, module) {
5266
5480
  var fs = __require("fs");
5267
5481
  var polyfills = require_polyfills();
5268
5482
  var legacy = require_legacy_streams();
@@ -5278,10 +5492,10 @@ var require_graceful_fs = __commonJS((exports, module) => {
5278
5492
  previousSymbol = "___graceful-fs.previous";
5279
5493
  }
5280
5494
  function noop() {}
5281
- function publishQueue(context, queue3) {
5495
+ function publishQueue(context, queue) {
5282
5496
  Object.defineProperty(context, gracefulQueue, {
5283
5497
  get: function() {
5284
- return queue3;
5498
+ return queue;
5285
5499
  }
5286
5500
  });
5287
5501
  }
@@ -5290,14 +5504,14 @@ var require_graceful_fs = __commonJS((exports, module) => {
5290
5504
  debug = util.debuglog("gfs4");
5291
5505
  else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
5292
5506
  debug = function() {
5293
- var m2 = util.format.apply(util, arguments);
5294
- m2 = "GFS4: " + m2.split(/\n/).join(`
5507
+ var m = util.format.apply(util, arguments);
5508
+ m = "GFS4: " + m.split(/\n/).join(`
5295
5509
  GFS4: `);
5296
- console.error(m2);
5510
+ console.error(m);
5297
5511
  };
5298
5512
  if (!fs[gracefulQueue]) {
5299
- queue2 = global[gracefulQueue] || [];
5300
- publishQueue(fs, queue2);
5513
+ queue = global[gracefulQueue] || [];
5514
+ publishQueue(fs, queue);
5301
5515
  fs.close = function(fs$close) {
5302
5516
  function close(fd, cb) {
5303
5517
  return fs$close.call(fs, fd, function(err) {
@@ -5330,7 +5544,7 @@ GFS4: `);
5330
5544
  });
5331
5545
  }
5332
5546
  }
5333
- var queue2;
5547
+ var queue;
5334
5548
  if (!global[gracefulQueue]) {
5335
5549
  publishQueue(global, fs[gracefulQueue]);
5336
5550
  }
@@ -5339,101 +5553,101 @@ GFS4: `);
5339
5553
  module.exports = patch(fs);
5340
5554
  fs.__patched = true;
5341
5555
  }
5342
- function patch(fs2) {
5343
- polyfills(fs2);
5344
- fs2.gracefulify = patch;
5345
- fs2.createReadStream = createReadStream;
5346
- fs2.createWriteStream = createWriteStream;
5347
- var fs$readFile = fs2.readFile;
5348
- fs2.readFile = readFile2;
5349
- function readFile2(path, options, cb) {
5556
+ function patch(fs) {
5557
+ polyfills(fs);
5558
+ fs.gracefulify = patch;
5559
+ fs.createReadStream = createReadStream;
5560
+ fs.createWriteStream = createWriteStream;
5561
+ var fs$readFile = fs.readFile;
5562
+ fs.readFile = readFile;
5563
+ function readFile(path, options, cb) {
5350
5564
  if (typeof options === "function")
5351
5565
  cb = options, options = null;
5352
5566
  return go$readFile(path, options, cb);
5353
- function go$readFile(path2, options2, cb2, startTime) {
5354
- return fs$readFile(path2, options2, function(err) {
5567
+ function go$readFile(path, options, cb, startTime) {
5568
+ return fs$readFile(path, options, function(err) {
5355
5569
  if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
5356
- enqueue([go$readFile, [path2, options2, cb2], err, startTime || Date.now(), Date.now()]);
5570
+ enqueue([go$readFile, [path, options, cb], err, startTime || Date.now(), Date.now()]);
5357
5571
  else {
5358
- if (typeof cb2 === "function")
5359
- cb2.apply(this, arguments);
5572
+ if (typeof cb === "function")
5573
+ cb.apply(this, arguments);
5360
5574
  }
5361
5575
  });
5362
5576
  }
5363
5577
  }
5364
- var fs$writeFile = fs2.writeFile;
5365
- fs2.writeFile = writeFile2;
5366
- function writeFile2(path, data, options, cb) {
5578
+ var fs$writeFile = fs.writeFile;
5579
+ fs.writeFile = writeFile;
5580
+ function writeFile(path, data, options, cb) {
5367
5581
  if (typeof options === "function")
5368
5582
  cb = options, options = null;
5369
5583
  return go$writeFile(path, data, options, cb);
5370
- function go$writeFile(path2, data2, options2, cb2, startTime) {
5371
- return fs$writeFile(path2, data2, options2, function(err) {
5584
+ function go$writeFile(path, data, options, cb, startTime) {
5585
+ return fs$writeFile(path, data, options, function(err) {
5372
5586
  if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
5373
- enqueue([go$writeFile, [path2, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
5587
+ enqueue([go$writeFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()]);
5374
5588
  else {
5375
- if (typeof cb2 === "function")
5376
- cb2.apply(this, arguments);
5589
+ if (typeof cb === "function")
5590
+ cb.apply(this, arguments);
5377
5591
  }
5378
5592
  });
5379
5593
  }
5380
5594
  }
5381
- var fs$appendFile = fs2.appendFile;
5595
+ var fs$appendFile = fs.appendFile;
5382
5596
  if (fs$appendFile)
5383
- fs2.appendFile = appendFile;
5597
+ fs.appendFile = appendFile;
5384
5598
  function appendFile(path, data, options, cb) {
5385
5599
  if (typeof options === "function")
5386
5600
  cb = options, options = null;
5387
5601
  return go$appendFile(path, data, options, cb);
5388
- function go$appendFile(path2, data2, options2, cb2, startTime) {
5389
- return fs$appendFile(path2, data2, options2, function(err) {
5602
+ function go$appendFile(path, data, options, cb, startTime) {
5603
+ return fs$appendFile(path, data, options, function(err) {
5390
5604
  if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
5391
- enqueue([go$appendFile, [path2, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
5605
+ enqueue([go$appendFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()]);
5392
5606
  else {
5393
- if (typeof cb2 === "function")
5394
- cb2.apply(this, arguments);
5607
+ if (typeof cb === "function")
5608
+ cb.apply(this, arguments);
5395
5609
  }
5396
5610
  });
5397
5611
  }
5398
5612
  }
5399
- var fs$copyFile = fs2.copyFile;
5613
+ var fs$copyFile = fs.copyFile;
5400
5614
  if (fs$copyFile)
5401
- fs2.copyFile = copyFile;
5402
- function copyFile(src2, dest, flags, cb) {
5615
+ fs.copyFile = copyFile;
5616
+ function copyFile(src, dest, flags, cb) {
5403
5617
  if (typeof flags === "function") {
5404
5618
  cb = flags;
5405
5619
  flags = 0;
5406
5620
  }
5407
- return go$copyFile(src2, dest, flags, cb);
5408
- function go$copyFile(src3, dest2, flags2, cb2, startTime) {
5409
- return fs$copyFile(src3, dest2, flags2, function(err) {
5621
+ return go$copyFile(src, dest, flags, cb);
5622
+ function go$copyFile(src, dest, flags, cb, startTime) {
5623
+ return fs$copyFile(src, dest, flags, function(err) {
5410
5624
  if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
5411
- enqueue([go$copyFile, [src3, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
5625
+ enqueue([go$copyFile, [src, dest, flags, cb], err, startTime || Date.now(), Date.now()]);
5412
5626
  else {
5413
- if (typeof cb2 === "function")
5414
- cb2.apply(this, arguments);
5627
+ if (typeof cb === "function")
5628
+ cb.apply(this, arguments);
5415
5629
  }
5416
5630
  });
5417
5631
  }
5418
5632
  }
5419
- var fs$readdir = fs2.readdir;
5420
- fs2.readdir = readdir;
5633
+ var fs$readdir = fs.readdir;
5634
+ fs.readdir = readdir;
5421
5635
  var noReaddirOptionVersions = /^v[0-5]\./;
5422
5636
  function readdir(path, options, cb) {
5423
5637
  if (typeof options === "function")
5424
5638
  cb = options, options = null;
5425
- var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path2, options2, cb2, startTime) {
5426
- return fs$readdir(path2, fs$readdirCallback(path2, options2, cb2, startTime));
5427
- } : function go$readdir2(path2, options2, cb2, startTime) {
5428
- return fs$readdir(path2, options2, fs$readdirCallback(path2, options2, cb2, startTime));
5639
+ var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir(path, options, cb, startTime) {
5640
+ return fs$readdir(path, fs$readdirCallback(path, options, cb, startTime));
5641
+ } : function go$readdir(path, options, cb, startTime) {
5642
+ return fs$readdir(path, options, fs$readdirCallback(path, options, cb, startTime));
5429
5643
  };
5430
5644
  return go$readdir(path, options, cb);
5431
- function fs$readdirCallback(path2, options2, cb2, startTime) {
5645
+ function fs$readdirCallback(path, options, cb, startTime) {
5432
5646
  return function(err, files) {
5433
5647
  if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
5434
5648
  enqueue([
5435
5649
  go$readdir,
5436
- [path2, options2, cb2],
5650
+ [path, options, cb],
5437
5651
  err,
5438
5652
  startTime || Date.now(),
5439
5653
  Date.now()
@@ -5441,28 +5655,28 @@ GFS4: `);
5441
5655
  else {
5442
5656
  if (files && files.sort)
5443
5657
  files.sort();
5444
- if (typeof cb2 === "function")
5445
- cb2.call(this, err, files);
5658
+ if (typeof cb === "function")
5659
+ cb.call(this, err, files);
5446
5660
  }
5447
5661
  };
5448
5662
  }
5449
5663
  }
5450
5664
  if (process.version.substr(0, 4) === "v0.8") {
5451
- var legStreams = legacy(fs2);
5665
+ var legStreams = legacy(fs);
5452
5666
  ReadStream = legStreams.ReadStream;
5453
- WriteStream2 = legStreams.WriteStream;
5667
+ WriteStream = legStreams.WriteStream;
5454
5668
  }
5455
- var fs$ReadStream = fs2.ReadStream;
5669
+ var fs$ReadStream = fs.ReadStream;
5456
5670
  if (fs$ReadStream) {
5457
5671
  ReadStream.prototype = Object.create(fs$ReadStream.prototype);
5458
5672
  ReadStream.prototype.open = ReadStream$open;
5459
5673
  }
5460
- var fs$WriteStream = fs2.WriteStream;
5674
+ var fs$WriteStream = fs.WriteStream;
5461
5675
  if (fs$WriteStream) {
5462
- WriteStream2.prototype = Object.create(fs$WriteStream.prototype);
5463
- WriteStream2.prototype.open = WriteStream$open;
5676
+ WriteStream.prototype = Object.create(fs$WriteStream.prototype);
5677
+ WriteStream.prototype.open = WriteStream$open;
5464
5678
  }
5465
- Object.defineProperty(fs2, "ReadStream", {
5679
+ Object.defineProperty(fs, "ReadStream", {
5466
5680
  get: function() {
5467
5681
  return ReadStream;
5468
5682
  },
@@ -5472,18 +5686,18 @@ GFS4: `);
5472
5686
  enumerable: true,
5473
5687
  configurable: true
5474
5688
  });
5475
- Object.defineProperty(fs2, "WriteStream", {
5689
+ Object.defineProperty(fs, "WriteStream", {
5476
5690
  get: function() {
5477
- return WriteStream2;
5691
+ return WriteStream;
5478
5692
  },
5479
5693
  set: function(val) {
5480
- WriteStream2 = val;
5694
+ WriteStream = val;
5481
5695
  },
5482
5696
  enumerable: true,
5483
5697
  configurable: true
5484
5698
  });
5485
5699
  var FileReadStream = ReadStream;
5486
- Object.defineProperty(fs2, "FileReadStream", {
5700
+ Object.defineProperty(fs, "FileReadStream", {
5487
5701
  get: function() {
5488
5702
  return FileReadStream;
5489
5703
  },
@@ -5493,8 +5707,8 @@ GFS4: `);
5493
5707
  enumerable: true,
5494
5708
  configurable: true
5495
5709
  });
5496
- var FileWriteStream = WriteStream2;
5497
- Object.defineProperty(fs2, "FileWriteStream", {
5710
+ var FileWriteStream = WriteStream;
5711
+ Object.defineProperty(fs, "FileWriteStream", {
5498
5712
  get: function() {
5499
5713
  return FileWriteStream;
5500
5714
  },
@@ -5524,11 +5738,11 @@ GFS4: `);
5524
5738
  }
5525
5739
  });
5526
5740
  }
5527
- function WriteStream2(path, options) {
5528
- if (this instanceof WriteStream2)
5741
+ function WriteStream(path, options) {
5742
+ if (this instanceof WriteStream)
5529
5743
  return fs$WriteStream.apply(this, arguments), this;
5530
5744
  else
5531
- return WriteStream2.apply(Object.create(WriteStream2.prototype), arguments);
5745
+ return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
5532
5746
  }
5533
5747
  function WriteStream$open() {
5534
5748
  var that = this;
@@ -5543,29 +5757,29 @@ GFS4: `);
5543
5757
  });
5544
5758
  }
5545
5759
  function createReadStream(path, options) {
5546
- return new fs2.ReadStream(path, options);
5760
+ return new fs.ReadStream(path, options);
5547
5761
  }
5548
5762
  function createWriteStream(path, options) {
5549
- return new fs2.WriteStream(path, options);
5763
+ return new fs.WriteStream(path, options);
5550
5764
  }
5551
- var fs$open = fs2.open;
5552
- fs2.open = open;
5765
+ var fs$open = fs.open;
5766
+ fs.open = open;
5553
5767
  function open(path, flags, mode, cb) {
5554
5768
  if (typeof mode === "function")
5555
5769
  cb = mode, mode = null;
5556
5770
  return go$open(path, flags, mode, cb);
5557
- function go$open(path2, flags2, mode2, cb2, startTime) {
5558
- return fs$open(path2, flags2, mode2, function(err, fd) {
5771
+ function go$open(path, flags, mode, cb, startTime) {
5772
+ return fs$open(path, flags, mode, function(err, fd) {
5559
5773
  if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
5560
- enqueue([go$open, [path2, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
5774
+ enqueue([go$open, [path, flags, mode, cb], err, startTime || Date.now(), Date.now()]);
5561
5775
  else {
5562
- if (typeof cb2 === "function")
5563
- cb2.apply(this, arguments);
5776
+ if (typeof cb === "function")
5777
+ cb.apply(this, arguments);
5564
5778
  }
5565
5779
  });
5566
5780
  }
5567
5781
  }
5568
- return fs2;
5782
+ return fs;
5569
5783
  }
5570
5784
  function enqueue(elem) {
5571
5785
  debug("ENQUEUE", elem[0].name, elem[1]);
@@ -5575,10 +5789,10 @@ GFS4: `);
5575
5789
  var retryTimer;
5576
5790
  function resetQueue() {
5577
5791
  var now = Date.now();
5578
- for (var i2 = 0;i2 < fs[gracefulQueue].length; ++i2) {
5579
- if (fs[gracefulQueue][i2].length > 2) {
5580
- fs[gracefulQueue][i2][3] = now;
5581
- fs[gracefulQueue][i2][4] = now;
5792
+ for (var i = 0;i < fs[gracefulQueue].length; ++i) {
5793
+ if (fs[gracefulQueue][i].length > 2) {
5794
+ fs[gracefulQueue][i][3] = now;
5795
+ fs[gracefulQueue][i][4] = now;
5582
5796
  }
5583
5797
  }
5584
5798
  retry();
@@ -5620,7 +5834,7 @@ GFS4: `);
5620
5834
  });
5621
5835
 
5622
5836
  // ../../node_modules/.bun/retry@0.12.0/node_modules/retry/lib/retry_operation.js
5623
- var require_retry_operation = __commonJS((exports, module) => {
5837
+ var require_retry_operation = __commonJS(function(exports, module) {
5624
5838
  function RetryOperation(timeouts, options) {
5625
5839
  if (typeof options === "boolean") {
5626
5840
  options = { forever: options };
@@ -5734,13 +5948,13 @@ var require_retry_operation = __commonJS((exports, module) => {
5734
5948
  var counts = {};
5735
5949
  var mainError = null;
5736
5950
  var mainErrorCount = 0;
5737
- for (var i2 = 0;i2 < this._errors.length; i2++) {
5738
- var error2 = this._errors[i2];
5739
- var message = error2.message;
5951
+ for (var i = 0;i < this._errors.length; i++) {
5952
+ var error = this._errors[i];
5953
+ var message = error.message;
5740
5954
  var count = (counts[message] || 0) + 1;
5741
5955
  counts[message] = count;
5742
5956
  if (count >= mainErrorCount) {
5743
- mainError = error2;
5957
+ mainError = error;
5744
5958
  mainErrorCount = count;
5745
5959
  }
5746
5960
  }
@@ -5749,7 +5963,7 @@ var require_retry_operation = __commonJS((exports, module) => {
5749
5963
  });
5750
5964
 
5751
5965
  // ../../node_modules/.bun/retry@0.12.0/node_modules/retry/lib/retry.js
5752
- var require_retry = __commonJS((exports) => {
5966
+ var require_retry = __commonJS(function(exports) {
5753
5967
  var RetryOperation = require_retry_operation();
5754
5968
  exports.operation = function(options) {
5755
5969
  var timeouts = exports.timeouts(options);
@@ -5777,14 +5991,14 @@ var require_retry = __commonJS((exports) => {
5777
5991
  throw new Error("minTimeout is greater than maxTimeout");
5778
5992
  }
5779
5993
  var timeouts = [];
5780
- for (var i2 = 0;i2 < opts.retries; i2++) {
5781
- timeouts.push(this.createTimeout(i2, opts));
5994
+ for (var i = 0;i < opts.retries; i++) {
5995
+ timeouts.push(this.createTimeout(i, opts));
5782
5996
  }
5783
5997
  if (options && options.forever && !timeouts.length) {
5784
- timeouts.push(this.createTimeout(i2, opts));
5998
+ timeouts.push(this.createTimeout(i, opts));
5785
5999
  }
5786
- timeouts.sort(function(a2, b2) {
5787
- return a2 - b2;
6000
+ timeouts.sort(function(a, b) {
6001
+ return a - b;
5788
6002
  });
5789
6003
  return timeouts;
5790
6004
  };
@@ -5807,10 +6021,10 @@ var require_retry = __commonJS((exports) => {
5807
6021
  }
5808
6022
  }
5809
6023
  }
5810
- for (var i2 = 0;i2 < methods.length; i2++) {
5811
- var method = methods[i2];
6024
+ for (var i = 0;i < methods.length; i++) {
6025
+ var method = methods[i];
5812
6026
  var original = obj[method];
5813
- obj[method] = function retryWrapper(original2) {
6027
+ obj[method] = function retryWrapper(original) {
5814
6028
  var op = exports.operation(options);
5815
6029
  var args = Array.prototype.slice.call(arguments, 1);
5816
6030
  var callback = args.pop();
@@ -5824,7 +6038,7 @@ var require_retry = __commonJS((exports) => {
5824
6038
  callback.apply(this, arguments);
5825
6039
  });
5826
6040
  op.attempt(function() {
5827
- original2.apply(obj, args);
6041
+ original.apply(obj, args);
5828
6042
  });
5829
6043
  }.bind(obj, original);
5830
6044
  obj[method].options = options;
@@ -5833,7 +6047,7 @@ var require_retry = __commonJS((exports) => {
5833
6047
  });
5834
6048
 
5835
6049
  // ../../node_modules/.bun/signal-exit@3.0.7/node_modules/signal-exit/signals.js
5836
- var require_signals = __commonJS((exports, module) => {
6050
+ var require_signals = __commonJS(function(exports, module) {
5837
6051
  module.exports = [
5838
6052
  "SIGABRT",
5839
6053
  "SIGALRM",
@@ -5850,10 +6064,10 @@ var require_signals = __commonJS((exports, module) => {
5850
6064
  });
5851
6065
 
5852
6066
  // ../../node_modules/.bun/signal-exit@3.0.7/node_modules/signal-exit/index.js
5853
- var require_signal_exit = __commonJS((exports, module) => {
6067
+ var require_signal_exit = __commonJS(function(exports, module) {
5854
6068
  var process2 = global.process;
5855
- var processOk = function(process3) {
5856
- return process3 && typeof process3 === "object" && typeof process3.removeListener === "function" && typeof process3.emit === "function" && typeof process3.reallyExit === "function" && typeof process3.listeners === "function" && typeof process3.kill === "function" && typeof process3.pid === "number" && typeof process3.on === "function";
6069
+ var processOk = function(process2) {
6070
+ return process2 && typeof process2 === "object" && typeof process2.removeListener === "function" && typeof process2.emit === "function" && typeof process2.reallyExit === "function" && typeof process2.listeners === "function" && typeof process2.kill === "function" && typeof process2.pid === "number" && typeof process2.on === "function";
5857
6071
  };
5858
6072
  if (!processOk(process2)) {
5859
6073
  module.exports = function() {
@@ -5899,7 +6113,7 @@ var require_signal_exit = __commonJS((exports, module) => {
5899
6113
  emitter.on(ev, cb);
5900
6114
  return remove;
5901
6115
  };
5902
- unload = function unload2() {
6116
+ unload = function unload() {
5903
6117
  if (!loaded || !processOk(global.process)) {
5904
6118
  return;
5905
6119
  }
@@ -5914,7 +6128,7 @@ var require_signal_exit = __commonJS((exports, module) => {
5914
6128
  emitter.count -= 1;
5915
6129
  };
5916
6130
  module.exports.unload = unload;
5917
- emit = function emit2(event, code, signal) {
6131
+ emit = function emit(event, code, signal) {
5918
6132
  if (emitter.emitted[event]) {
5919
6133
  return;
5920
6134
  }
@@ -5943,7 +6157,7 @@ var require_signal_exit = __commonJS((exports, module) => {
5943
6157
  return signals;
5944
6158
  };
5945
6159
  loaded = false;
5946
- load = function load2() {
6160
+ load = function load() {
5947
6161
  if (loaded || !processOk(global.process)) {
5948
6162
  return;
5949
6163
  }
@@ -5962,7 +6176,7 @@ var require_signal_exit = __commonJS((exports, module) => {
5962
6176
  };
5963
6177
  module.exports.load = load;
5964
6178
  originalProcessReallyExit = process2.reallyExit;
5965
- processReallyExit = function processReallyExit2(code) {
6179
+ processReallyExit = function processReallyExit(code) {
5966
6180
  if (!processOk(global.process)) {
5967
6181
  return;
5968
6182
  }
@@ -5972,7 +6186,7 @@ var require_signal_exit = __commonJS((exports, module) => {
5972
6186
  originalProcessReallyExit.call(process2, process2.exitCode);
5973
6187
  };
5974
6188
  originalProcessEmit = process2.emit;
5975
- processEmit = function processEmit2(ev, arg) {
6189
+ processEmit = function processEmit(ev, arg) {
5976
6190
  if (ev === "exit" && processOk(global.process)) {
5977
6191
  if (arg !== undefined) {
5978
6192
  process2.exitCode = arg;
@@ -6003,7 +6217,7 @@ var require_signal_exit = __commonJS((exports, module) => {
6003
6217
  });
6004
6218
 
6005
6219
  // ../../node_modules/.bun/proper-lockfile@4.1.2/node_modules/proper-lockfile/lib/mtime-precision.js
6006
- var require_mtime_precision = __commonJS((exports, module) => {
6220
+ var require_mtime_precision = __commonJS(function(exports, module) {
6007
6221
  var cacheSymbol = Symbol();
6008
6222
  function probe(file, fs, callback) {
6009
6223
  const cachedPrecision = fs[cacheSymbol];
@@ -6020,9 +6234,9 @@ var require_mtime_precision = __commonJS((exports, module) => {
6020
6234
  if (err) {
6021
6235
  return callback(err);
6022
6236
  }
6023
- fs.stat(file, (err2, stat) => {
6024
- if (err2) {
6025
- return callback(err2);
6237
+ fs.stat(file, (err, stat) => {
6238
+ if (err) {
6239
+ return callback(err);
6026
6240
  }
6027
6241
  const precision = stat.mtime.getTime() % 1000 === 0 ? "s" : "ms";
6028
6242
  Object.defineProperty(fs, cacheSymbol, { value: precision });
@@ -6042,7 +6256,7 @@ var require_mtime_precision = __commonJS((exports, module) => {
6042
6256
  });
6043
6257
 
6044
6258
  // ../../node_modules/.bun/proper-lockfile@4.1.2/node_modules/proper-lockfile/lib/lockfile.js
6045
- var require_lockfile = __commonJS((exports, module) => {
6259
+ var require_lockfile = __commonJS(function(exports, module) {
6046
6260
  var path = __require("path");
6047
6261
  var fs = require_graceful_fs();
6048
6262
  var retry = require_retry();
@@ -6062,12 +6276,12 @@ var require_lockfile = __commonJS((exports, module) => {
6062
6276
  const lockfilePath = getLockFile(file, options);
6063
6277
  options.fs.mkdir(lockfilePath, (err) => {
6064
6278
  if (!err) {
6065
- return mtimePrecision.probe(lockfilePath, options.fs, (err2, mtime, mtimePrecision2) => {
6066
- if (err2) {
6279
+ return mtimePrecision.probe(lockfilePath, options.fs, (err, mtime, mtimePrecision) => {
6280
+ if (err) {
6067
6281
  options.fs.rmdir(lockfilePath, () => {});
6068
- return callback(err2);
6282
+ return callback(err);
6069
6283
  }
6070
- callback(null, mtime, mtimePrecision2);
6284
+ callback(null, mtime, mtimePrecision);
6071
6285
  });
6072
6286
  }
6073
6287
  if (err.code !== "EEXIST") {
@@ -6076,19 +6290,19 @@ var require_lockfile = __commonJS((exports, module) => {
6076
6290
  if (options.stale <= 0) {
6077
6291
  return callback(Object.assign(new Error("Lock file is already being held"), { code: "ELOCKED", file }));
6078
6292
  }
6079
- options.fs.stat(lockfilePath, (err2, stat) => {
6080
- if (err2) {
6081
- if (err2.code === "ENOENT") {
6293
+ options.fs.stat(lockfilePath, (err, stat) => {
6294
+ if (err) {
6295
+ if (err.code === "ENOENT") {
6082
6296
  return acquireLock(file, { ...options, stale: 0 }, callback);
6083
6297
  }
6084
- return callback(err2);
6298
+ return callback(err);
6085
6299
  }
6086
6300
  if (!isLockStale(stat, options)) {
6087
6301
  return callback(Object.assign(new Error("Lock file is already being held"), { code: "ELOCKED", file }));
6088
6302
  }
6089
- removeLock(file, options, (err3) => {
6090
- if (err3) {
6091
- return callback(err3);
6303
+ removeLock(file, options, (err) => {
6304
+ if (err) {
6305
+ return callback(err);
6092
6306
  }
6093
6307
  acquireLock(file, { ...options, stale: 0 }, callback);
6094
6308
  });
@@ -6107,59 +6321,59 @@ var require_lockfile = __commonJS((exports, module) => {
6107
6321
  });
6108
6322
  }
6109
6323
  function updateLock(file, options) {
6110
- const lock2 = locks[file];
6111
- if (lock2.updateTimeout) {
6324
+ const lock = locks[file];
6325
+ if (lock.updateTimeout) {
6112
6326
  return;
6113
6327
  }
6114
- lock2.updateDelay = lock2.updateDelay || options.update;
6115
- lock2.updateTimeout = setTimeout(() => {
6116
- lock2.updateTimeout = null;
6117
- options.fs.stat(lock2.lockfilePath, (err, stat) => {
6118
- const isOverThreshold = lock2.lastUpdate + options.stale < Date.now();
6328
+ lock.updateDelay = lock.updateDelay || options.update;
6329
+ lock.updateTimeout = setTimeout(() => {
6330
+ lock.updateTimeout = null;
6331
+ options.fs.stat(lock.lockfilePath, (err, stat) => {
6332
+ const isOverThreshold = lock.lastUpdate + options.stale < Date.now();
6119
6333
  if (err) {
6120
6334
  if (err.code === "ENOENT" || isOverThreshold) {
6121
- return setLockAsCompromised(file, lock2, Object.assign(err, { code: "ECOMPROMISED" }));
6335
+ return setLockAsCompromised(file, lock, Object.assign(err, { code: "ECOMPROMISED" }));
6122
6336
  }
6123
- lock2.updateDelay = 1000;
6337
+ lock.updateDelay = 1000;
6124
6338
  return updateLock(file, options);
6125
6339
  }
6126
- const isMtimeOurs = lock2.mtime.getTime() === stat.mtime.getTime();
6340
+ const isMtimeOurs = lock.mtime.getTime() === stat.mtime.getTime();
6127
6341
  if (!isMtimeOurs) {
6128
- return setLockAsCompromised(file, lock2, Object.assign(new Error("Unable to update lock within the stale threshold"), { code: "ECOMPROMISED" }));
6342
+ return setLockAsCompromised(file, lock, Object.assign(new Error("Unable to update lock within the stale threshold"), { code: "ECOMPROMISED" }));
6129
6343
  }
6130
- const mtime = mtimePrecision.getMtime(lock2.mtimePrecision);
6131
- options.fs.utimes(lock2.lockfilePath, mtime, mtime, (err2) => {
6132
- const isOverThreshold2 = lock2.lastUpdate + options.stale < Date.now();
6133
- if (lock2.released) {
6344
+ const mtime = mtimePrecision.getMtime(lock.mtimePrecision);
6345
+ options.fs.utimes(lock.lockfilePath, mtime, mtime, (err) => {
6346
+ const isOverThreshold = lock.lastUpdate + options.stale < Date.now();
6347
+ if (lock.released) {
6134
6348
  return;
6135
6349
  }
6136
- if (err2) {
6137
- if (err2.code === "ENOENT" || isOverThreshold2) {
6138
- return setLockAsCompromised(file, lock2, Object.assign(err2, { code: "ECOMPROMISED" }));
6350
+ if (err) {
6351
+ if (err.code === "ENOENT" || isOverThreshold) {
6352
+ return setLockAsCompromised(file, lock, Object.assign(err, { code: "ECOMPROMISED" }));
6139
6353
  }
6140
- lock2.updateDelay = 1000;
6354
+ lock.updateDelay = 1000;
6141
6355
  return updateLock(file, options);
6142
6356
  }
6143
- lock2.mtime = mtime;
6144
- lock2.lastUpdate = Date.now();
6145
- lock2.updateDelay = null;
6357
+ lock.mtime = mtime;
6358
+ lock.lastUpdate = Date.now();
6359
+ lock.updateDelay = null;
6146
6360
  updateLock(file, options);
6147
6361
  });
6148
6362
  });
6149
- }, lock2.updateDelay);
6150
- if (lock2.updateTimeout.unref) {
6151
- lock2.updateTimeout.unref();
6363
+ }, lock.updateDelay);
6364
+ if (lock.updateTimeout.unref) {
6365
+ lock.updateTimeout.unref();
6152
6366
  }
6153
6367
  }
6154
- function setLockAsCompromised(file, lock2, err) {
6155
- lock2.released = true;
6156
- if (lock2.updateTimeout) {
6157
- clearTimeout(lock2.updateTimeout);
6368
+ function setLockAsCompromised(file, lock, err) {
6369
+ lock.released = true;
6370
+ if (lock.updateTimeout) {
6371
+ clearTimeout(lock.updateTimeout);
6158
6372
  }
6159
- if (locks[file] === lock2) {
6373
+ if (locks[file] === lock) {
6160
6374
  delete locks[file];
6161
6375
  }
6162
- lock2.options.onCompromised(err);
6376
+ lock.options.onCompromised(err);
6163
6377
  }
6164
6378
  function lock(file, options, callback) {
6165
6379
  options = {
@@ -6178,32 +6392,32 @@ var require_lockfile = __commonJS((exports, module) => {
6178
6392
  options.stale = Math.max(options.stale || 0, 2000);
6179
6393
  options.update = options.update == null ? options.stale / 2 : options.update || 0;
6180
6394
  options.update = Math.max(Math.min(options.update, options.stale / 2), 1000);
6181
- resolveCanonicalPath(file, options, (err, file2) => {
6395
+ resolveCanonicalPath(file, options, (err, file) => {
6182
6396
  if (err) {
6183
6397
  return callback(err);
6184
6398
  }
6185
- const operation = retry.operation(options.retries);
6186
- operation.attempt(() => {
6187
- acquireLock(file2, options, (err2, mtime, mtimePrecision2) => {
6188
- if (operation.retry(err2)) {
6399
+ const operation2 = retry.operation(options.retries);
6400
+ operation2.attempt(() => {
6401
+ acquireLock(file, options, (err, mtime, mtimePrecision) => {
6402
+ if (operation2.retry(err)) {
6189
6403
  return;
6190
6404
  }
6191
- if (err2) {
6192
- return callback(operation.mainError());
6405
+ if (err) {
6406
+ return callback(operation2.mainError());
6193
6407
  }
6194
- const lock2 = locks[file2] = {
6195
- lockfilePath: getLockFile(file2, options),
6408
+ const lock = locks[file] = {
6409
+ lockfilePath: getLockFile(file, options),
6196
6410
  mtime,
6197
- mtimePrecision: mtimePrecision2,
6411
+ mtimePrecision,
6198
6412
  options,
6199
6413
  lastUpdate: Date.now()
6200
6414
  };
6201
- updateLock(file2, options);
6415
+ updateLock(file, options);
6202
6416
  callback(null, (releasedCallback) => {
6203
- if (lock2.released) {
6417
+ if (lock.released) {
6204
6418
  return releasedCallback && releasedCallback(Object.assign(new Error("Lock is already released"), { code: "ERELEASED" }));
6205
6419
  }
6206
- unlock(file2, { ...options, realpath: false }, releasedCallback);
6420
+ unlock(file, { ...options, realpath: false }, releasedCallback);
6207
6421
  });
6208
6422
  });
6209
6423
  });
@@ -6215,18 +6429,18 @@ var require_lockfile = __commonJS((exports, module) => {
6215
6429
  realpath: true,
6216
6430
  ...options
6217
6431
  };
6218
- resolveCanonicalPath(file, options, (err, file2) => {
6432
+ resolveCanonicalPath(file, options, (err, file) => {
6219
6433
  if (err) {
6220
6434
  return callback(err);
6221
6435
  }
6222
- const lock2 = locks[file2];
6223
- if (!lock2) {
6436
+ const lock = locks[file];
6437
+ if (!lock) {
6224
6438
  return callback(Object.assign(new Error("Lock is not acquired/owned by you"), { code: "ENOTACQUIRED" }));
6225
6439
  }
6226
- lock2.updateTimeout && clearTimeout(lock2.updateTimeout);
6227
- lock2.released = true;
6228
- delete locks[file2];
6229
- removeLock(file2, options, callback);
6440
+ lock.updateTimeout && clearTimeout(lock.updateTimeout);
6441
+ lock.released = true;
6442
+ delete locks[file];
6443
+ removeLock(file, options, callback);
6230
6444
  });
6231
6445
  }
6232
6446
  function check(file, options, callback) {
@@ -6237,13 +6451,13 @@ var require_lockfile = __commonJS((exports, module) => {
6237
6451
  ...options
6238
6452
  };
6239
6453
  options.stale = Math.max(options.stale || 0, 2000);
6240
- resolveCanonicalPath(file, options, (err, file2) => {
6454
+ resolveCanonicalPath(file, options, (err, file) => {
6241
6455
  if (err) {
6242
6456
  return callback(err);
6243
6457
  }
6244
- options.fs.stat(getLockFile(file2, options), (err2, stat) => {
6245
- if (err2) {
6246
- return err2.code === "ENOENT" ? callback(null, false) : callback(err2);
6458
+ options.fs.stat(getLockFile(file, options), (err, stat) => {
6459
+ if (err) {
6460
+ return err.code === "ENOENT" ? callback(null, false) : callback(err);
6247
6461
  }
6248
6462
  return callback(null, !isLockStale(stat, options));
6249
6463
  });
@@ -6257,7 +6471,7 @@ var require_lockfile = __commonJS((exports, module) => {
6257
6471
  const options = locks[file].options;
6258
6472
  try {
6259
6473
  options.fs.rmdirSync(getLockFile(file, options));
6260
- } catch (e2) {}
6474
+ } catch (e) {}
6261
6475
  }
6262
6476
  });
6263
6477
  exports.lock = lock;
@@ -6267,17 +6481,17 @@ var require_lockfile = __commonJS((exports, module) => {
6267
6481
  });
6268
6482
 
6269
6483
  // ../../node_modules/.bun/proper-lockfile@4.1.2/node_modules/proper-lockfile/lib/adapter.js
6270
- var require_adapter = __commonJS((exports, module) => {
6484
+ var require_adapter = __commonJS(function(exports, module) {
6271
6485
  var fs = require_graceful_fs();
6272
- function createSyncFs(fs2) {
6486
+ function createSyncFs(fs) {
6273
6487
  const methods = ["mkdir", "realpath", "stat", "rmdir", "utimes"];
6274
- const newFs = { ...fs2 };
6488
+ const newFs = { ...fs };
6275
6489
  methods.forEach((method) => {
6276
6490
  newFs[method] = (...args) => {
6277
6491
  const callback = args.pop();
6278
6492
  let ret;
6279
6493
  try {
6280
- ret = fs2[`${method}Sync`](...args);
6494
+ ret = fs[`${method}Sync`](...args);
6281
6495
  } catch (err) {
6282
6496
  return callback(err);
6283
6497
  }
@@ -6329,7 +6543,7 @@ var require_adapter = __commonJS((exports, module) => {
6329
6543
  });
6330
6544
 
6331
6545
  // ../../node_modules/.bun/proper-lockfile@4.1.2/node_modules/proper-lockfile/index.js
6332
- var require_proper_lockfile = __commonJS((exports, module) => {
6546
+ var require_proper_lockfile = __commonJS(function(exports, module) {
6333
6547
  var lockfile = require_lockfile();
6334
6548
  var { toPromise, toSync, toSyncOptions } = require_adapter();
6335
6549
  async function lock(file, options) {
@@ -6397,9 +6611,9 @@ var init_lock = __esm(() => {
6397
6611
  });
6398
6612
 
6399
6613
  // src/workstation/probe/ping.ts
6400
- function buildUnixPingPlan(platform2, family, address, timeoutMs = PING_TIMEOUT_MS) {
6614
+ function buildUnixPingPlan(platform, family, address, timeoutMs = PING_TIMEOUT_MS) {
6401
6615
  if (family === 6) {
6402
- if (platform2 === "darwin") {
6616
+ if (platform === "darwin") {
6403
6617
  return {
6404
6618
  command: "ping6",
6405
6619
  args: ["-n", "-c", "3", address],
@@ -6420,7 +6634,7 @@ function buildUnixPingPlan(platform2, family, address, timeoutMs = PING_TIMEOUT_
6420
6634
  env: BASE_ENV
6421
6635
  };
6422
6636
  }
6423
- if (platform2 === "darwin") {
6637
+ if (platform === "darwin") {
6424
6638
  return {
6425
6639
  command: "ping",
6426
6640
  args: ["-n", "-c", "3", "-W", String(timeoutMs), address],
@@ -6440,8 +6654,8 @@ function buildWindowsPingPlan(address) {
6440
6654
  env: { BAT_PING_ADDRESS: address }
6441
6655
  };
6442
6656
  }
6443
- function sequenceBase(platform2) {
6444
- return platform2 === "darwin" ? 0 : 1;
6657
+ function sequenceBase(platform) {
6658
+ return platform === "darwin" ? 0 : 1;
6445
6659
  }
6446
6660
  function parseUnixPingOutput(output, base = sequenceBase("linux")) {
6447
6661
  const slots = [null, null, null];
@@ -6484,10 +6698,10 @@ function parseWindowsPingOutput(output) {
6484
6698
  }
6485
6699
  const record = parsed;
6486
6700
  const rawError = record.error;
6487
- const error2 = typeof rawError === "string" && rawError.length > 0 ? rawError : null;
6701
+ const error = typeof rawError === "string" && rawError.length > 0 ? rawError : null;
6488
6702
  const rtts = record.rtts;
6489
6703
  if (!Array.isArray(rtts) || rtts.length !== WORKSTATION_PING_COUNT) {
6490
- return { rtts: [], error: error2 };
6704
+ return { rtts: [], error };
6491
6705
  }
6492
6706
  return {
6493
6707
  rtts: rtts.map((entry) => {
@@ -6496,7 +6710,7 @@ function parseWindowsPingOutput(output) {
6496
6710
  }
6497
6711
  return typeof entry === "number" && Number.isFinite(entry) && entry >= 0 ? entry : null;
6498
6712
  }),
6499
- error: error2
6713
+ error
6500
6714
  };
6501
6715
  }
6502
6716
  function classifyConnectivity(received, output, localFailure) {
@@ -6523,9 +6737,9 @@ function firstLineMatching(output, pattern) {
6523
6737
  return line ?? output.trim();
6524
6738
  }
6525
6739
  async function pingTarget(target, deps) {
6526
- const platform2 = deps.platform ?? process.platform;
6740
+ const platform = deps.platform ?? process.platform;
6527
6741
  const timeoutMs = deps.timeoutMs ?? PING_TIMEOUT_MS;
6528
- const plan = platform2 === "win32" ? buildWindowsPingPlan(target.address) : buildUnixPingPlan(platform2, target.family, target.address, timeoutMs);
6742
+ const plan = platform === "win32" ? buildWindowsPingPlan(target.address) : buildUnixPingPlan(platform, target.family, target.address, timeoutMs);
6529
6743
  const childTimeout = deps.childTimeoutMs ?? Math.min(CHILD_TIMEOUT_MS, Math.max(2000, timeoutMs * WORKSTATION_PING_COUNT + 2000));
6530
6744
  const result = await deps.exec(plan.command, plan.args, {
6531
6745
  timeoutMs: childTimeout,
@@ -6535,7 +6749,7 @@ async function pingTarget(target, deps) {
6535
6749
  let rtts;
6536
6750
  let localFailure = false;
6537
6751
  let failureDetail;
6538
- if (platform2 === "win32") {
6752
+ if (platform === "win32") {
6539
6753
  const parsed = parseWindowsPingOutput(result.stdout);
6540
6754
  rtts = parsed.rtts;
6541
6755
  if (parsed.error) {
@@ -6546,7 +6760,7 @@ async function pingTarget(target, deps) {
6546
6760
  failureDetail = "unreadable ping result";
6547
6761
  }
6548
6762
  } else {
6549
- rtts = parseUnixPingOutput(result.stdout, sequenceBase(platform2));
6763
+ rtts = parseUnixPingOutput(result.stdout, sequenceBase(platform));
6550
6764
  }
6551
6765
  const combined = `${result.stdout}${result.stderr}`;
6552
6766
  const permissionFailure = /operation not permitted|permission denied|not permitted|must be root|socket:/i.test(combined);
@@ -6563,7 +6777,7 @@ async function pingTarget(target, deps) {
6563
6777
  const answered = countAnswered(rtts);
6564
6778
  const unreachable = /unreachable|no route to host/i.test(combined);
6565
6779
  if (answered === 0 && !unreachable && !result.timedOut) {
6566
- localFailure = platform2 === "darwin" ? !(result.code === 2 && /packet loss/i.test(combined)) : result.code !== null && result.code >= 2;
6780
+ localFailure = platform === "darwin" ? !(result.code === 2 && /packet loss/i.test(combined)) : result.code !== null && result.code >= 2;
6567
6781
  }
6568
6782
  }
6569
6783
  const received = countAnswered(rtts);
@@ -6711,14 +6925,14 @@ function parseMemAvailableKb(text) {
6711
6925
  async function collectMemory(deps = {}) {
6712
6926
  const total = Math.max(1, Math.floor(deps.total ?? totalmem()));
6713
6927
  let available = deps.free ? deps.free() : freemem();
6714
- const platform2 = deps.platform ?? osPlatform();
6715
- if (platform2 === "linux") {
6928
+ const platform = deps.platform ?? osPlatform();
6929
+ if (platform === "linux") {
6716
6930
  try {
6717
- const readFile2 = deps.readFile ?? ((path, options) => fsp.readFile(path, {
6931
+ const readFile = deps.readFile ?? ((path, options) => fsp.readFile(path, {
6718
6932
  encoding: "utf-8",
6719
6933
  ...options?.signal ? { signal: options.signal } : {}
6720
6934
  }));
6721
- const text = await readFile2("/proc/meminfo", deps.signal ? { signal: deps.signal } : undefined);
6935
+ const text = await readFile("/proc/meminfo", deps.signal ? { signal: deps.signal } : undefined);
6722
6936
  const parsed = parseMemAvailableKb(text);
6723
6937
  if (parsed !== null) {
6724
6938
  available = parsed;
@@ -6733,9 +6947,9 @@ async function collectMemory(deps = {}) {
6733
6947
  used_pct: Math.min(100, Math.max(0, usedPct))
6734
6948
  };
6735
6949
  }
6736
- function diskMounts(platform2, env2) {
6737
- if (platform2 === "win32") {
6738
- return [`${env2.SystemDrive ?? "C:"}\\`];
6950
+ function diskMounts(platform, env) {
6951
+ if (platform === "win32") {
6952
+ return [`${env.SystemDrive ?? "C:"}\\`];
6739
6953
  }
6740
6954
  return ["/"];
6741
6955
  }
@@ -6755,7 +6969,7 @@ function diskFromStats(mount, stats) {
6755
6969
  };
6756
6970
  }
6757
6971
  async function collectDisks(deps = {}) {
6758
- const platform2 = deps.platform ?? osPlatform();
6972
+ const platform = deps.platform ?? osPlatform();
6759
6973
  const statfs = deps.statfs ?? ((path) => statfsInChild(path, {
6760
6974
  exec: deps.exec ?? runCommand2,
6761
6975
  ...deps.nodePath ? { nodePath: deps.nodePath } : {},
@@ -6764,7 +6978,7 @@ async function collectDisks(deps = {}) {
6764
6978
  }));
6765
6979
  const disk = [];
6766
6980
  const errors = [];
6767
- for (const mount of diskMounts(platform2, deps.env ?? process.env)) {
6981
+ for (const mount of diskMounts(platform, deps.env ?? process.env)) {
6768
6982
  try {
6769
6983
  const stats = await statfs(mount, deps.signal ? { signal: deps.signal } : undefined);
6770
6984
  const entry = diskFromStats(mount, stats);
@@ -6779,11 +6993,11 @@ async function collectDisks(deps = {}) {
6779
6993
  }
6780
6994
  return { disk, errors: errors.map((line) => truncateText(line, WORKSTATION_LIMITS.errorText)) };
6781
6995
  }
6782
- function familyOf(info2) {
6783
- if (info2.family === "IPv4" || info2.family === 4) {
6996
+ function familyOf(info) {
6997
+ if (info.family === "IPv4" || info.family === 4) {
6784
6998
  return 4;
6785
6999
  }
6786
- if (info2.family === "IPv6" || info2.family === 6) {
7000
+ if (info.family === "IPv6" || info.family === 6) {
6787
7001
  return 6;
6788
7002
  }
6789
7003
  return null;
@@ -6794,17 +7008,17 @@ function collectNetwork(interfaces = networkInterfaces()) {
6794
7008
  const entries = interfaces[name] ?? [];
6795
7009
  const addresses = [];
6796
7010
  const seen = new Set;
6797
- for (const info2 of entries) {
6798
- const family = familyOf(info2);
7011
+ for (const info of entries) {
7012
+ const family = familyOf(info);
6799
7013
  if (!family) {
6800
7014
  continue;
6801
7015
  }
6802
- const address = info2.address.split("%")[0] ?? "";
7016
+ const address = info.address.split("%")[0] ?? "";
6803
7017
  if (ipFamily(address) !== family || seen.has(address)) {
6804
7018
  continue;
6805
7019
  }
6806
7020
  seen.add(address);
6807
- addresses.push({ address, family, internal: info2.internal });
7021
+ addresses.push({ address, family, internal: info.internal });
6808
7022
  if (addresses.length >= WORKSTATION_LIMITS.addressesPerInterface) {
6809
7023
  break;
6810
7024
  }
@@ -7000,8 +7214,8 @@ async function runWorkstationProbe(deps) {
7000
7214
  const collector = deps.collector ?? defaultCollector();
7001
7215
  const exec = deps.exec ?? runCommand2;
7002
7216
  const functions = resolveProbeFunctions(deps);
7003
- const platform2 = deps.platform ?? process.platform;
7004
- const credential = deps.credential === undefined ? readCredential(deps.paths, { platform: platform2 }) : deps.credential;
7217
+ const platform = deps.platform ?? process.platform;
7218
+ const credential = deps.credential === undefined ? readCredential(deps.paths, { platform }) : deps.credential;
7005
7219
  if (!credential) {
7006
7220
  output.error("Not logged in — run 'bat workstation login' first.");
7007
7221
  return { exitCode: 1 };
@@ -7045,7 +7259,7 @@ async function runWorkstationProbe(deps) {
7045
7259
  deadline,
7046
7260
  signal,
7047
7261
  exec,
7048
- platform: platform2,
7262
+ platform,
7049
7263
  ping: functions.ping,
7050
7264
  errors
7051
7265
  });
@@ -7307,10 +7521,10 @@ function restoreFiles(files) {
7307
7521
  writeFileSync5(file.path, file.content, { mode: 420 });
7308
7522
  }
7309
7523
  }
7310
- function parseWindowsTaskSnapshot(stdout2) {
7524
+ function parseWindowsTaskSnapshot(stdout) {
7311
7525
  let parsed;
7312
7526
  try {
7313
- parsed = JSON.parse(stdout2.trim());
7527
+ parsed = JSON.parse(stdout.trim());
7314
7528
  } catch {
7315
7529
  throw new Error("task query returned invalid JSON");
7316
7530
  }
@@ -7430,18 +7644,18 @@ async function installSchedule(context, options) {
7430
7644
  }
7431
7645
  async function removeSchedule(context, backend, exec) {
7432
7646
  if (backend === "cron") {
7433
- const removed2 = await removeCron(exec);
7647
+ const removed = await removeCron(exec);
7434
7648
  return {
7435
7649
  backend,
7436
7650
  removed: [],
7437
- warnings: removed2 ? [] : ["no workstation cron block found"]
7651
+ warnings: removed ? [] : ["no workstation cron block found"]
7438
7652
  };
7439
7653
  }
7440
7654
  if (backend === "windows") {
7441
- const warnings2 = [];
7655
+ const warnings = [];
7442
7656
  const existing = await snapshotWindowsTask(exec);
7443
7657
  if (existing === null) {
7444
- warnings2.push("no workstation task found");
7658
+ warnings.push("no workstation task found");
7445
7659
  } else {
7446
7660
  const result = await exec("schtasks", ["/Delete", "/TN", WINDOWS_TASK, "/F"], {
7447
7661
  timeoutMs: 15000
@@ -7453,7 +7667,7 @@ async function removeSchedule(context, backend, exec) {
7453
7667
  throw new Error(`schtasks /Delete failed: ${failureDetail(result)}`);
7454
7668
  }
7455
7669
  }
7456
- return { backend, removed: [], warnings: warnings2 };
7670
+ return { backend, removed: [], warnings };
7457
7671
  }
7458
7672
  const plan = buildPlan(context, backend);
7459
7673
  const warnings = [];
@@ -7525,13 +7739,13 @@ async function runSetupCommand(deps = {}) {
7525
7739
  warn("No workstation schedule is recorded for this machine.");
7526
7740
  return 0;
7527
7741
  }
7528
- const result2 = await removeSchedule(context, backendOf(record.backend), exec);
7742
+ const result = await removeSchedule(context, backendOf(record.backend), exec);
7529
7743
  deleteScheduleRecord(paths);
7530
- for (const warning of result2.warnings) {
7744
+ for (const warning of result.warnings) {
7531
7745
  warn(warning);
7532
7746
  }
7533
- success(`Workstation schedule removed (${result2.backend}).`);
7534
- for (const path of result2.removed) {
7747
+ success(`Workstation schedule removed (${result.backend}).`);
7748
+ for (const path of result.removed) {
7535
7749
  info(` removed: ${path}`);
7536
7750
  }
7537
7751
  return 0;
@@ -7680,10 +7894,6 @@ var init_status = __esm(() => {
7680
7894
  });
7681
7895
 
7682
7896
  // src/commands/workstation/index.ts
7683
- var exports_workstation = {};
7684
- __export(exports_workstation, {
7685
- default: () => workstation_default
7686
- });
7687
7897
  var workstation_default;
7688
7898
  var init_workstation = __esm(() => {
7689
7899
  init_dist3();
@@ -7913,7 +8123,7 @@ init_http();
7913
8123
  init_output();
7914
8124
  var HEARTBEAT_STATUSES = new Set(["running", "stopped"]);
7915
8125
  function parseAgents(raw) {
7916
- const entries = raw.split(",").map((s2) => s2.trim()).filter(Boolean);
8126
+ const entries = raw.split(",").map((s) => s.trim()).filter(Boolean);
7917
8127
  if (entries.length === 0) {
7918
8128
  return { ok: false, error: "No agents specified" };
7919
8129
  }
@@ -8032,13 +8242,13 @@ async function runAgentList(manager) {
8032
8242
  return 0;
8033
8243
  }
8034
8244
  info(`${agents.length} agent(s):`);
8035
- table(["ID", "MATCH_KEY", "NICKNAME", "STATUS", "LAST SEEN", "SRC_KEY"], agents.map((a2) => [
8036
- a2.id,
8037
- truncate(a2.match_key, 30),
8038
- a2.nickname ?? "—",
8039
- a2.status,
8040
- formatTime(a2.last_seen_at),
8041
- a2.source_key_short
8245
+ table(["ID", "MATCH_KEY", "NICKNAME", "STATUS", "LAST SEEN", "SRC_KEY"], agents.map((a) => [
8246
+ a.id,
8247
+ truncate(a.match_key, 30),
8248
+ a.nickname ?? "—",
8249
+ a.status,
8250
+ formatTime(a.last_seen_at),
8251
+ a.source_key_short
8042
8252
  ]));
8043
8253
  return 0;
8044
8254
  } catch (err) {
@@ -8075,7 +8285,7 @@ function parseTagIds(raw) {
8075
8285
  if (raw.trim() === "") {
8076
8286
  return { ok: true, ids: [] };
8077
8287
  }
8078
- const parts = raw.split(",").map((s2) => s2.trim()).filter(Boolean);
8288
+ const parts = raw.split(",").map((s) => s.trim()).filter(Boolean);
8079
8289
  const ids = [];
8080
8290
  const seen = new Set;
8081
8291
  for (const part of parts) {
@@ -8131,7 +8341,7 @@ async function runAgentTags(manager, agentId, opts) {
8131
8341
  success(`Tags set on ${agent.id}: [${ids.join(", ")}]`);
8132
8342
  }
8133
8343
  if (agent.tags.length > 0) {
8134
- info(` tags: ${agent.tags.map((t2) => t2.name).join(", ")}`);
8344
+ info(` tags: ${agent.tags.map((t) => t.name).join(", ")}`);
8135
8345
  }
8136
8346
  return 0;
8137
8347
  } catch (err) {
@@ -8605,13 +8815,13 @@ async function runAssetList(manager) {
8605
8815
  return 0;
8606
8816
  }
8607
8817
  info(`${assets.length} asset(s):`);
8608
- table(["ID", "TYPE", "NAME", "PROVIDER", "STATUS", "HOST"], assets.map((a2) => [
8609
- a2.id,
8610
- a2.type,
8611
- truncate(a2.name, 30),
8612
- a2.provider ?? "—",
8613
- a2.status,
8614
- a2.hostname ?? "—"
8818
+ table(["ID", "TYPE", "NAME", "PROVIDER", "STATUS", "HOST"], assets.map((a) => [
8819
+ a.id,
8820
+ a.type,
8821
+ truncate(a.name, 30),
8822
+ a.provider ?? "—",
8823
+ a.status,
8824
+ a.hostname ?? "—"
8615
8825
  ]));
8616
8826
  return 0;
8617
8827
  } catch (err) {
@@ -8648,7 +8858,7 @@ function parseTagIds2(raw) {
8648
8858
  if (raw.trim() === "") {
8649
8859
  return { ok: true, ids: [] };
8650
8860
  }
8651
- const parts = raw.split(",").map((s2) => s2.trim()).filter(Boolean);
8861
+ const parts = raw.split(",").map((s) => s.trim()).filter(Boolean);
8652
8862
  const ids = [];
8653
8863
  const seen = new Set;
8654
8864
  for (const part of parts) {
@@ -8704,7 +8914,7 @@ async function runAssetTags(manager, assetId, opts) {
8704
8914
  success(`Tags set on ${asset.id}: [${ids.join(", ")}]`);
8705
8915
  }
8706
8916
  if (asset.tags.length > 0) {
8707
- info(` tags: ${asset.tags.map((t2) => t2.name).join(", ")}`);
8917
+ info(` tags: ${asset.tags.map((t) => t.name).join(", ")}`);
8708
8918
  }
8709
8919
  return 0;
8710
8920
  } catch (err) {
@@ -9134,12 +9344,12 @@ async function runBindingList(manager) {
9134
9344
  return 0;
9135
9345
  }
9136
9346
  info(`${bindings.length} binding(s):`);
9137
- table(["AGENT_ID", "AGENT", "ASSET_ID", "ASSET", "TYPE"], bindings.map((b2) => [
9138
- b2.agent_id,
9139
- b2.agent_nickname ?? "—",
9140
- b2.asset_id,
9141
- b2.asset_name,
9142
- b2.asset_type
9347
+ table(["AGENT_ID", "AGENT", "ASSET_ID", "ASSET", "TYPE"], bindings.map((b) => [
9348
+ b.agent_id,
9349
+ b.agent_nickname ?? "—",
9350
+ b.asset_id,
9351
+ b.asset_name,
9352
+ b.asset_type
9143
9353
  ]));
9144
9354
  return 0;
9145
9355
  } catch (err) {
@@ -9311,7 +9521,7 @@ function isProcessRunning(pid) {
9311
9521
  // src/commands/service/run.ts
9312
9522
  var HEARTBEAT_STATUSES2 = new Set(["running", "stopped"]);
9313
9523
  function parseAgentsArg(raw) {
9314
- const entries = raw.split(",").map((s2) => s2.trim()).filter(Boolean);
9524
+ const entries = raw.split(",").map((s) => s.trim()).filter(Boolean);
9315
9525
  if (entries.length === 0) {
9316
9526
  return { ok: false, error: "No agents specified" };
9317
9527
  }
@@ -9724,7 +9934,7 @@ var main = defineCommand({
9724
9934
  asset: asset_default,
9725
9935
  binding: binding_default,
9726
9936
  service: service_default,
9727
- workstation: () => Promise.resolve().then(() => (init_workstation(), exports_workstation)).then((module) => module.default)
9937
+ workstation: () => Promise.resolve().then(() => (init_workstation(), {})).then((module) => workstation_default)
9728
9938
  }
9729
9939
  });
9730
9940