repomind 0.5.5 → 0.7.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/index.js +3530 -586
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -121,7 +121,7 @@ var require_react_production = __commonJS({
121
121
  function cloneAndReplaceKey(oldElement, newKey) {
122
122
  return ReactElement(oldElement.type, newKey, oldElement.props);
123
123
  }
124
- function isValidElement(object) {
124
+ function isValidElement2(object) {
125
125
  return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;
126
126
  }
127
127
  function escape3(key) {
@@ -188,7 +188,7 @@ var require_react_production = __commonJS({
188
188
  if (invokeCallback)
189
189
  return callback = callback(children), invokeCallback = "" === nameSoFar ? "." + getElementKey(children, 0) : nameSoFar, isArrayImpl(callback) ? (escapedPrefix = "", null != invokeCallback && (escapedPrefix = invokeCallback.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), mapIntoArray(callback, array, escapedPrefix, "", function(c) {
190
190
  return c;
191
- })) : null != callback && (isValidElement(callback) && (callback = cloneAndReplaceKey(
191
+ })) : null != callback && (isValidElement2(callback) && (callback = cloneAndReplaceKey(
192
192
  callback,
193
193
  escapedPrefix + (null == callback.key || children && children.key === callback.key ? "" : ("" + callback.key).replace(
194
194
  userProvidedKeyEscapeRegex,
@@ -297,7 +297,7 @@ var require_react_production = __commonJS({
297
297
  }) || [];
298
298
  },
299
299
  only: function(children) {
300
- if (!isValidElement(children))
300
+ if (!isValidElement2(children))
301
301
  throw Error(
302
302
  "React.Children.only expected to receive a single React element child."
303
303
  );
@@ -384,7 +384,7 @@ var require_react_production = __commonJS({
384
384
  exports.forwardRef = function(render2) {
385
385
  return { $$typeof: REACT_FORWARD_REF_TYPE, render: render2 };
386
386
  };
387
- exports.isValidElement = isValidElement;
387
+ exports.isValidElement = isValidElement2;
388
388
  exports.lazy = function(ctor) {
389
389
  return {
390
390
  $$typeof: REACT_LAZY_TYPE,
@@ -694,9 +694,9 @@ var require_react_development = __commonJS({
694
694
  return newKey;
695
695
  }
696
696
  function validateChildKeys(node) {
697
- isValidElement(node) ? node._store && (node._store.validated = 1) : "object" === typeof node && null !== node && node.$$typeof === REACT_LAZY_TYPE && ("fulfilled" === node._payload.status ? isValidElement(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
697
+ isValidElement2(node) ? node._store && (node._store.validated = 1) : "object" === typeof node && null !== node && node.$$typeof === REACT_LAZY_TYPE && ("fulfilled" === node._payload.status ? isValidElement2(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
698
698
  }
699
- function isValidElement(object) {
699
+ function isValidElement2(object) {
700
700
  return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;
701
701
  }
702
702
  function escape3(key) {
@@ -765,13 +765,13 @@ var require_react_development = __commonJS({
765
765
  var childKey = "" === nameSoFar ? "." + getElementKey(invokeCallback, 0) : nameSoFar;
766
766
  isArrayImpl(callback) ? (escapedPrefix = "", null != childKey && (escapedPrefix = childKey.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), mapIntoArray(callback, array, escapedPrefix, "", function(c) {
767
767
  return c;
768
- })) : null != callback && (isValidElement(callback) && (null != callback.key && (invokeCallback && invokeCallback.key === callback.key || checkKeyStringCoercion(callback.key)), escapedPrefix = cloneAndReplaceKey(
768
+ })) : null != callback && (isValidElement2(callback) && (null != callback.key && (invokeCallback && invokeCallback.key === callback.key || checkKeyStringCoercion(callback.key)), escapedPrefix = cloneAndReplaceKey(
769
769
  callback,
770
770
  escapedPrefix + (null == callback.key || invokeCallback && invokeCallback.key === callback.key ? "" : ("" + callback.key).replace(
771
771
  userProvidedKeyEscapeRegex,
772
772
  "$&/"
773
773
  ) + "/") + childKey
774
- ), "" !== nameSoFar && null != invokeCallback && isValidElement(invokeCallback) && null == invokeCallback.key && invokeCallback._store && !invokeCallback._store.validated && (escapedPrefix._store.validated = 2), callback = escapedPrefix), array.push(callback));
774
+ ), "" !== nameSoFar && null != invokeCallback && isValidElement2(invokeCallback) && null == invokeCallback.key && invokeCallback._store && !invokeCallback._store.validated && (escapedPrefix._store.validated = 2), callback = escapedPrefix), array.push(callback));
775
775
  return 1;
776
776
  }
777
777
  invokeCallback = 0;
@@ -1068,7 +1068,7 @@ var require_react_development = __commonJS({
1068
1068
  }) || [];
1069
1069
  },
1070
1070
  only: function(children) {
1071
- if (!isValidElement(children))
1071
+ if (!isValidElement2(children))
1072
1072
  throw Error(
1073
1073
  "React.Children.only expected to receive a single React element child."
1074
1074
  );
@@ -1302,7 +1302,7 @@ var require_react_development = __commonJS({
1302
1302
  });
1303
1303
  return elementType;
1304
1304
  };
1305
- exports.isValidElement = isValidElement;
1305
+ exports.isValidElement = isValidElement2;
1306
1306
  exports.lazy = function(ctor) {
1307
1307
  ctor = { _status: -1, _result: ctor };
1308
1308
  var lazyType = {
@@ -1503,11 +1503,11 @@ var require_signals = __commonJS({
1503
1503
  // ../../node_modules/.bun/signal-exit@3.0.7/node_modules/signal-exit/index.js
1504
1504
  var require_signal_exit = __commonJS({
1505
1505
  "../../node_modules/.bun/signal-exit@3.0.7/node_modules/signal-exit/index.js"(exports, module) {
1506
- var process14 = global.process;
1507
- var processOk = function(process15) {
1508
- return process15 && typeof process15 === "object" && typeof process15.removeListener === "function" && typeof process15.emit === "function" && typeof process15.reallyExit === "function" && typeof process15.listeners === "function" && typeof process15.kill === "function" && typeof process15.pid === "number" && typeof process15.on === "function";
1506
+ var process18 = global.process;
1507
+ var processOk = function(process19) {
1508
+ return process19 && typeof process19 === "object" && typeof process19.removeListener === "function" && typeof process19.emit === "function" && typeof process19.reallyExit === "function" && typeof process19.listeners === "function" && typeof process19.kill === "function" && typeof process19.pid === "number" && typeof process19.on === "function";
1509
1509
  };
1510
- if (!processOk(process14)) {
1510
+ if (!processOk(process18)) {
1511
1511
  module.exports = function() {
1512
1512
  return function() {
1513
1513
  };
@@ -1515,15 +1515,15 @@ var require_signal_exit = __commonJS({
1515
1515
  } else {
1516
1516
  assert = __require("assert");
1517
1517
  signals = require_signals();
1518
- isWin = /^win/i.test(process14.platform);
1518
+ isWin = /^win/i.test(process18.platform);
1519
1519
  EE = __require("events");
1520
1520
  if (typeof EE !== "function") {
1521
1521
  EE = EE.EventEmitter;
1522
1522
  }
1523
- if (process14.__signal_exit_emitter__) {
1524
- emitter = process14.__signal_exit_emitter__;
1523
+ if (process18.__signal_exit_emitter__) {
1524
+ emitter = process18.__signal_exit_emitter__;
1525
1525
  } else {
1526
- emitter = process14.__signal_exit_emitter__ = new EE();
1526
+ emitter = process18.__signal_exit_emitter__ = new EE();
1527
1527
  emitter.count = 0;
1528
1528
  emitter.emitted = {};
1529
1529
  }
@@ -1560,12 +1560,12 @@ var require_signal_exit = __commonJS({
1560
1560
  loaded = false;
1561
1561
  signals.forEach(function(sig) {
1562
1562
  try {
1563
- process14.removeListener(sig, sigListeners[sig]);
1563
+ process18.removeListener(sig, sigListeners[sig]);
1564
1564
  } catch (er) {
1565
1565
  }
1566
1566
  });
1567
- process14.emit = originalProcessEmit;
1568
- process14.reallyExit = originalProcessReallyExit;
1567
+ process18.emit = originalProcessEmit;
1568
+ process18.reallyExit = originalProcessReallyExit;
1569
1569
  emitter.count -= 1;
1570
1570
  };
1571
1571
  module.exports.unload = unload;
@@ -1582,7 +1582,7 @@ var require_signal_exit = __commonJS({
1582
1582
  if (!processOk(global.process)) {
1583
1583
  return;
1584
1584
  }
1585
- var listeners = process14.listeners(sig);
1585
+ var listeners = process18.listeners(sig);
1586
1586
  if (listeners.length === emitter.count) {
1587
1587
  unload();
1588
1588
  emit("exit", null, sig);
@@ -1590,7 +1590,7 @@ var require_signal_exit = __commonJS({
1590
1590
  if (isWin && sig === "SIGHUP") {
1591
1591
  sig = "SIGINT";
1592
1592
  }
1593
- process14.kill(process14.pid, sig);
1593
+ process18.kill(process18.pid, sig);
1594
1594
  }
1595
1595
  };
1596
1596
  });
@@ -1606,36 +1606,36 @@ var require_signal_exit = __commonJS({
1606
1606
  emitter.count += 1;
1607
1607
  signals = signals.filter(function(sig) {
1608
1608
  try {
1609
- process14.on(sig, sigListeners[sig]);
1609
+ process18.on(sig, sigListeners[sig]);
1610
1610
  return true;
1611
1611
  } catch (er) {
1612
1612
  return false;
1613
1613
  }
1614
1614
  });
1615
- process14.emit = processEmit;
1616
- process14.reallyExit = processReallyExit;
1615
+ process18.emit = processEmit;
1616
+ process18.reallyExit = processReallyExit;
1617
1617
  };
1618
1618
  module.exports.load = load;
1619
- originalProcessReallyExit = process14.reallyExit;
1619
+ originalProcessReallyExit = process18.reallyExit;
1620
1620
  processReallyExit = function processReallyExit2(code) {
1621
1621
  if (!processOk(global.process)) {
1622
1622
  return;
1623
1623
  }
1624
- process14.exitCode = code || /* istanbul ignore next */
1624
+ process18.exitCode = code || /* istanbul ignore next */
1625
1625
  0;
1626
- emit("exit", process14.exitCode, null);
1627
- emit("afterexit", process14.exitCode, null);
1628
- originalProcessReallyExit.call(process14, process14.exitCode);
1626
+ emit("exit", process18.exitCode, null);
1627
+ emit("afterexit", process18.exitCode, null);
1628
+ originalProcessReallyExit.call(process18, process18.exitCode);
1629
1629
  };
1630
- originalProcessEmit = process14.emit;
1630
+ originalProcessEmit = process18.emit;
1631
1631
  processEmit = function processEmit2(ev, arg) {
1632
1632
  if (ev === "exit" && processOk(global.process)) {
1633
1633
  if (arg !== void 0) {
1634
- process14.exitCode = arg;
1634
+ process18.exitCode = arg;
1635
1635
  }
1636
1636
  var ret = originalProcessEmit.apply(this, arguments);
1637
- emit("exit", process14.exitCode, null);
1638
- emit("afterexit", process14.exitCode, null);
1637
+ emit("exit", process18.exitCode, null);
1638
+ emit("afterexit", process18.exitCode, null);
1639
1639
  return ret;
1640
1640
  } else {
1641
1641
  return originalProcessEmit.apply(this, arguments);
@@ -2421,13 +2421,13 @@ var require_react_reconciler_production = __commonJS({
2421
2421
  function createCursor(defaultValue) {
2422
2422
  return { current: defaultValue };
2423
2423
  }
2424
- function pop(cursor) {
2425
- 0 > index$jscomp$0 || (cursor.current = valueStack[index$jscomp$0], valueStack[index$jscomp$0] = null, index$jscomp$0--);
2424
+ function pop(cursor4) {
2425
+ 0 > index$jscomp$0 || (cursor4.current = valueStack[index$jscomp$0], valueStack[index$jscomp$0] = null, index$jscomp$0--);
2426
2426
  }
2427
- function push(cursor, value) {
2427
+ function push(cursor4, value) {
2428
2428
  index$jscomp$0++;
2429
- valueStack[index$jscomp$0] = cursor.current;
2430
- cursor.current = value;
2429
+ valueStack[index$jscomp$0] = cursor4.current;
2430
+ cursor4.current = value;
2431
2431
  }
2432
2432
  function clz32Fallback(x) {
2433
2433
  x >>>= 0;
@@ -9638,14 +9638,14 @@ var require_react_reconciler_production = __commonJS({
9638
9638
  }
9639
9639
  var exports2 = {};
9640
9640
  "use strict";
9641
- var React20 = require_react(), Scheduler2 = require_scheduler(), assign = Object.assign, REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy");
9641
+ var React38 = require_react(), Scheduler2 = require_scheduler(), assign = Object.assign, REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy");
9642
9642
  Symbol.for("react.scope");
9643
9643
  var REACT_ACTIVITY_TYPE = Symbol.for("react.activity");
9644
9644
  Symbol.for("react.legacy_hidden");
9645
9645
  Symbol.for("react.tracing_marker");
9646
9646
  var REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel");
9647
9647
  Symbol.for("react.view_transition");
9648
- var MAYBE_ITERATOR_SYMBOL = Symbol.iterator, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), isArrayImpl = Array.isArray, ReactSharedInternals = React20.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, rendererVersion = $$$config.rendererVersion, rendererPackageName = $$$config.rendererPackageName, extraDevToolsConfig = $$$config.extraDevToolsConfig, getPublicInstance = $$$config.getPublicInstance, getRootHostContext = $$$config.getRootHostContext, getChildHostContext = $$$config.getChildHostContext, prepareForCommit = $$$config.prepareForCommit, resetAfterCommit = $$$config.resetAfterCommit, createInstance = $$$config.createInstance;
9648
+ var MAYBE_ITERATOR_SYMBOL = Symbol.iterator, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), isArrayImpl = Array.isArray, ReactSharedInternals = React38.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, rendererVersion = $$$config.rendererVersion, rendererPackageName = $$$config.rendererPackageName, extraDevToolsConfig = $$$config.extraDevToolsConfig, getPublicInstance = $$$config.getPublicInstance, getRootHostContext = $$$config.getRootHostContext, getChildHostContext = $$$config.getChildHostContext, prepareForCommit = $$$config.prepareForCommit, resetAfterCommit = $$$config.resetAfterCommit, createInstance = $$$config.createInstance;
9649
9649
  $$$config.cloneMutableInstance;
9650
9650
  var appendInitialChild = $$$config.appendInitialChild, finalizeInitialChildren = $$$config.finalizeInitialChildren, shouldSetTextContent = $$$config.shouldSetTextContent, createTextInstance = $$$config.createTextInstance;
9651
9651
  $$$config.cloneMutableTextInstance;
@@ -10753,14 +10753,14 @@ var require_react_reconciler_development = __commonJS({
10753
10753
  function createCursor(defaultValue) {
10754
10754
  return { current: defaultValue };
10755
10755
  }
10756
- function pop(cursor, fiber) {
10757
- 0 > index$jscomp$0 ? console.error("Unexpected pop.") : (fiber !== fiberStack[index$jscomp$0] && console.error("Unexpected Fiber popped."), cursor.current = valueStack[index$jscomp$0], valueStack[index$jscomp$0] = null, fiberStack[index$jscomp$0] = null, index$jscomp$0--);
10756
+ function pop(cursor4, fiber) {
10757
+ 0 > index$jscomp$0 ? console.error("Unexpected pop.") : (fiber !== fiberStack[index$jscomp$0] && console.error("Unexpected Fiber popped."), cursor4.current = valueStack[index$jscomp$0], valueStack[index$jscomp$0] = null, fiberStack[index$jscomp$0] = null, index$jscomp$0--);
10758
10758
  }
10759
- function push(cursor, value, fiber) {
10759
+ function push(cursor4, value, fiber) {
10760
10760
  index$jscomp$0++;
10761
- valueStack[index$jscomp$0] = cursor.current;
10761
+ valueStack[index$jscomp$0] = cursor4.current;
10762
10762
  fiberStack[index$jscomp$0] = fiber;
10763
- cursor.current = value;
10763
+ cursor4.current = value;
10764
10764
  }
10765
10765
  function clz32Fallback(x) {
10766
10766
  x >>>= 0;
@@ -11785,7 +11785,7 @@ var require_react_reconciler_development = __commonJS({
11785
11785
  if ("string" === typeof entry.name) {
11786
11786
  var JSCompiler_temp_const = info;
11787
11787
  a: {
11788
- var name = entry.name, env3 = entry.env, location = entry.debugLocation;
11788
+ var name = entry.name, env4 = entry.env, location = entry.debugLocation;
11789
11789
  if (null != location) {
11790
11790
  var childStack = formatOwnerStack(location), idx = childStack.lastIndexOf("\n"), lastLine = -1 === idx ? childStack : childStack.slice(idx + 1);
11791
11791
  if (-1 !== lastLine.indexOf(name)) {
@@ -11794,7 +11794,7 @@ var require_react_reconciler_development = __commonJS({
11794
11794
  }
11795
11795
  }
11796
11796
  JSCompiler_inline_result = describeBuiltInComponentFrame(
11797
- name + (env3 ? " [" + env3 + "]" : "")
11797
+ name + (env4 ? " [" + env4 + "]" : "")
11798
11798
  );
11799
11799
  }
11800
11800
  info = JSCompiler_temp_const + JSCompiler_inline_result;
@@ -22238,14 +22238,14 @@ var require_react_reconciler_development = __commonJS({
22238
22238
  }
22239
22239
  var exports2 = {};
22240
22240
  "use strict";
22241
- var React20 = require_react(), Scheduler2 = require_scheduler(), assign = Object.assign, REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy");
22241
+ var React38 = require_react(), Scheduler2 = require_scheduler(), assign = Object.assign, REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy");
22242
22242
  Symbol.for("react.scope");
22243
22243
  var REACT_ACTIVITY_TYPE = Symbol.for("react.activity");
22244
22244
  Symbol.for("react.legacy_hidden");
22245
22245
  Symbol.for("react.tracing_marker");
22246
22246
  var REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel");
22247
22247
  Symbol.for("react.view_transition");
22248
- var MAYBE_ITERATOR_SYMBOL = Symbol.iterator, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), isArrayImpl = Array.isArray, ReactSharedInternals = React20.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, rendererVersion = $$$config.rendererVersion, rendererPackageName = $$$config.rendererPackageName, extraDevToolsConfig = $$$config.extraDevToolsConfig, getPublicInstance = $$$config.getPublicInstance, getRootHostContext = $$$config.getRootHostContext, getChildHostContext = $$$config.getChildHostContext, prepareForCommit = $$$config.prepareForCommit, resetAfterCommit = $$$config.resetAfterCommit, createInstance = $$$config.createInstance;
22248
+ var MAYBE_ITERATOR_SYMBOL = Symbol.iterator, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), isArrayImpl = Array.isArray, ReactSharedInternals = React38.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, rendererVersion = $$$config.rendererVersion, rendererPackageName = $$$config.rendererPackageName, extraDevToolsConfig = $$$config.extraDevToolsConfig, getPublicInstance = $$$config.getPublicInstance, getRootHostContext = $$$config.getRootHostContext, getChildHostContext = $$$config.getChildHostContext, prepareForCommit = $$$config.prepareForCommit, resetAfterCommit = $$$config.resetAfterCommit, createInstance = $$$config.createInstance;
22249
22249
  $$$config.cloneMutableInstance;
22250
22250
  var appendInitialChild = $$$config.appendInitialChild, finalizeInitialChildren = $$$config.finalizeInitialChildren, shouldSetTextContent = $$$config.shouldSetTextContent, createTextInstance = $$$config.createTextInstance;
22251
22251
  $$$config.cloneMutableTextInstance;
@@ -28345,6 +28345,408 @@ var require_stack_utils = __commonJS({
28345
28345
  }
28346
28346
  });
28347
28347
 
28348
+ // ../../node_modules/.bun/deepmerge@4.3.1/node_modules/deepmerge/dist/cjs.js
28349
+ var require_cjs = __commonJS({
28350
+ "../../node_modules/.bun/deepmerge@4.3.1/node_modules/deepmerge/dist/cjs.js"(exports, module) {
28351
+ "use strict";
28352
+ var isMergeableObject = function isMergeableObject2(value) {
28353
+ return isNonNullObject(value) && !isSpecial(value);
28354
+ };
28355
+ function isNonNullObject(value) {
28356
+ return !!value && typeof value === "object";
28357
+ }
28358
+ function isSpecial(value) {
28359
+ var stringValue = Object.prototype.toString.call(value);
28360
+ return stringValue === "[object RegExp]" || stringValue === "[object Date]" || isReactElement(value);
28361
+ }
28362
+ var canUseSymbol = typeof Symbol === "function" && Symbol.for;
28363
+ var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for("react.element") : 60103;
28364
+ function isReactElement(value) {
28365
+ return value.$$typeof === REACT_ELEMENT_TYPE;
28366
+ }
28367
+ function emptyTarget(val) {
28368
+ return Array.isArray(val) ? [] : {};
28369
+ }
28370
+ function cloneUnlessOtherwiseSpecified(value, options) {
28371
+ return options.clone !== false && options.isMergeableObject(value) ? deepmerge2(emptyTarget(value), value, options) : value;
28372
+ }
28373
+ function defaultArrayMerge(target, source, options) {
28374
+ return target.concat(source).map(function(element) {
28375
+ return cloneUnlessOtherwiseSpecified(element, options);
28376
+ });
28377
+ }
28378
+ function getMergeFunction(key, options) {
28379
+ if (!options.customMerge) {
28380
+ return deepmerge2;
28381
+ }
28382
+ var customMerge = options.customMerge(key);
28383
+ return typeof customMerge === "function" ? customMerge : deepmerge2;
28384
+ }
28385
+ function getEnumerableOwnPropertySymbols(target) {
28386
+ return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
28387
+ return Object.propertyIsEnumerable.call(target, symbol);
28388
+ }) : [];
28389
+ }
28390
+ function getKeys(target) {
28391
+ return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));
28392
+ }
28393
+ function propertyIsOnObject(object, property) {
28394
+ try {
28395
+ return property in object;
28396
+ } catch (_) {
28397
+ return false;
28398
+ }
28399
+ }
28400
+ function propertyIsUnsafe(target, key) {
28401
+ return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key));
28402
+ }
28403
+ function mergeObject(target, source, options) {
28404
+ var destination = {};
28405
+ if (options.isMergeableObject(target)) {
28406
+ getKeys(target).forEach(function(key) {
28407
+ destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
28408
+ });
28409
+ }
28410
+ getKeys(source).forEach(function(key) {
28411
+ if (propertyIsUnsafe(target, key)) {
28412
+ return;
28413
+ }
28414
+ if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
28415
+ destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
28416
+ } else {
28417
+ destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
28418
+ }
28419
+ });
28420
+ return destination;
28421
+ }
28422
+ function deepmerge2(target, source, options) {
28423
+ options = options || {};
28424
+ options.arrayMerge = options.arrayMerge || defaultArrayMerge;
28425
+ options.isMergeableObject = options.isMergeableObject || isMergeableObject;
28426
+ options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
28427
+ var sourceIsArray = Array.isArray(source);
28428
+ var targetIsArray = Array.isArray(target);
28429
+ var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
28430
+ if (!sourceAndTargetTypesMatch) {
28431
+ return cloneUnlessOtherwiseSpecified(source, options);
28432
+ } else if (sourceIsArray) {
28433
+ return options.arrayMerge(target, source, options);
28434
+ } else {
28435
+ return mergeObject(target, source, options);
28436
+ }
28437
+ }
28438
+ deepmerge2.all = function deepmergeAll(array, options) {
28439
+ if (!Array.isArray(array)) {
28440
+ throw new Error("first argument should be an array");
28441
+ }
28442
+ return array.reduce(function(prev, next) {
28443
+ return deepmerge2(prev, next, options);
28444
+ }, {});
28445
+ };
28446
+ var deepmerge_1 = deepmerge2;
28447
+ module.exports = deepmerge_1;
28448
+ }
28449
+ });
28450
+
28451
+ // ../../node_modules/.bun/react@19.2.4/node_modules/react/cjs/react-jsx-runtime.production.js
28452
+ var require_react_jsx_runtime_production = __commonJS({
28453
+ "../../node_modules/.bun/react@19.2.4/node_modules/react/cjs/react-jsx-runtime.production.js"(exports) {
28454
+ "use strict";
28455
+ var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element");
28456
+ var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment");
28457
+ function jsxProd(type, config, maybeKey) {
28458
+ var key = null;
28459
+ void 0 !== maybeKey && (key = "" + maybeKey);
28460
+ void 0 !== config.key && (key = "" + config.key);
28461
+ if ("key" in config) {
28462
+ maybeKey = {};
28463
+ for (var propName in config)
28464
+ "key" !== propName && (maybeKey[propName] = config[propName]);
28465
+ } else maybeKey = config;
28466
+ config = maybeKey.ref;
28467
+ return {
28468
+ $$typeof: REACT_ELEMENT_TYPE,
28469
+ type,
28470
+ key,
28471
+ ref: void 0 !== config ? config : null,
28472
+ props: maybeKey
28473
+ };
28474
+ }
28475
+ exports.Fragment = REACT_FRAGMENT_TYPE;
28476
+ exports.jsx = jsxProd;
28477
+ exports.jsxs = jsxProd;
28478
+ }
28479
+ });
28480
+
28481
+ // ../../node_modules/.bun/react@19.2.4/node_modules/react/cjs/react-jsx-runtime.development.js
28482
+ var require_react_jsx_runtime_development = __commonJS({
28483
+ "../../node_modules/.bun/react@19.2.4/node_modules/react/cjs/react-jsx-runtime.development.js"(exports) {
28484
+ "use strict";
28485
+ "production" !== process.env.NODE_ENV && (function() {
28486
+ function getComponentNameFromType(type) {
28487
+ if (null == type) return null;
28488
+ if ("function" === typeof type)
28489
+ return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
28490
+ if ("string" === typeof type) return type;
28491
+ switch (type) {
28492
+ case REACT_FRAGMENT_TYPE:
28493
+ return "Fragment";
28494
+ case REACT_PROFILER_TYPE:
28495
+ return "Profiler";
28496
+ case REACT_STRICT_MODE_TYPE:
28497
+ return "StrictMode";
28498
+ case REACT_SUSPENSE_TYPE:
28499
+ return "Suspense";
28500
+ case REACT_SUSPENSE_LIST_TYPE:
28501
+ return "SuspenseList";
28502
+ case REACT_ACTIVITY_TYPE:
28503
+ return "Activity";
28504
+ }
28505
+ if ("object" === typeof type)
28506
+ switch ("number" === typeof type.tag && console.error(
28507
+ "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
28508
+ ), type.$$typeof) {
28509
+ case REACT_PORTAL_TYPE:
28510
+ return "Portal";
28511
+ case REACT_CONTEXT_TYPE:
28512
+ return type.displayName || "Context";
28513
+ case REACT_CONSUMER_TYPE:
28514
+ return (type._context.displayName || "Context") + ".Consumer";
28515
+ case REACT_FORWARD_REF_TYPE:
28516
+ var innerType = type.render;
28517
+ type = type.displayName;
28518
+ type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
28519
+ return type;
28520
+ case REACT_MEMO_TYPE:
28521
+ return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
28522
+ case REACT_LAZY_TYPE:
28523
+ innerType = type._payload;
28524
+ type = type._init;
28525
+ try {
28526
+ return getComponentNameFromType(type(innerType));
28527
+ } catch (x) {
28528
+ }
28529
+ }
28530
+ return null;
28531
+ }
28532
+ function testStringCoercion(value) {
28533
+ return "" + value;
28534
+ }
28535
+ function checkKeyStringCoercion(value) {
28536
+ try {
28537
+ testStringCoercion(value);
28538
+ var JSCompiler_inline_result = false;
28539
+ } catch (e) {
28540
+ JSCompiler_inline_result = true;
28541
+ }
28542
+ if (JSCompiler_inline_result) {
28543
+ JSCompiler_inline_result = console;
28544
+ var JSCompiler_temp_const = JSCompiler_inline_result.error;
28545
+ var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
28546
+ JSCompiler_temp_const.call(
28547
+ JSCompiler_inline_result,
28548
+ "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
28549
+ JSCompiler_inline_result$jscomp$0
28550
+ );
28551
+ return testStringCoercion(value);
28552
+ }
28553
+ }
28554
+ function getTaskName(type) {
28555
+ if (type === REACT_FRAGMENT_TYPE) return "<>";
28556
+ if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE)
28557
+ return "<...>";
28558
+ try {
28559
+ var name = getComponentNameFromType(type);
28560
+ return name ? "<" + name + ">" : "<...>";
28561
+ } catch (x) {
28562
+ return "<...>";
28563
+ }
28564
+ }
28565
+ function getOwner() {
28566
+ var dispatcher = ReactSharedInternals.A;
28567
+ return null === dispatcher ? null : dispatcher.getOwner();
28568
+ }
28569
+ function UnknownOwner() {
28570
+ return Error("react-stack-top-frame");
28571
+ }
28572
+ function hasValidKey(config) {
28573
+ if (hasOwnProperty.call(config, "key")) {
28574
+ var getter = Object.getOwnPropertyDescriptor(config, "key").get;
28575
+ if (getter && getter.isReactWarning) return false;
28576
+ }
28577
+ return void 0 !== config.key;
28578
+ }
28579
+ function defineKeyPropWarningGetter(props, displayName) {
28580
+ function warnAboutAccessingKey() {
28581
+ specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error(
28582
+ "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
28583
+ displayName
28584
+ ));
28585
+ }
28586
+ warnAboutAccessingKey.isReactWarning = true;
28587
+ Object.defineProperty(props, "key", {
28588
+ get: warnAboutAccessingKey,
28589
+ configurable: true
28590
+ });
28591
+ }
28592
+ function elementRefGetterWithDeprecationWarning() {
28593
+ var componentName = getComponentNameFromType(this.type);
28594
+ didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error(
28595
+ "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
28596
+ ));
28597
+ componentName = this.props.ref;
28598
+ return void 0 !== componentName ? componentName : null;
28599
+ }
28600
+ function ReactElement(type, key, props, owner, debugStack, debugTask) {
28601
+ var refProp = props.ref;
28602
+ type = {
28603
+ $$typeof: REACT_ELEMENT_TYPE,
28604
+ type,
28605
+ key,
28606
+ props,
28607
+ _owner: owner
28608
+ };
28609
+ null !== (void 0 !== refProp ? refProp : null) ? Object.defineProperty(type, "ref", {
28610
+ enumerable: false,
28611
+ get: elementRefGetterWithDeprecationWarning
28612
+ }) : Object.defineProperty(type, "ref", { enumerable: false, value: null });
28613
+ type._store = {};
28614
+ Object.defineProperty(type._store, "validated", {
28615
+ configurable: false,
28616
+ enumerable: false,
28617
+ writable: true,
28618
+ value: 0
28619
+ });
28620
+ Object.defineProperty(type, "_debugInfo", {
28621
+ configurable: false,
28622
+ enumerable: false,
28623
+ writable: true,
28624
+ value: null
28625
+ });
28626
+ Object.defineProperty(type, "_debugStack", {
28627
+ configurable: false,
28628
+ enumerable: false,
28629
+ writable: true,
28630
+ value: debugStack
28631
+ });
28632
+ Object.defineProperty(type, "_debugTask", {
28633
+ configurable: false,
28634
+ enumerable: false,
28635
+ writable: true,
28636
+ value: debugTask
28637
+ });
28638
+ Object.freeze && (Object.freeze(type.props), Object.freeze(type));
28639
+ return type;
28640
+ }
28641
+ function jsxDEVImpl(type, config, maybeKey, isStaticChildren, debugStack, debugTask) {
28642
+ var children = config.children;
28643
+ if (void 0 !== children)
28644
+ if (isStaticChildren)
28645
+ if (isArrayImpl(children)) {
28646
+ for (isStaticChildren = 0; isStaticChildren < children.length; isStaticChildren++)
28647
+ validateChildKeys(children[isStaticChildren]);
28648
+ Object.freeze && Object.freeze(children);
28649
+ } else
28650
+ console.error(
28651
+ "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
28652
+ );
28653
+ else validateChildKeys(children);
28654
+ if (hasOwnProperty.call(config, "key")) {
28655
+ children = getComponentNameFromType(type);
28656
+ var keys = Object.keys(config).filter(function(k) {
28657
+ return "key" !== k;
28658
+ });
28659
+ isStaticChildren = 0 < keys.length ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}";
28660
+ didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}", console.error(
28661
+ 'A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',
28662
+ isStaticChildren,
28663
+ children,
28664
+ keys,
28665
+ children
28666
+ ), didWarnAboutKeySpread[children + isStaticChildren] = true);
28667
+ }
28668
+ children = null;
28669
+ void 0 !== maybeKey && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey);
28670
+ hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key);
28671
+ if ("key" in config) {
28672
+ maybeKey = {};
28673
+ for (var propName in config)
28674
+ "key" !== propName && (maybeKey[propName] = config[propName]);
28675
+ } else maybeKey = config;
28676
+ children && defineKeyPropWarningGetter(
28677
+ maybeKey,
28678
+ "function" === typeof type ? type.displayName || type.name || "Unknown" : type
28679
+ );
28680
+ return ReactElement(
28681
+ type,
28682
+ children,
28683
+ maybeKey,
28684
+ getOwner(),
28685
+ debugStack,
28686
+ debugTask
28687
+ );
28688
+ }
28689
+ function validateChildKeys(node) {
28690
+ isValidElement2(node) ? node._store && (node._store.validated = 1) : "object" === typeof node && null !== node && node.$$typeof === REACT_LAZY_TYPE && ("fulfilled" === node._payload.status ? isValidElement2(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
28691
+ }
28692
+ function isValidElement2(object) {
28693
+ return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;
28694
+ }
28695
+ var React38 = require_react(), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React38.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
28696
+ return null;
28697
+ };
28698
+ React38 = {
28699
+ react_stack_bottom_frame: function(callStackForError) {
28700
+ return callStackForError();
28701
+ }
28702
+ };
28703
+ var specialPropKeyWarningShown;
28704
+ var didWarnAboutElementRef = {};
28705
+ var unknownOwnerDebugStack = React38.react_stack_bottom_frame.bind(
28706
+ React38,
28707
+ UnknownOwner
28708
+ )();
28709
+ var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
28710
+ var didWarnAboutKeySpread = {};
28711
+ exports.Fragment = REACT_FRAGMENT_TYPE;
28712
+ exports.jsx = function(type, config, maybeKey) {
28713
+ var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
28714
+ return jsxDEVImpl(
28715
+ type,
28716
+ config,
28717
+ maybeKey,
28718
+ false,
28719
+ trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack,
28720
+ trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask
28721
+ );
28722
+ };
28723
+ exports.jsxs = function(type, config, maybeKey) {
28724
+ var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
28725
+ return jsxDEVImpl(
28726
+ type,
28727
+ config,
28728
+ maybeKey,
28729
+ true,
28730
+ trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack,
28731
+ trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask
28732
+ );
28733
+ };
28734
+ })();
28735
+ }
28736
+ });
28737
+
28738
+ // ../../node_modules/.bun/react@19.2.4/node_modules/react/jsx-runtime.js
28739
+ var require_jsx_runtime = __commonJS({
28740
+ "../../node_modules/.bun/react@19.2.4/node_modules/react/jsx-runtime.js"(exports, module) {
28741
+ "use strict";
28742
+ if (process.env.NODE_ENV === "production") {
28743
+ module.exports = require_react_jsx_runtime_production();
28744
+ } else {
28745
+ module.exports = require_react_jsx_runtime_development();
28746
+ }
28747
+ }
28748
+ });
28749
+
28348
28750
  // ../../node_modules/.bun/cli-spinners@2.9.2/node_modules/cli-spinners/spinners.json
28349
28751
  var require_spinners = __commonJS({
28350
28752
  "../../node_modules/.bun/cli-spinners@2.9.2/node_modules/cli-spinners/spinners.json"(exports, module) {
@@ -29978,11 +30380,11 @@ var require_cli_spinners = __commonJS({
29978
30380
  "../../node_modules/.bun/cli-spinners@2.9.2/node_modules/cli-spinners/index.js"(exports, module) {
29979
30381
  "use strict";
29980
30382
  var spinners2 = Object.assign({}, require_spinners());
29981
- var spinnersList = Object.keys(spinners2);
30383
+ var spinnersList2 = Object.keys(spinners2);
29982
30384
  Object.defineProperty(spinners2, "random", {
29983
30385
  get() {
29984
- const randomIndex = Math.floor(Math.random() * spinnersList.length);
29985
- const spinnerName = spinnersList[randomIndex];
30386
+ const randomIndex = Math.floor(Math.random() * spinnersList2.length);
30387
+ const spinnerName = spinnersList2[randomIndex];
29986
30388
  return spinners2[spinnerName];
29987
30389
  }
29988
30390
  });
@@ -29990,305 +30392,6 @@ var require_cli_spinners = __commonJS({
29990
30392
  }
29991
30393
  });
29992
30394
 
29993
- // ../../node_modules/.bun/react@19.2.4/node_modules/react/cjs/react-jsx-runtime.production.js
29994
- var require_react_jsx_runtime_production = __commonJS({
29995
- "../../node_modules/.bun/react@19.2.4/node_modules/react/cjs/react-jsx-runtime.production.js"(exports) {
29996
- "use strict";
29997
- var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element");
29998
- var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment");
29999
- function jsxProd(type, config, maybeKey) {
30000
- var key = null;
30001
- void 0 !== maybeKey && (key = "" + maybeKey);
30002
- void 0 !== config.key && (key = "" + config.key);
30003
- if ("key" in config) {
30004
- maybeKey = {};
30005
- for (var propName in config)
30006
- "key" !== propName && (maybeKey[propName] = config[propName]);
30007
- } else maybeKey = config;
30008
- config = maybeKey.ref;
30009
- return {
30010
- $$typeof: REACT_ELEMENT_TYPE,
30011
- type,
30012
- key,
30013
- ref: void 0 !== config ? config : null,
30014
- props: maybeKey
30015
- };
30016
- }
30017
- exports.Fragment = REACT_FRAGMENT_TYPE;
30018
- exports.jsx = jsxProd;
30019
- exports.jsxs = jsxProd;
30020
- }
30021
- });
30022
-
30023
- // ../../node_modules/.bun/react@19.2.4/node_modules/react/cjs/react-jsx-runtime.development.js
30024
- var require_react_jsx_runtime_development = __commonJS({
30025
- "../../node_modules/.bun/react@19.2.4/node_modules/react/cjs/react-jsx-runtime.development.js"(exports) {
30026
- "use strict";
30027
- "production" !== process.env.NODE_ENV && (function() {
30028
- function getComponentNameFromType(type) {
30029
- if (null == type) return null;
30030
- if ("function" === typeof type)
30031
- return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
30032
- if ("string" === typeof type) return type;
30033
- switch (type) {
30034
- case REACT_FRAGMENT_TYPE:
30035
- return "Fragment";
30036
- case REACT_PROFILER_TYPE:
30037
- return "Profiler";
30038
- case REACT_STRICT_MODE_TYPE:
30039
- return "StrictMode";
30040
- case REACT_SUSPENSE_TYPE:
30041
- return "Suspense";
30042
- case REACT_SUSPENSE_LIST_TYPE:
30043
- return "SuspenseList";
30044
- case REACT_ACTIVITY_TYPE:
30045
- return "Activity";
30046
- }
30047
- if ("object" === typeof type)
30048
- switch ("number" === typeof type.tag && console.error(
30049
- "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
30050
- ), type.$$typeof) {
30051
- case REACT_PORTAL_TYPE:
30052
- return "Portal";
30053
- case REACT_CONTEXT_TYPE:
30054
- return type.displayName || "Context";
30055
- case REACT_CONSUMER_TYPE:
30056
- return (type._context.displayName || "Context") + ".Consumer";
30057
- case REACT_FORWARD_REF_TYPE:
30058
- var innerType = type.render;
30059
- type = type.displayName;
30060
- type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
30061
- return type;
30062
- case REACT_MEMO_TYPE:
30063
- return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
30064
- case REACT_LAZY_TYPE:
30065
- innerType = type._payload;
30066
- type = type._init;
30067
- try {
30068
- return getComponentNameFromType(type(innerType));
30069
- } catch (x) {
30070
- }
30071
- }
30072
- return null;
30073
- }
30074
- function testStringCoercion(value) {
30075
- return "" + value;
30076
- }
30077
- function checkKeyStringCoercion(value) {
30078
- try {
30079
- testStringCoercion(value);
30080
- var JSCompiler_inline_result = false;
30081
- } catch (e) {
30082
- JSCompiler_inline_result = true;
30083
- }
30084
- if (JSCompiler_inline_result) {
30085
- JSCompiler_inline_result = console;
30086
- var JSCompiler_temp_const = JSCompiler_inline_result.error;
30087
- var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
30088
- JSCompiler_temp_const.call(
30089
- JSCompiler_inline_result,
30090
- "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
30091
- JSCompiler_inline_result$jscomp$0
30092
- );
30093
- return testStringCoercion(value);
30094
- }
30095
- }
30096
- function getTaskName(type) {
30097
- if (type === REACT_FRAGMENT_TYPE) return "<>";
30098
- if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE)
30099
- return "<...>";
30100
- try {
30101
- var name = getComponentNameFromType(type);
30102
- return name ? "<" + name + ">" : "<...>";
30103
- } catch (x) {
30104
- return "<...>";
30105
- }
30106
- }
30107
- function getOwner() {
30108
- var dispatcher = ReactSharedInternals.A;
30109
- return null === dispatcher ? null : dispatcher.getOwner();
30110
- }
30111
- function UnknownOwner() {
30112
- return Error("react-stack-top-frame");
30113
- }
30114
- function hasValidKey(config) {
30115
- if (hasOwnProperty.call(config, "key")) {
30116
- var getter = Object.getOwnPropertyDescriptor(config, "key").get;
30117
- if (getter && getter.isReactWarning) return false;
30118
- }
30119
- return void 0 !== config.key;
30120
- }
30121
- function defineKeyPropWarningGetter(props, displayName) {
30122
- function warnAboutAccessingKey() {
30123
- specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error(
30124
- "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
30125
- displayName
30126
- ));
30127
- }
30128
- warnAboutAccessingKey.isReactWarning = true;
30129
- Object.defineProperty(props, "key", {
30130
- get: warnAboutAccessingKey,
30131
- configurable: true
30132
- });
30133
- }
30134
- function elementRefGetterWithDeprecationWarning() {
30135
- var componentName = getComponentNameFromType(this.type);
30136
- didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error(
30137
- "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
30138
- ));
30139
- componentName = this.props.ref;
30140
- return void 0 !== componentName ? componentName : null;
30141
- }
30142
- function ReactElement(type, key, props, owner, debugStack, debugTask) {
30143
- var refProp = props.ref;
30144
- type = {
30145
- $$typeof: REACT_ELEMENT_TYPE,
30146
- type,
30147
- key,
30148
- props,
30149
- _owner: owner
30150
- };
30151
- null !== (void 0 !== refProp ? refProp : null) ? Object.defineProperty(type, "ref", {
30152
- enumerable: false,
30153
- get: elementRefGetterWithDeprecationWarning
30154
- }) : Object.defineProperty(type, "ref", { enumerable: false, value: null });
30155
- type._store = {};
30156
- Object.defineProperty(type._store, "validated", {
30157
- configurable: false,
30158
- enumerable: false,
30159
- writable: true,
30160
- value: 0
30161
- });
30162
- Object.defineProperty(type, "_debugInfo", {
30163
- configurable: false,
30164
- enumerable: false,
30165
- writable: true,
30166
- value: null
30167
- });
30168
- Object.defineProperty(type, "_debugStack", {
30169
- configurable: false,
30170
- enumerable: false,
30171
- writable: true,
30172
- value: debugStack
30173
- });
30174
- Object.defineProperty(type, "_debugTask", {
30175
- configurable: false,
30176
- enumerable: false,
30177
- writable: true,
30178
- value: debugTask
30179
- });
30180
- Object.freeze && (Object.freeze(type.props), Object.freeze(type));
30181
- return type;
30182
- }
30183
- function jsxDEVImpl(type, config, maybeKey, isStaticChildren, debugStack, debugTask) {
30184
- var children = config.children;
30185
- if (void 0 !== children)
30186
- if (isStaticChildren)
30187
- if (isArrayImpl(children)) {
30188
- for (isStaticChildren = 0; isStaticChildren < children.length; isStaticChildren++)
30189
- validateChildKeys(children[isStaticChildren]);
30190
- Object.freeze && Object.freeze(children);
30191
- } else
30192
- console.error(
30193
- "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
30194
- );
30195
- else validateChildKeys(children);
30196
- if (hasOwnProperty.call(config, "key")) {
30197
- children = getComponentNameFromType(type);
30198
- var keys = Object.keys(config).filter(function(k) {
30199
- return "key" !== k;
30200
- });
30201
- isStaticChildren = 0 < keys.length ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}";
30202
- didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}", console.error(
30203
- 'A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',
30204
- isStaticChildren,
30205
- children,
30206
- keys,
30207
- children
30208
- ), didWarnAboutKeySpread[children + isStaticChildren] = true);
30209
- }
30210
- children = null;
30211
- void 0 !== maybeKey && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey);
30212
- hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key);
30213
- if ("key" in config) {
30214
- maybeKey = {};
30215
- for (var propName in config)
30216
- "key" !== propName && (maybeKey[propName] = config[propName]);
30217
- } else maybeKey = config;
30218
- children && defineKeyPropWarningGetter(
30219
- maybeKey,
30220
- "function" === typeof type ? type.displayName || type.name || "Unknown" : type
30221
- );
30222
- return ReactElement(
30223
- type,
30224
- children,
30225
- maybeKey,
30226
- getOwner(),
30227
- debugStack,
30228
- debugTask
30229
- );
30230
- }
30231
- function validateChildKeys(node) {
30232
- isValidElement(node) ? node._store && (node._store.validated = 1) : "object" === typeof node && null !== node && node.$$typeof === REACT_LAZY_TYPE && ("fulfilled" === node._payload.status ? isValidElement(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
30233
- }
30234
- function isValidElement(object) {
30235
- return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;
30236
- }
30237
- var React20 = require_react(), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React20.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
30238
- return null;
30239
- };
30240
- React20 = {
30241
- react_stack_bottom_frame: function(callStackForError) {
30242
- return callStackForError();
30243
- }
30244
- };
30245
- var specialPropKeyWarningShown;
30246
- var didWarnAboutElementRef = {};
30247
- var unknownOwnerDebugStack = React20.react_stack_bottom_frame.bind(
30248
- React20,
30249
- UnknownOwner
30250
- )();
30251
- var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
30252
- var didWarnAboutKeySpread = {};
30253
- exports.Fragment = REACT_FRAGMENT_TYPE;
30254
- exports.jsx = function(type, config, maybeKey) {
30255
- var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
30256
- return jsxDEVImpl(
30257
- type,
30258
- config,
30259
- maybeKey,
30260
- false,
30261
- trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack,
30262
- trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask
30263
- );
30264
- };
30265
- exports.jsxs = function(type, config, maybeKey) {
30266
- var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
30267
- return jsxDEVImpl(
30268
- type,
30269
- config,
30270
- maybeKey,
30271
- true,
30272
- trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack,
30273
- trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask
30274
- );
30275
- };
30276
- })();
30277
- }
30278
- });
30279
-
30280
- // ../../node_modules/.bun/react@19.2.4/node_modules/react/jsx-runtime.js
30281
- var require_jsx_runtime = __commonJS({
30282
- "../../node_modules/.bun/react@19.2.4/node_modules/react/jsx-runtime.js"(exports, module) {
30283
- "use strict";
30284
- if (process.env.NODE_ENV === "production") {
30285
- module.exports = require_react_jsx_runtime_production();
30286
- } else {
30287
- module.exports = require_react_jsx_runtime_development();
30288
- }
30289
- }
30290
- });
30291
-
30292
30395
  // ../../packages/git/src/errors.ts
30293
30396
  var GitError = class extends Error {
30294
30397
  constructor(message) {
@@ -30492,6 +30595,24 @@ async function runGit(args2) {
30492
30595
  }
30493
30596
  return stdout;
30494
30597
  }
30598
+ async function runGitAt(cwd2, args2) {
30599
+ const proc = Bun.spawn(["git", ...args2], {
30600
+ cwd: cwd2,
30601
+ stdout: "pipe",
30602
+ stderr: "pipe"
30603
+ });
30604
+ const [stdout, stderr] = await Promise.all([
30605
+ new Response(proc.stdout).text(),
30606
+ new Response(proc.stderr).text()
30607
+ ]);
30608
+ const code = await proc.exited;
30609
+ if (code !== 0) {
30610
+ throw new GitError(
30611
+ stderr.trim() || `git ${args2[0]} exited with code ${code}`
30612
+ );
30613
+ }
30614
+ return stdout;
30615
+ }
30495
30616
 
30496
30617
  // ../../node_modules/.bun/git-patch@0.1.4/node_modules/git-patch/lib/diff-parser.js
30497
30618
  var hunkIdCounter = 0;
@@ -30870,6 +30991,58 @@ async function stageLines(fullPatch, lineSelections) {
30870
30991
  return { usedFallback: false };
30871
30992
  }
30872
30993
 
30994
+ // ../../packages/git/src/worktree.ts
30995
+ import { join } from "node:path";
30996
+ async function applyPatchInWorktree(wtPath, patch) {
30997
+ const proc = Bun.spawn(["git", "apply", "--index", "--3way"], {
30998
+ cwd: wtPath,
30999
+ stdin: "pipe",
31000
+ stdout: "pipe",
31001
+ stderr: "pipe"
31002
+ });
31003
+ proc.stdin.write(patch);
31004
+ proc.stdin.end();
31005
+ const stderr = await new Response(proc.stderr).text();
31006
+ const code = await proc.exited;
31007
+ if (code !== 0) {
31008
+ throw new GitError(`Patch invalido no worktree: ${stderr.trim()}`);
31009
+ }
31010
+ }
31011
+ async function getCurrentBranchRef(repoRoot) {
31012
+ try {
31013
+ return (await runGitAt(repoRoot, ["symbolic-ref", "HEAD"])).trim();
31014
+ } catch {
31015
+ throw new GitError(
31016
+ "HEAD is detached \u2014 cannot fast-forward after split. Checkout a branch first."
31017
+ );
31018
+ }
31019
+ }
31020
+ async function commitViaWorktree(repoRoot, groups) {
31021
+ const branchRef = await getCurrentBranchRef(repoRoot);
31022
+ await runGitAt(repoRoot, ["worktree", "prune"]).catch(() => {
31023
+ });
31024
+ const wtPath = join(repoRoot, ".git", `split-wt-${Date.now()}`);
31025
+ await runGitAt(repoRoot, ["worktree", "add", "--detach", wtPath, "HEAD"]);
31026
+ try {
31027
+ for (const group of groups) {
31028
+ for (const patch of group.patches) {
31029
+ await applyPatchInWorktree(wtPath, patch);
31030
+ }
31031
+ await runGitAt(wtPath, ["commit", "-m", group.message]);
31032
+ }
31033
+ const wtHead = (await runGitAt(wtPath, ["rev-parse", "HEAD"])).trim();
31034
+ await runGitAt(repoRoot, ["update-ref", branchRef, wtHead]);
31035
+ await runGitAt(repoRoot, ["reset", "HEAD"]);
31036
+ } catch (err) {
31037
+ await runGitAt(repoRoot, ["worktree", "remove", "--force", wtPath]).catch(
31038
+ () => {
31039
+ }
31040
+ );
31041
+ throw err;
31042
+ }
31043
+ await runGitAt(repoRoot, ["worktree", "remove", "--force", wtPath]);
31044
+ }
31045
+
30873
31046
  // ../../packages/git/src/index.ts
30874
31047
  var MAX_FILE_CONTENT_CHARS = 1e4;
30875
31048
  var MAX_FILES_TO_INCLUDE = 8;
@@ -30984,6 +31157,10 @@ async function readStagedFiles(files) {
30984
31157
  );
30985
31158
  return results.filter((f) => f.content.length > 0);
30986
31159
  }
31160
+ async function getRepoRoot() {
31161
+ const root = await runGit(["rev-parse", "--show-toplevel"]);
31162
+ return root.trim();
31163
+ }
30987
31164
 
30988
31165
  // src/lib/api-client.ts
30989
31166
  var FETCH_TIMEOUT_MS = 3e4;
@@ -33557,12 +33734,12 @@ import fs from "node:fs";
33557
33734
  import tty from "node:tty";
33558
33735
  var defaultColumns = 80;
33559
33736
  var defaultRows = 24;
33560
- var exec2 = (command2, arguments_, { shell, env: env3 } = {}) => execFileSync(command2, arguments_, {
33737
+ var exec2 = (command2, arguments_, { shell, env: env4 } = {}) => execFileSync(command2, arguments_, {
33561
33738
  encoding: "utf8",
33562
33739
  stdio: ["ignore", "pipe", "ignore"],
33563
33740
  timeout: 500,
33564
33741
  shell,
33565
- env: env3
33742
+ env: env4
33566
33743
  }).trim();
33567
33744
  var create = (columns, rows) => ({
33568
33745
  columns: Number.parseInt(columns, 10),
@@ -33603,15 +33780,15 @@ var isForegroundProcess = () => {
33603
33780
  }
33604
33781
  };
33605
33782
  function terminalSize() {
33606
- const { env: env3, stdout, stderr } = process3;
33783
+ const { env: env4, stdout, stderr } = process3;
33607
33784
  if (stdout?.columns && stdout?.rows) {
33608
33785
  return create(stdout.columns, stdout.rows);
33609
33786
  }
33610
33787
  if (stderr?.columns && stderr?.rows) {
33611
33788
  return create(stderr.columns, stderr.rows);
33612
33789
  }
33613
- if (env3.COLUMNS && env3.LINES) {
33614
- return create(env3.COLUMNS, env3.LINES);
33790
+ if (env4.COLUMNS && env4.LINES) {
33791
+ return create(env4.COLUMNS, env4.LINES);
33615
33792
  }
33616
33793
  const fallback = {
33617
33794
  columns: defaultColumns,
@@ -39250,14 +39427,14 @@ var import_react27 = __toESM(require_react(), 1);
39250
39427
  var import_react28 = __toESM(require_react(), 1);
39251
39428
 
39252
39429
  // src/commands/commit.ts
39253
- var import_react34 = __toESM(require_react(), 1);
39430
+ var import_react64 = __toESM(require_react(), 1);
39254
39431
 
39255
39432
  // src/lib/auth.ts
39256
39433
  import { mkdirSync, readFileSync as readFileSync2, rmSync, writeFileSync } from "node:fs";
39257
39434
  import { homedir } from "node:os";
39258
39435
  import { dirname } from "node:path";
39259
- import { join } from "node:path";
39260
- var AUTH_PATH = join(homedir(), ".repomind", "auth.json");
39436
+ import { join as join2 } from "node:path";
39437
+ var AUTH_PATH = join2(homedir(), ".repomind", "auth.json");
39261
39438
  function readToken() {
39262
39439
  return readTokenFromPath(AUTH_PATH);
39263
39440
  }
@@ -39321,11 +39498,11 @@ function exitImmersive() {
39321
39498
 
39322
39499
  // src/lib/repo-config.ts
39323
39500
  import { readFile } from "node:fs/promises";
39324
- import { join as join2 } from "node:path";
39501
+ import { join as join3 } from "node:path";
39325
39502
  var CONFIG_FILE = ".repomind.json";
39326
39503
  async function readRepoConfig(cwd2 = process.cwd()) {
39327
39504
  try {
39328
- const filePath = join2(cwd2, CONFIG_FILE);
39505
+ const filePath = join3(cwd2, CONFIG_FILE);
39329
39506
  const raw = await readFile(filePath, "utf-8");
39330
39507
  const parsed = JSON.parse(raw);
39331
39508
  return typeof parsed === "object" && parsed !== null && !Array.isArray(parsed) ? parsed : {};
@@ -39334,13 +39511,2406 @@ async function readRepoConfig(cwd2 = process.cwd()) {
39334
39511
  }
39335
39512
  }
39336
39513
 
39337
- // ../../node_modules/.bun/ink-spinner@5.0.0+b601e0ea471ec471/node_modules/ink-spinner/build/index.js
39514
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/badge/badge.js
39515
+ var import_react30 = __toESM(require_react(), 1);
39516
+
39517
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/theme.js
39338
39518
  var import_react29 = __toESM(require_react(), 1);
39339
- var import_cli_spinners = __toESM(require_cli_spinners(), 1);
39340
- function Spinner({ type = "dots" }) {
39341
- const [frame, setFrame] = (0, import_react29.useState)(0);
39342
- const spinner = import_cli_spinners.default[type];
39343
- (0, import_react29.useEffect)(() => {
39519
+ var import_deepmerge = __toESM(require_cjs(), 1);
39520
+
39521
+ // ../../node_modules/.bun/is-unicode-supported@2.1.0/node_modules/is-unicode-supported/index.js
39522
+ import process14 from "node:process";
39523
+ function isUnicodeSupported() {
39524
+ const { env: env4 } = process14;
39525
+ const { TERM, TERM_PROGRAM } = env4;
39526
+ if (process14.platform !== "win32") {
39527
+ return TERM !== "linux";
39528
+ }
39529
+ return Boolean(env4.WT_SESSION) || Boolean(env4.TERMINUS_SUBLIME) || env4.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env4.TERMINAL_EMULATOR === "JetBrains-JediTerm";
39530
+ }
39531
+
39532
+ // ../../node_modules/.bun/figures@6.1.0/node_modules/figures/index.js
39533
+ var common = {
39534
+ circleQuestionMark: "(?)",
39535
+ questionMarkPrefix: "(?)",
39536
+ square: "\u2588",
39537
+ squareDarkShade: "\u2593",
39538
+ squareMediumShade: "\u2592",
39539
+ squareLightShade: "\u2591",
39540
+ squareTop: "\u2580",
39541
+ squareBottom: "\u2584",
39542
+ squareLeft: "\u258C",
39543
+ squareRight: "\u2590",
39544
+ squareCenter: "\u25A0",
39545
+ bullet: "\u25CF",
39546
+ dot: "\u2024",
39547
+ ellipsis: "\u2026",
39548
+ pointerSmall: "\u203A",
39549
+ triangleUp: "\u25B2",
39550
+ triangleUpSmall: "\u25B4",
39551
+ triangleDown: "\u25BC",
39552
+ triangleDownSmall: "\u25BE",
39553
+ triangleLeftSmall: "\u25C2",
39554
+ triangleRightSmall: "\u25B8",
39555
+ home: "\u2302",
39556
+ heart: "\u2665",
39557
+ musicNote: "\u266A",
39558
+ musicNoteBeamed: "\u266B",
39559
+ arrowUp: "\u2191",
39560
+ arrowDown: "\u2193",
39561
+ arrowLeft: "\u2190",
39562
+ arrowRight: "\u2192",
39563
+ arrowLeftRight: "\u2194",
39564
+ arrowUpDown: "\u2195",
39565
+ almostEqual: "\u2248",
39566
+ notEqual: "\u2260",
39567
+ lessOrEqual: "\u2264",
39568
+ greaterOrEqual: "\u2265",
39569
+ identical: "\u2261",
39570
+ infinity: "\u221E",
39571
+ subscriptZero: "\u2080",
39572
+ subscriptOne: "\u2081",
39573
+ subscriptTwo: "\u2082",
39574
+ subscriptThree: "\u2083",
39575
+ subscriptFour: "\u2084",
39576
+ subscriptFive: "\u2085",
39577
+ subscriptSix: "\u2086",
39578
+ subscriptSeven: "\u2087",
39579
+ subscriptEight: "\u2088",
39580
+ subscriptNine: "\u2089",
39581
+ oneHalf: "\xBD",
39582
+ oneThird: "\u2153",
39583
+ oneQuarter: "\xBC",
39584
+ oneFifth: "\u2155",
39585
+ oneSixth: "\u2159",
39586
+ oneEighth: "\u215B",
39587
+ twoThirds: "\u2154",
39588
+ twoFifths: "\u2156",
39589
+ threeQuarters: "\xBE",
39590
+ threeFifths: "\u2157",
39591
+ threeEighths: "\u215C",
39592
+ fourFifths: "\u2158",
39593
+ fiveSixths: "\u215A",
39594
+ fiveEighths: "\u215D",
39595
+ sevenEighths: "\u215E",
39596
+ line: "\u2500",
39597
+ lineBold: "\u2501",
39598
+ lineDouble: "\u2550",
39599
+ lineDashed0: "\u2504",
39600
+ lineDashed1: "\u2505",
39601
+ lineDashed2: "\u2508",
39602
+ lineDashed3: "\u2509",
39603
+ lineDashed4: "\u254C",
39604
+ lineDashed5: "\u254D",
39605
+ lineDashed6: "\u2574",
39606
+ lineDashed7: "\u2576",
39607
+ lineDashed8: "\u2578",
39608
+ lineDashed9: "\u257A",
39609
+ lineDashed10: "\u257C",
39610
+ lineDashed11: "\u257E",
39611
+ lineDashed12: "\u2212",
39612
+ lineDashed13: "\u2013",
39613
+ lineDashed14: "\u2010",
39614
+ lineDashed15: "\u2043",
39615
+ lineVertical: "\u2502",
39616
+ lineVerticalBold: "\u2503",
39617
+ lineVerticalDouble: "\u2551",
39618
+ lineVerticalDashed0: "\u2506",
39619
+ lineVerticalDashed1: "\u2507",
39620
+ lineVerticalDashed2: "\u250A",
39621
+ lineVerticalDashed3: "\u250B",
39622
+ lineVerticalDashed4: "\u254E",
39623
+ lineVerticalDashed5: "\u254F",
39624
+ lineVerticalDashed6: "\u2575",
39625
+ lineVerticalDashed7: "\u2577",
39626
+ lineVerticalDashed8: "\u2579",
39627
+ lineVerticalDashed9: "\u257B",
39628
+ lineVerticalDashed10: "\u257D",
39629
+ lineVerticalDashed11: "\u257F",
39630
+ lineDownLeft: "\u2510",
39631
+ lineDownLeftArc: "\u256E",
39632
+ lineDownBoldLeftBold: "\u2513",
39633
+ lineDownBoldLeft: "\u2512",
39634
+ lineDownLeftBold: "\u2511",
39635
+ lineDownDoubleLeftDouble: "\u2557",
39636
+ lineDownDoubleLeft: "\u2556",
39637
+ lineDownLeftDouble: "\u2555",
39638
+ lineDownRight: "\u250C",
39639
+ lineDownRightArc: "\u256D",
39640
+ lineDownBoldRightBold: "\u250F",
39641
+ lineDownBoldRight: "\u250E",
39642
+ lineDownRightBold: "\u250D",
39643
+ lineDownDoubleRightDouble: "\u2554",
39644
+ lineDownDoubleRight: "\u2553",
39645
+ lineDownRightDouble: "\u2552",
39646
+ lineUpLeft: "\u2518",
39647
+ lineUpLeftArc: "\u256F",
39648
+ lineUpBoldLeftBold: "\u251B",
39649
+ lineUpBoldLeft: "\u251A",
39650
+ lineUpLeftBold: "\u2519",
39651
+ lineUpDoubleLeftDouble: "\u255D",
39652
+ lineUpDoubleLeft: "\u255C",
39653
+ lineUpLeftDouble: "\u255B",
39654
+ lineUpRight: "\u2514",
39655
+ lineUpRightArc: "\u2570",
39656
+ lineUpBoldRightBold: "\u2517",
39657
+ lineUpBoldRight: "\u2516",
39658
+ lineUpRightBold: "\u2515",
39659
+ lineUpDoubleRightDouble: "\u255A",
39660
+ lineUpDoubleRight: "\u2559",
39661
+ lineUpRightDouble: "\u2558",
39662
+ lineUpDownLeft: "\u2524",
39663
+ lineUpBoldDownBoldLeftBold: "\u252B",
39664
+ lineUpBoldDownBoldLeft: "\u2528",
39665
+ lineUpDownLeftBold: "\u2525",
39666
+ lineUpBoldDownLeftBold: "\u2529",
39667
+ lineUpDownBoldLeftBold: "\u252A",
39668
+ lineUpDownBoldLeft: "\u2527",
39669
+ lineUpBoldDownLeft: "\u2526",
39670
+ lineUpDoubleDownDoubleLeftDouble: "\u2563",
39671
+ lineUpDoubleDownDoubleLeft: "\u2562",
39672
+ lineUpDownLeftDouble: "\u2561",
39673
+ lineUpDownRight: "\u251C",
39674
+ lineUpBoldDownBoldRightBold: "\u2523",
39675
+ lineUpBoldDownBoldRight: "\u2520",
39676
+ lineUpDownRightBold: "\u251D",
39677
+ lineUpBoldDownRightBold: "\u2521",
39678
+ lineUpDownBoldRightBold: "\u2522",
39679
+ lineUpDownBoldRight: "\u251F",
39680
+ lineUpBoldDownRight: "\u251E",
39681
+ lineUpDoubleDownDoubleRightDouble: "\u2560",
39682
+ lineUpDoubleDownDoubleRight: "\u255F",
39683
+ lineUpDownRightDouble: "\u255E",
39684
+ lineDownLeftRight: "\u252C",
39685
+ lineDownBoldLeftBoldRightBold: "\u2533",
39686
+ lineDownLeftBoldRightBold: "\u252F",
39687
+ lineDownBoldLeftRight: "\u2530",
39688
+ lineDownBoldLeftBoldRight: "\u2531",
39689
+ lineDownBoldLeftRightBold: "\u2532",
39690
+ lineDownLeftRightBold: "\u252E",
39691
+ lineDownLeftBoldRight: "\u252D",
39692
+ lineDownDoubleLeftDoubleRightDouble: "\u2566",
39693
+ lineDownDoubleLeftRight: "\u2565",
39694
+ lineDownLeftDoubleRightDouble: "\u2564",
39695
+ lineUpLeftRight: "\u2534",
39696
+ lineUpBoldLeftBoldRightBold: "\u253B",
39697
+ lineUpLeftBoldRightBold: "\u2537",
39698
+ lineUpBoldLeftRight: "\u2538",
39699
+ lineUpBoldLeftBoldRight: "\u2539",
39700
+ lineUpBoldLeftRightBold: "\u253A",
39701
+ lineUpLeftRightBold: "\u2536",
39702
+ lineUpLeftBoldRight: "\u2535",
39703
+ lineUpDoubleLeftDoubleRightDouble: "\u2569",
39704
+ lineUpDoubleLeftRight: "\u2568",
39705
+ lineUpLeftDoubleRightDouble: "\u2567",
39706
+ lineUpDownLeftRight: "\u253C",
39707
+ lineUpBoldDownBoldLeftBoldRightBold: "\u254B",
39708
+ lineUpDownBoldLeftBoldRightBold: "\u2548",
39709
+ lineUpBoldDownLeftBoldRightBold: "\u2547",
39710
+ lineUpBoldDownBoldLeftRightBold: "\u254A",
39711
+ lineUpBoldDownBoldLeftBoldRight: "\u2549",
39712
+ lineUpBoldDownLeftRight: "\u2540",
39713
+ lineUpDownBoldLeftRight: "\u2541",
39714
+ lineUpDownLeftBoldRight: "\u253D",
39715
+ lineUpDownLeftRightBold: "\u253E",
39716
+ lineUpBoldDownBoldLeftRight: "\u2542",
39717
+ lineUpDownLeftBoldRightBold: "\u253F",
39718
+ lineUpBoldDownLeftBoldRight: "\u2543",
39719
+ lineUpBoldDownLeftRightBold: "\u2544",
39720
+ lineUpDownBoldLeftBoldRight: "\u2545",
39721
+ lineUpDownBoldLeftRightBold: "\u2546",
39722
+ lineUpDoubleDownDoubleLeftDoubleRightDouble: "\u256C",
39723
+ lineUpDoubleDownDoubleLeftRight: "\u256B",
39724
+ lineUpDownLeftDoubleRightDouble: "\u256A",
39725
+ lineCross: "\u2573",
39726
+ lineBackslash: "\u2572",
39727
+ lineSlash: "\u2571"
39728
+ };
39729
+ var specialMainSymbols = {
39730
+ tick: "\u2714",
39731
+ info: "\u2139",
39732
+ warning: "\u26A0",
39733
+ cross: "\u2718",
39734
+ squareSmall: "\u25FB",
39735
+ squareSmallFilled: "\u25FC",
39736
+ circle: "\u25EF",
39737
+ circleFilled: "\u25C9",
39738
+ circleDotted: "\u25CC",
39739
+ circleDouble: "\u25CE",
39740
+ circleCircle: "\u24DE",
39741
+ circleCross: "\u24E7",
39742
+ circlePipe: "\u24BE",
39743
+ radioOn: "\u25C9",
39744
+ radioOff: "\u25EF",
39745
+ checkboxOn: "\u2612",
39746
+ checkboxOff: "\u2610",
39747
+ checkboxCircleOn: "\u24E7",
39748
+ checkboxCircleOff: "\u24BE",
39749
+ pointer: "\u276F",
39750
+ triangleUpOutline: "\u25B3",
39751
+ triangleLeft: "\u25C0",
39752
+ triangleRight: "\u25B6",
39753
+ lozenge: "\u25C6",
39754
+ lozengeOutline: "\u25C7",
39755
+ hamburger: "\u2630",
39756
+ smiley: "\u32E1",
39757
+ mustache: "\u0DF4",
39758
+ star: "\u2605",
39759
+ play: "\u25B6",
39760
+ nodejs: "\u2B22",
39761
+ oneSeventh: "\u2150",
39762
+ oneNinth: "\u2151",
39763
+ oneTenth: "\u2152"
39764
+ };
39765
+ var specialFallbackSymbols = {
39766
+ tick: "\u221A",
39767
+ info: "i",
39768
+ warning: "\u203C",
39769
+ cross: "\xD7",
39770
+ squareSmall: "\u25A1",
39771
+ squareSmallFilled: "\u25A0",
39772
+ circle: "( )",
39773
+ circleFilled: "(*)",
39774
+ circleDotted: "( )",
39775
+ circleDouble: "( )",
39776
+ circleCircle: "(\u25CB)",
39777
+ circleCross: "(\xD7)",
39778
+ circlePipe: "(\u2502)",
39779
+ radioOn: "(*)",
39780
+ radioOff: "( )",
39781
+ checkboxOn: "[\xD7]",
39782
+ checkboxOff: "[ ]",
39783
+ checkboxCircleOn: "(\xD7)",
39784
+ checkboxCircleOff: "( )",
39785
+ pointer: ">",
39786
+ triangleUpOutline: "\u2206",
39787
+ triangleLeft: "\u25C4",
39788
+ triangleRight: "\u25BA",
39789
+ lozenge: "\u2666",
39790
+ lozengeOutline: "\u25CA",
39791
+ hamburger: "\u2261",
39792
+ smiley: "\u263A",
39793
+ mustache: "\u250C\u2500\u2510",
39794
+ star: "\u2736",
39795
+ play: "\u25BA",
39796
+ nodejs: "\u2666",
39797
+ oneSeventh: "1/7",
39798
+ oneNinth: "1/9",
39799
+ oneTenth: "1/10"
39800
+ };
39801
+ var mainSymbols = { ...common, ...specialMainSymbols };
39802
+ var fallbackSymbols = { ...common, ...specialFallbackSymbols };
39803
+ var shouldUseMain = isUnicodeSupported();
39804
+ var figures = shouldUseMain ? mainSymbols : fallbackSymbols;
39805
+ var figures_default = figures;
39806
+ var replacements = Object.entries(specialMainSymbols);
39807
+
39808
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/alert/theme.js
39809
+ var colorByVariant = {
39810
+ info: "blue",
39811
+ success: "green",
39812
+ error: "red",
39813
+ warning: "yellow"
39814
+ };
39815
+ var theme = {
39816
+ styles: {
39817
+ container: ({ variant }) => ({
39818
+ flexGrow: 1,
39819
+ borderStyle: "round",
39820
+ borderColor: colorByVariant[variant],
39821
+ gap: 1,
39822
+ paddingX: 1
39823
+ }),
39824
+ iconContainer: () => ({
39825
+ flexShrink: 0
39826
+ }),
39827
+ icon: ({ variant }) => ({
39828
+ color: colorByVariant[variant]
39829
+ }),
39830
+ content: () => ({
39831
+ flexShrink: 1,
39832
+ flexGrow: 1,
39833
+ minWidth: 0,
39834
+ flexDirection: "column",
39835
+ gap: 1
39836
+ }),
39837
+ title: () => ({
39838
+ bold: true
39839
+ }),
39840
+ message: () => ({})
39841
+ },
39842
+ config({ variant }) {
39843
+ let icon;
39844
+ if (variant === "info") {
39845
+ icon = figures_default.info;
39846
+ }
39847
+ if (variant === "success") {
39848
+ icon = figures_default.tick;
39849
+ }
39850
+ if (variant === "error") {
39851
+ icon = figures_default.cross;
39852
+ }
39853
+ if (variant === "warning") {
39854
+ icon = figures_default.warning;
39855
+ }
39856
+ return { icon };
39857
+ }
39858
+ };
39859
+ var theme_default = theme;
39860
+
39861
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/badge/theme.js
39862
+ var theme2 = {
39863
+ styles: {
39864
+ container: ({ color }) => ({
39865
+ backgroundColor: color
39866
+ }),
39867
+ label: () => ({
39868
+ color: "black"
39869
+ })
39870
+ }
39871
+ };
39872
+ var theme_default2 = theme2;
39873
+
39874
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/confirm-input/theme.js
39875
+ var theme3 = {
39876
+ styles: {
39877
+ input: ({ isFocused }) => ({
39878
+ dimColor: !isFocused
39879
+ })
39880
+ }
39881
+ };
39882
+ var theme_default3 = theme3;
39883
+
39884
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/multi-select/theme.js
39885
+ var theme4 = {
39886
+ styles: {
39887
+ container: () => ({
39888
+ flexDirection: "column"
39889
+ }),
39890
+ option: ({ isFocused }) => ({
39891
+ gap: 1,
39892
+ paddingLeft: isFocused ? 0 : 2
39893
+ }),
39894
+ selectedIndicator: () => ({
39895
+ color: "green"
39896
+ }),
39897
+ focusIndicator: () => ({
39898
+ color: "blue"
39899
+ }),
39900
+ label({ isFocused, isSelected }) {
39901
+ let color;
39902
+ if (isSelected) {
39903
+ color = "green";
39904
+ }
39905
+ if (isFocused) {
39906
+ color = "blue";
39907
+ }
39908
+ return { color };
39909
+ },
39910
+ highlightedText: () => ({
39911
+ bold: true
39912
+ })
39913
+ }
39914
+ };
39915
+ var theme_default4 = theme4;
39916
+
39917
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/ordered-list/theme.js
39918
+ var theme5 = {
39919
+ styles: {
39920
+ list: () => ({
39921
+ flexDirection: "column"
39922
+ }),
39923
+ listItem: () => ({
39924
+ gap: 1
39925
+ }),
39926
+ marker: () => ({
39927
+ dimColor: true
39928
+ }),
39929
+ content: () => ({
39930
+ flexDirection: "column"
39931
+ })
39932
+ }
39933
+ };
39934
+ var theme_default5 = theme5;
39935
+
39936
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/progress-bar/theme.js
39937
+ var theme6 = {
39938
+ styles: {
39939
+ container: () => ({
39940
+ flexGrow: 1,
39941
+ minWidth: 0
39942
+ }),
39943
+ completed: () => ({
39944
+ color: "magenta"
39945
+ }),
39946
+ remaining: () => ({
39947
+ dimColor: true
39948
+ })
39949
+ },
39950
+ config: () => ({
39951
+ // Character for rendering a completed bar
39952
+ completedCharacter: figures_default.square,
39953
+ // Character for rendering a remaining bar
39954
+ remainingCharacter: figures_default.squareLightShade
39955
+ })
39956
+ };
39957
+ var theme_default6 = theme6;
39958
+
39959
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/select/theme.js
39960
+ var theme7 = {
39961
+ styles: {
39962
+ container: () => ({
39963
+ flexDirection: "column"
39964
+ }),
39965
+ option: ({ isFocused }) => ({
39966
+ gap: 1,
39967
+ paddingLeft: isFocused ? 0 : 2
39968
+ }),
39969
+ selectedIndicator: () => ({
39970
+ color: "green"
39971
+ }),
39972
+ focusIndicator: () => ({
39973
+ color: "blue"
39974
+ }),
39975
+ label({ isFocused, isSelected }) {
39976
+ let color;
39977
+ if (isSelected) {
39978
+ color = "green";
39979
+ }
39980
+ if (isFocused) {
39981
+ color = "blue";
39982
+ }
39983
+ return { color };
39984
+ },
39985
+ highlightedText: () => ({
39986
+ bold: true
39987
+ })
39988
+ }
39989
+ };
39990
+ var theme_default7 = theme7;
39991
+
39992
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/spinner/theme.js
39993
+ var theme8 = {
39994
+ styles: {
39995
+ container: () => ({
39996
+ gap: 1
39997
+ }),
39998
+ frame: () => ({
39999
+ color: "blue"
40000
+ }),
40001
+ label: () => ({})
40002
+ }
40003
+ };
40004
+ var theme_default8 = theme8;
40005
+
40006
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/status-message/theme.js
40007
+ var colorByVariant2 = {
40008
+ success: "green",
40009
+ error: "red",
40010
+ warning: "yellow",
40011
+ info: "blue"
40012
+ };
40013
+ var iconByVariant = {
40014
+ success: figures_default.tick,
40015
+ error: figures_default.cross,
40016
+ warning: figures_default.warning,
40017
+ info: figures_default.info
40018
+ };
40019
+ var theme9 = {
40020
+ styles: {
40021
+ container: () => ({
40022
+ gap: 1
40023
+ }),
40024
+ iconContainer: () => ({
40025
+ flexShrink: 0
40026
+ }),
40027
+ icon: ({ variant }) => ({
40028
+ color: colorByVariant2[variant]
40029
+ }),
40030
+ message: () => ({})
40031
+ },
40032
+ config: ({ variant }) => ({
40033
+ icon: iconByVariant[variant]
40034
+ })
40035
+ };
40036
+ var theme_default9 = theme9;
40037
+
40038
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/unordered-list/theme.js
40039
+ var theme10 = {
40040
+ styles: {
40041
+ list: () => ({
40042
+ flexDirection: "column"
40043
+ }),
40044
+ listItem: () => ({
40045
+ gap: 1
40046
+ }),
40047
+ marker: () => ({
40048
+ dimColor: true
40049
+ }),
40050
+ content: () => ({
40051
+ flexDirection: "column"
40052
+ })
40053
+ },
40054
+ config: () => ({
40055
+ marker: figures_default.line
40056
+ })
40057
+ };
40058
+ var theme_default10 = theme10;
40059
+
40060
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/text-input/theme.js
40061
+ var theme11 = {
40062
+ styles: {
40063
+ value: () => ({})
40064
+ }
40065
+ };
40066
+ var theme_default11 = theme11;
40067
+
40068
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/email-input/theme.js
40069
+ var theme12 = {
40070
+ styles: {
40071
+ value: () => ({})
40072
+ }
40073
+ };
40074
+ var theme_default12 = theme12;
40075
+
40076
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/password-input/theme.js
40077
+ var theme13 = {
40078
+ styles: {
40079
+ value: () => ({})
40080
+ }
40081
+ };
40082
+ var theme_default13 = theme13;
40083
+
40084
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/theme.js
40085
+ var defaultTheme = {
40086
+ components: {
40087
+ Alert: theme_default,
40088
+ Badge: theme_default2,
40089
+ ConfirmInput: theme_default3,
40090
+ MultiSelect: theme_default4,
40091
+ OrderedList: theme_default5,
40092
+ ProgressBar: theme_default6,
40093
+ Select: theme_default7,
40094
+ Spinner: theme_default8,
40095
+ StatusMessage: theme_default9,
40096
+ UnorderedList: theme_default10,
40097
+ TextInput: theme_default11,
40098
+ EmailInput: theme_default12,
40099
+ PasswordInput: theme_default13
40100
+ }
40101
+ };
40102
+ var ThemeContext = (0, import_react29.createContext)(defaultTheme);
40103
+ var useComponentTheme = (component) => {
40104
+ const theme14 = (0, import_react29.useContext)(ThemeContext);
40105
+ return theme14.components[component];
40106
+ };
40107
+
40108
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/confirm-input/confirm-input.js
40109
+ var import_react31 = __toESM(require_react(), 1);
40110
+
40111
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/unordered-list/unordered-list.js
40112
+ var import_react35 = __toESM(require_react(), 1);
40113
+
40114
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/unordered-list/unordered-list-item.js
40115
+ var import_react33 = __toESM(require_react(), 1);
40116
+
40117
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/unordered-list/unordered-list-item-context.js
40118
+ var import_react32 = __toESM(require_react(), 1);
40119
+
40120
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/unordered-list/constants.js
40121
+ var defaultMarker = figures_default.line;
40122
+
40123
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/unordered-list/unordered-list-item-context.js
40124
+ var UnorderedListItemContext = (0, import_react32.createContext)({
40125
+ marker: defaultMarker
40126
+ });
40127
+
40128
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/unordered-list/unordered-list-item.js
40129
+ function UnorderedListItem({ children }) {
40130
+ const { marker } = (0, import_react33.useContext)(UnorderedListItemContext);
40131
+ const { styles: styles5 } = useComponentTheme("UnorderedList");
40132
+ return import_react33.default.createElement(
40133
+ Box_default,
40134
+ { ...styles5.listItem() },
40135
+ import_react33.default.createElement(Text, { ...styles5.marker() }, marker),
40136
+ import_react33.default.createElement(Box_default, { ...styles5.content() }, children)
40137
+ );
40138
+ }
40139
+
40140
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/unordered-list/unordered-list-context.js
40141
+ var import_react34 = __toESM(require_react(), 1);
40142
+ var UnorderedListContext = (0, import_react34.createContext)({
40143
+ depth: 0
40144
+ });
40145
+
40146
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/unordered-list/unordered-list.js
40147
+ function UnorderedList({ children }) {
40148
+ const { depth } = (0, import_react35.useContext)(UnorderedListContext);
40149
+ const { styles: styles5, config } = useComponentTheme("UnorderedList");
40150
+ const listContext = (0, import_react35.useMemo)(() => ({
40151
+ depth: depth + 1
40152
+ }), [depth]);
40153
+ const listItemContext = (0, import_react35.useMemo)(() => {
40154
+ const { marker } = config();
40155
+ if (typeof marker === "string") {
40156
+ return { marker };
40157
+ }
40158
+ if (Array.isArray(marker)) {
40159
+ return {
40160
+ marker: marker[depth] ?? marker.at(-1) ?? defaultMarker
40161
+ };
40162
+ }
40163
+ return {
40164
+ marker: defaultMarker
40165
+ };
40166
+ }, [config, depth]);
40167
+ return import_react35.default.createElement(
40168
+ UnorderedListContext.Provider,
40169
+ { value: listContext },
40170
+ import_react35.default.createElement(
40171
+ UnorderedListItemContext.Provider,
40172
+ { value: listItemContext },
40173
+ import_react35.default.createElement(Box_default, { ...styles5.list() }, children)
40174
+ )
40175
+ );
40176
+ }
40177
+ UnorderedList.Item = UnorderedListItem;
40178
+
40179
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/multi-select/multi-select.js
40180
+ var import_react38 = __toESM(require_react(), 1);
40181
+
40182
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/multi-select/multi-select-option.js
40183
+ var import_react36 = __toESM(require_react(), 1);
40184
+
40185
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/multi-select/use-multi-select-state.js
40186
+ var import_react37 = __toESM(require_react(), 1);
40187
+
40188
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/progress-bar/progress-bar.js
40189
+ var import_react39 = __toESM(require_react(), 1);
40190
+
40191
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/select/select.js
40192
+ var import_react42 = __toESM(require_react(), 1);
40193
+
40194
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/select/select-option.js
40195
+ var import_react40 = __toESM(require_react(), 1);
40196
+
40197
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/select/use-select-state.js
40198
+ var import_react41 = __toESM(require_react(), 1);
40199
+
40200
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/spinner/spinner.js
40201
+ var import_react44 = __toESM(require_react(), 1);
40202
+
40203
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/spinner/use-spinner.js
40204
+ var import_react43 = __toESM(require_react(), 1);
40205
+
40206
+ // ../../node_modules/.bun/cli-spinners@3.4.0/node_modules/cli-spinners/spinners.json
40207
+ var spinners_default = {
40208
+ dots: {
40209
+ interval: 80,
40210
+ frames: [
40211
+ "\u280B",
40212
+ "\u2819",
40213
+ "\u2839",
40214
+ "\u2838",
40215
+ "\u283C",
40216
+ "\u2834",
40217
+ "\u2826",
40218
+ "\u2827",
40219
+ "\u2807",
40220
+ "\u280F"
40221
+ ]
40222
+ },
40223
+ dots2: {
40224
+ interval: 80,
40225
+ frames: [
40226
+ "\u28FE",
40227
+ "\u28FD",
40228
+ "\u28FB",
40229
+ "\u28BF",
40230
+ "\u287F",
40231
+ "\u28DF",
40232
+ "\u28EF",
40233
+ "\u28F7"
40234
+ ]
40235
+ },
40236
+ dots3: {
40237
+ interval: 80,
40238
+ frames: [
40239
+ "\u280B",
40240
+ "\u2819",
40241
+ "\u281A",
40242
+ "\u281E",
40243
+ "\u2816",
40244
+ "\u2826",
40245
+ "\u2834",
40246
+ "\u2832",
40247
+ "\u2833",
40248
+ "\u2813"
40249
+ ]
40250
+ },
40251
+ dots4: {
40252
+ interval: 80,
40253
+ frames: [
40254
+ "\u2804",
40255
+ "\u2806",
40256
+ "\u2807",
40257
+ "\u280B",
40258
+ "\u2819",
40259
+ "\u2838",
40260
+ "\u2830",
40261
+ "\u2820",
40262
+ "\u2830",
40263
+ "\u2838",
40264
+ "\u2819",
40265
+ "\u280B",
40266
+ "\u2807",
40267
+ "\u2806"
40268
+ ]
40269
+ },
40270
+ dots5: {
40271
+ interval: 80,
40272
+ frames: [
40273
+ "\u280B",
40274
+ "\u2819",
40275
+ "\u281A",
40276
+ "\u2812",
40277
+ "\u2802",
40278
+ "\u2802",
40279
+ "\u2812",
40280
+ "\u2832",
40281
+ "\u2834",
40282
+ "\u2826",
40283
+ "\u2816",
40284
+ "\u2812",
40285
+ "\u2810",
40286
+ "\u2810",
40287
+ "\u2812",
40288
+ "\u2813",
40289
+ "\u280B"
40290
+ ]
40291
+ },
40292
+ dots6: {
40293
+ interval: 80,
40294
+ frames: [
40295
+ "\u2801",
40296
+ "\u2809",
40297
+ "\u2819",
40298
+ "\u281A",
40299
+ "\u2812",
40300
+ "\u2802",
40301
+ "\u2802",
40302
+ "\u2812",
40303
+ "\u2832",
40304
+ "\u2834",
40305
+ "\u2824",
40306
+ "\u2804",
40307
+ "\u2804",
40308
+ "\u2824",
40309
+ "\u2834",
40310
+ "\u2832",
40311
+ "\u2812",
40312
+ "\u2802",
40313
+ "\u2802",
40314
+ "\u2812",
40315
+ "\u281A",
40316
+ "\u2819",
40317
+ "\u2809",
40318
+ "\u2801"
40319
+ ]
40320
+ },
40321
+ dots7: {
40322
+ interval: 80,
40323
+ frames: [
40324
+ "\u2808",
40325
+ "\u2809",
40326
+ "\u280B",
40327
+ "\u2813",
40328
+ "\u2812",
40329
+ "\u2810",
40330
+ "\u2810",
40331
+ "\u2812",
40332
+ "\u2816",
40333
+ "\u2826",
40334
+ "\u2824",
40335
+ "\u2820",
40336
+ "\u2820",
40337
+ "\u2824",
40338
+ "\u2826",
40339
+ "\u2816",
40340
+ "\u2812",
40341
+ "\u2810",
40342
+ "\u2810",
40343
+ "\u2812",
40344
+ "\u2813",
40345
+ "\u280B",
40346
+ "\u2809",
40347
+ "\u2808"
40348
+ ]
40349
+ },
40350
+ dots8: {
40351
+ interval: 80,
40352
+ frames: [
40353
+ "\u2801",
40354
+ "\u2801",
40355
+ "\u2809",
40356
+ "\u2819",
40357
+ "\u281A",
40358
+ "\u2812",
40359
+ "\u2802",
40360
+ "\u2802",
40361
+ "\u2812",
40362
+ "\u2832",
40363
+ "\u2834",
40364
+ "\u2824",
40365
+ "\u2804",
40366
+ "\u2804",
40367
+ "\u2824",
40368
+ "\u2820",
40369
+ "\u2820",
40370
+ "\u2824",
40371
+ "\u2826",
40372
+ "\u2816",
40373
+ "\u2812",
40374
+ "\u2810",
40375
+ "\u2810",
40376
+ "\u2812",
40377
+ "\u2813",
40378
+ "\u280B",
40379
+ "\u2809",
40380
+ "\u2808",
40381
+ "\u2808"
40382
+ ]
40383
+ },
40384
+ dots9: {
40385
+ interval: 80,
40386
+ frames: [
40387
+ "\u28B9",
40388
+ "\u28BA",
40389
+ "\u28BC",
40390
+ "\u28F8",
40391
+ "\u28C7",
40392
+ "\u2867",
40393
+ "\u2857",
40394
+ "\u284F"
40395
+ ]
40396
+ },
40397
+ dots10: {
40398
+ interval: 80,
40399
+ frames: [
40400
+ "\u2884",
40401
+ "\u2882",
40402
+ "\u2881",
40403
+ "\u2841",
40404
+ "\u2848",
40405
+ "\u2850",
40406
+ "\u2860"
40407
+ ]
40408
+ },
40409
+ dots11: {
40410
+ interval: 100,
40411
+ frames: [
40412
+ "\u2801",
40413
+ "\u2802",
40414
+ "\u2804",
40415
+ "\u2840",
40416
+ "\u2880",
40417
+ "\u2820",
40418
+ "\u2810",
40419
+ "\u2808"
40420
+ ]
40421
+ },
40422
+ dots12: {
40423
+ interval: 80,
40424
+ frames: [
40425
+ "\u2880\u2800",
40426
+ "\u2840\u2800",
40427
+ "\u2804\u2800",
40428
+ "\u2882\u2800",
40429
+ "\u2842\u2800",
40430
+ "\u2805\u2800",
40431
+ "\u2883\u2800",
40432
+ "\u2843\u2800",
40433
+ "\u280D\u2800",
40434
+ "\u288B\u2800",
40435
+ "\u284B\u2800",
40436
+ "\u280D\u2801",
40437
+ "\u288B\u2801",
40438
+ "\u284B\u2801",
40439
+ "\u280D\u2809",
40440
+ "\u280B\u2809",
40441
+ "\u280B\u2809",
40442
+ "\u2809\u2819",
40443
+ "\u2809\u2819",
40444
+ "\u2809\u2829",
40445
+ "\u2808\u2899",
40446
+ "\u2808\u2859",
40447
+ "\u2888\u2829",
40448
+ "\u2840\u2899",
40449
+ "\u2804\u2859",
40450
+ "\u2882\u2829",
40451
+ "\u2842\u2898",
40452
+ "\u2805\u2858",
40453
+ "\u2883\u2828",
40454
+ "\u2843\u2890",
40455
+ "\u280D\u2850",
40456
+ "\u288B\u2820",
40457
+ "\u284B\u2880",
40458
+ "\u280D\u2841",
40459
+ "\u288B\u2801",
40460
+ "\u284B\u2801",
40461
+ "\u280D\u2809",
40462
+ "\u280B\u2809",
40463
+ "\u280B\u2809",
40464
+ "\u2809\u2819",
40465
+ "\u2809\u2819",
40466
+ "\u2809\u2829",
40467
+ "\u2808\u2899",
40468
+ "\u2808\u2859",
40469
+ "\u2808\u2829",
40470
+ "\u2800\u2899",
40471
+ "\u2800\u2859",
40472
+ "\u2800\u2829",
40473
+ "\u2800\u2898",
40474
+ "\u2800\u2858",
40475
+ "\u2800\u2828",
40476
+ "\u2800\u2890",
40477
+ "\u2800\u2850",
40478
+ "\u2800\u2820",
40479
+ "\u2800\u2880",
40480
+ "\u2800\u2840"
40481
+ ]
40482
+ },
40483
+ dots13: {
40484
+ interval: 80,
40485
+ frames: [
40486
+ "\u28FC",
40487
+ "\u28F9",
40488
+ "\u28BB",
40489
+ "\u283F",
40490
+ "\u285F",
40491
+ "\u28CF",
40492
+ "\u28E7",
40493
+ "\u28F6"
40494
+ ]
40495
+ },
40496
+ dots14: {
40497
+ interval: 80,
40498
+ frames: [
40499
+ "\u2809\u2809",
40500
+ "\u2808\u2819",
40501
+ "\u2800\u2839",
40502
+ "\u2800\u28B8",
40503
+ "\u2800\u28F0",
40504
+ "\u2880\u28E0",
40505
+ "\u28C0\u28C0",
40506
+ "\u28C4\u2840",
40507
+ "\u28C6\u2800",
40508
+ "\u2847\u2800",
40509
+ "\u280F\u2800",
40510
+ "\u280B\u2801"
40511
+ ]
40512
+ },
40513
+ dots8Bit: {
40514
+ interval: 80,
40515
+ frames: [
40516
+ "\u2800",
40517
+ "\u2801",
40518
+ "\u2802",
40519
+ "\u2803",
40520
+ "\u2804",
40521
+ "\u2805",
40522
+ "\u2806",
40523
+ "\u2807",
40524
+ "\u2840",
40525
+ "\u2841",
40526
+ "\u2842",
40527
+ "\u2843",
40528
+ "\u2844",
40529
+ "\u2845",
40530
+ "\u2846",
40531
+ "\u2847",
40532
+ "\u2808",
40533
+ "\u2809",
40534
+ "\u280A",
40535
+ "\u280B",
40536
+ "\u280C",
40537
+ "\u280D",
40538
+ "\u280E",
40539
+ "\u280F",
40540
+ "\u2848",
40541
+ "\u2849",
40542
+ "\u284A",
40543
+ "\u284B",
40544
+ "\u284C",
40545
+ "\u284D",
40546
+ "\u284E",
40547
+ "\u284F",
40548
+ "\u2810",
40549
+ "\u2811",
40550
+ "\u2812",
40551
+ "\u2813",
40552
+ "\u2814",
40553
+ "\u2815",
40554
+ "\u2816",
40555
+ "\u2817",
40556
+ "\u2850",
40557
+ "\u2851",
40558
+ "\u2852",
40559
+ "\u2853",
40560
+ "\u2854",
40561
+ "\u2855",
40562
+ "\u2856",
40563
+ "\u2857",
40564
+ "\u2818",
40565
+ "\u2819",
40566
+ "\u281A",
40567
+ "\u281B",
40568
+ "\u281C",
40569
+ "\u281D",
40570
+ "\u281E",
40571
+ "\u281F",
40572
+ "\u2858",
40573
+ "\u2859",
40574
+ "\u285A",
40575
+ "\u285B",
40576
+ "\u285C",
40577
+ "\u285D",
40578
+ "\u285E",
40579
+ "\u285F",
40580
+ "\u2820",
40581
+ "\u2821",
40582
+ "\u2822",
40583
+ "\u2823",
40584
+ "\u2824",
40585
+ "\u2825",
40586
+ "\u2826",
40587
+ "\u2827",
40588
+ "\u2860",
40589
+ "\u2861",
40590
+ "\u2862",
40591
+ "\u2863",
40592
+ "\u2864",
40593
+ "\u2865",
40594
+ "\u2866",
40595
+ "\u2867",
40596
+ "\u2828",
40597
+ "\u2829",
40598
+ "\u282A",
40599
+ "\u282B",
40600
+ "\u282C",
40601
+ "\u282D",
40602
+ "\u282E",
40603
+ "\u282F",
40604
+ "\u2868",
40605
+ "\u2869",
40606
+ "\u286A",
40607
+ "\u286B",
40608
+ "\u286C",
40609
+ "\u286D",
40610
+ "\u286E",
40611
+ "\u286F",
40612
+ "\u2830",
40613
+ "\u2831",
40614
+ "\u2832",
40615
+ "\u2833",
40616
+ "\u2834",
40617
+ "\u2835",
40618
+ "\u2836",
40619
+ "\u2837",
40620
+ "\u2870",
40621
+ "\u2871",
40622
+ "\u2872",
40623
+ "\u2873",
40624
+ "\u2874",
40625
+ "\u2875",
40626
+ "\u2876",
40627
+ "\u2877",
40628
+ "\u2838",
40629
+ "\u2839",
40630
+ "\u283A",
40631
+ "\u283B",
40632
+ "\u283C",
40633
+ "\u283D",
40634
+ "\u283E",
40635
+ "\u283F",
40636
+ "\u2878",
40637
+ "\u2879",
40638
+ "\u287A",
40639
+ "\u287B",
40640
+ "\u287C",
40641
+ "\u287D",
40642
+ "\u287E",
40643
+ "\u287F",
40644
+ "\u2880",
40645
+ "\u2881",
40646
+ "\u2882",
40647
+ "\u2883",
40648
+ "\u2884",
40649
+ "\u2885",
40650
+ "\u2886",
40651
+ "\u2887",
40652
+ "\u28C0",
40653
+ "\u28C1",
40654
+ "\u28C2",
40655
+ "\u28C3",
40656
+ "\u28C4",
40657
+ "\u28C5",
40658
+ "\u28C6",
40659
+ "\u28C7",
40660
+ "\u2888",
40661
+ "\u2889",
40662
+ "\u288A",
40663
+ "\u288B",
40664
+ "\u288C",
40665
+ "\u288D",
40666
+ "\u288E",
40667
+ "\u288F",
40668
+ "\u28C8",
40669
+ "\u28C9",
40670
+ "\u28CA",
40671
+ "\u28CB",
40672
+ "\u28CC",
40673
+ "\u28CD",
40674
+ "\u28CE",
40675
+ "\u28CF",
40676
+ "\u2890",
40677
+ "\u2891",
40678
+ "\u2892",
40679
+ "\u2893",
40680
+ "\u2894",
40681
+ "\u2895",
40682
+ "\u2896",
40683
+ "\u2897",
40684
+ "\u28D0",
40685
+ "\u28D1",
40686
+ "\u28D2",
40687
+ "\u28D3",
40688
+ "\u28D4",
40689
+ "\u28D5",
40690
+ "\u28D6",
40691
+ "\u28D7",
40692
+ "\u2898",
40693
+ "\u2899",
40694
+ "\u289A",
40695
+ "\u289B",
40696
+ "\u289C",
40697
+ "\u289D",
40698
+ "\u289E",
40699
+ "\u289F",
40700
+ "\u28D8",
40701
+ "\u28D9",
40702
+ "\u28DA",
40703
+ "\u28DB",
40704
+ "\u28DC",
40705
+ "\u28DD",
40706
+ "\u28DE",
40707
+ "\u28DF",
40708
+ "\u28A0",
40709
+ "\u28A1",
40710
+ "\u28A2",
40711
+ "\u28A3",
40712
+ "\u28A4",
40713
+ "\u28A5",
40714
+ "\u28A6",
40715
+ "\u28A7",
40716
+ "\u28E0",
40717
+ "\u28E1",
40718
+ "\u28E2",
40719
+ "\u28E3",
40720
+ "\u28E4",
40721
+ "\u28E5",
40722
+ "\u28E6",
40723
+ "\u28E7",
40724
+ "\u28A8",
40725
+ "\u28A9",
40726
+ "\u28AA",
40727
+ "\u28AB",
40728
+ "\u28AC",
40729
+ "\u28AD",
40730
+ "\u28AE",
40731
+ "\u28AF",
40732
+ "\u28E8",
40733
+ "\u28E9",
40734
+ "\u28EA",
40735
+ "\u28EB",
40736
+ "\u28EC",
40737
+ "\u28ED",
40738
+ "\u28EE",
40739
+ "\u28EF",
40740
+ "\u28B0",
40741
+ "\u28B1",
40742
+ "\u28B2",
40743
+ "\u28B3",
40744
+ "\u28B4",
40745
+ "\u28B5",
40746
+ "\u28B6",
40747
+ "\u28B7",
40748
+ "\u28F0",
40749
+ "\u28F1",
40750
+ "\u28F2",
40751
+ "\u28F3",
40752
+ "\u28F4",
40753
+ "\u28F5",
40754
+ "\u28F6",
40755
+ "\u28F7",
40756
+ "\u28B8",
40757
+ "\u28B9",
40758
+ "\u28BA",
40759
+ "\u28BB",
40760
+ "\u28BC",
40761
+ "\u28BD",
40762
+ "\u28BE",
40763
+ "\u28BF",
40764
+ "\u28F8",
40765
+ "\u28F9",
40766
+ "\u28FA",
40767
+ "\u28FB",
40768
+ "\u28FC",
40769
+ "\u28FD",
40770
+ "\u28FE",
40771
+ "\u28FF"
40772
+ ]
40773
+ },
40774
+ dotsCircle: {
40775
+ interval: 80,
40776
+ frames: [
40777
+ "\u288E ",
40778
+ "\u280E\u2801",
40779
+ "\u280A\u2811",
40780
+ "\u2808\u2831",
40781
+ " \u2871",
40782
+ "\u2880\u2870",
40783
+ "\u2884\u2860",
40784
+ "\u2886\u2840"
40785
+ ]
40786
+ },
40787
+ sand: {
40788
+ interval: 80,
40789
+ frames: [
40790
+ "\u2801",
40791
+ "\u2802",
40792
+ "\u2804",
40793
+ "\u2840",
40794
+ "\u2848",
40795
+ "\u2850",
40796
+ "\u2860",
40797
+ "\u28C0",
40798
+ "\u28C1",
40799
+ "\u28C2",
40800
+ "\u28C4",
40801
+ "\u28CC",
40802
+ "\u28D4",
40803
+ "\u28E4",
40804
+ "\u28E5",
40805
+ "\u28E6",
40806
+ "\u28EE",
40807
+ "\u28F6",
40808
+ "\u28F7",
40809
+ "\u28FF",
40810
+ "\u287F",
40811
+ "\u283F",
40812
+ "\u289F",
40813
+ "\u281F",
40814
+ "\u285B",
40815
+ "\u281B",
40816
+ "\u282B",
40817
+ "\u288B",
40818
+ "\u280B",
40819
+ "\u280D",
40820
+ "\u2849",
40821
+ "\u2809",
40822
+ "\u2811",
40823
+ "\u2821",
40824
+ "\u2881"
40825
+ ]
40826
+ },
40827
+ line: {
40828
+ interval: 130,
40829
+ frames: [
40830
+ "-",
40831
+ "\\",
40832
+ "|",
40833
+ "/"
40834
+ ]
40835
+ },
40836
+ line2: {
40837
+ interval: 100,
40838
+ frames: [
40839
+ "\u2802",
40840
+ "-",
40841
+ "\u2013",
40842
+ "\u2014",
40843
+ "\u2013",
40844
+ "-"
40845
+ ]
40846
+ },
40847
+ rollingLine: {
40848
+ interval: 80,
40849
+ frames: [
40850
+ "/ ",
40851
+ " - ",
40852
+ " \\ ",
40853
+ " |",
40854
+ " |",
40855
+ " \\ ",
40856
+ " - ",
40857
+ "/ "
40858
+ ]
40859
+ },
40860
+ pipe: {
40861
+ interval: 100,
40862
+ frames: [
40863
+ "\u2524",
40864
+ "\u2518",
40865
+ "\u2534",
40866
+ "\u2514",
40867
+ "\u251C",
40868
+ "\u250C",
40869
+ "\u252C",
40870
+ "\u2510"
40871
+ ]
40872
+ },
40873
+ simpleDots: {
40874
+ interval: 400,
40875
+ frames: [
40876
+ ". ",
40877
+ ".. ",
40878
+ "...",
40879
+ " "
40880
+ ]
40881
+ },
40882
+ simpleDotsScrolling: {
40883
+ interval: 200,
40884
+ frames: [
40885
+ ". ",
40886
+ ".. ",
40887
+ "...",
40888
+ " ..",
40889
+ " .",
40890
+ " "
40891
+ ]
40892
+ },
40893
+ star: {
40894
+ interval: 70,
40895
+ frames: [
40896
+ "\u2736",
40897
+ "\u2738",
40898
+ "\u2739",
40899
+ "\u273A",
40900
+ "\u2739",
40901
+ "\u2737"
40902
+ ]
40903
+ },
40904
+ star2: {
40905
+ interval: 80,
40906
+ frames: [
40907
+ "+",
40908
+ "x",
40909
+ "*"
40910
+ ]
40911
+ },
40912
+ flip: {
40913
+ interval: 70,
40914
+ frames: [
40915
+ "_",
40916
+ "_",
40917
+ "_",
40918
+ "-",
40919
+ "`",
40920
+ "`",
40921
+ "'",
40922
+ "\xB4",
40923
+ "-",
40924
+ "_",
40925
+ "_",
40926
+ "_"
40927
+ ]
40928
+ },
40929
+ hamburger: {
40930
+ interval: 100,
40931
+ frames: [
40932
+ "\u2631",
40933
+ "\u2632",
40934
+ "\u2634"
40935
+ ]
40936
+ },
40937
+ growVertical: {
40938
+ interval: 120,
40939
+ frames: [
40940
+ "\u2581",
40941
+ "\u2583",
40942
+ "\u2584",
40943
+ "\u2585",
40944
+ "\u2586",
40945
+ "\u2587",
40946
+ "\u2586",
40947
+ "\u2585",
40948
+ "\u2584",
40949
+ "\u2583"
40950
+ ]
40951
+ },
40952
+ growHorizontal: {
40953
+ interval: 120,
40954
+ frames: [
40955
+ "\u258F",
40956
+ "\u258E",
40957
+ "\u258D",
40958
+ "\u258C",
40959
+ "\u258B",
40960
+ "\u258A",
40961
+ "\u2589",
40962
+ "\u258A",
40963
+ "\u258B",
40964
+ "\u258C",
40965
+ "\u258D",
40966
+ "\u258E"
40967
+ ]
40968
+ },
40969
+ balloon: {
40970
+ interval: 140,
40971
+ frames: [
40972
+ " ",
40973
+ ".",
40974
+ "o",
40975
+ "O",
40976
+ "@",
40977
+ "*",
40978
+ " "
40979
+ ]
40980
+ },
40981
+ balloon2: {
40982
+ interval: 120,
40983
+ frames: [
40984
+ ".",
40985
+ "o",
40986
+ "O",
40987
+ "\xB0",
40988
+ "O",
40989
+ "o",
40990
+ "."
40991
+ ]
40992
+ },
40993
+ noise: {
40994
+ interval: 100,
40995
+ frames: [
40996
+ "\u2593",
40997
+ "\u2592",
40998
+ "\u2591"
40999
+ ]
41000
+ },
41001
+ bounce: {
41002
+ interval: 120,
41003
+ frames: [
41004
+ "\u2801",
41005
+ "\u2802",
41006
+ "\u2804",
41007
+ "\u2802"
41008
+ ]
41009
+ },
41010
+ boxBounce: {
41011
+ interval: 120,
41012
+ frames: [
41013
+ "\u2596",
41014
+ "\u2598",
41015
+ "\u259D",
41016
+ "\u2597"
41017
+ ]
41018
+ },
41019
+ boxBounce2: {
41020
+ interval: 100,
41021
+ frames: [
41022
+ "\u258C",
41023
+ "\u2580",
41024
+ "\u2590",
41025
+ "\u2584"
41026
+ ]
41027
+ },
41028
+ triangle: {
41029
+ interval: 50,
41030
+ frames: [
41031
+ "\u25E2",
41032
+ "\u25E3",
41033
+ "\u25E4",
41034
+ "\u25E5"
41035
+ ]
41036
+ },
41037
+ binary: {
41038
+ interval: 80,
41039
+ frames: [
41040
+ "010010",
41041
+ "001100",
41042
+ "100101",
41043
+ "111010",
41044
+ "111101",
41045
+ "010111",
41046
+ "101011",
41047
+ "111000",
41048
+ "110011",
41049
+ "110101"
41050
+ ]
41051
+ },
41052
+ arc: {
41053
+ interval: 100,
41054
+ frames: [
41055
+ "\u25DC",
41056
+ "\u25E0",
41057
+ "\u25DD",
41058
+ "\u25DE",
41059
+ "\u25E1",
41060
+ "\u25DF"
41061
+ ]
41062
+ },
41063
+ circle: {
41064
+ interval: 120,
41065
+ frames: [
41066
+ "\u25E1",
41067
+ "\u2299",
41068
+ "\u25E0"
41069
+ ]
41070
+ },
41071
+ squareCorners: {
41072
+ interval: 180,
41073
+ frames: [
41074
+ "\u25F0",
41075
+ "\u25F3",
41076
+ "\u25F2",
41077
+ "\u25F1"
41078
+ ]
41079
+ },
41080
+ circleQuarters: {
41081
+ interval: 120,
41082
+ frames: [
41083
+ "\u25F4",
41084
+ "\u25F7",
41085
+ "\u25F6",
41086
+ "\u25F5"
41087
+ ]
41088
+ },
41089
+ circleHalves: {
41090
+ interval: 50,
41091
+ frames: [
41092
+ "\u25D0",
41093
+ "\u25D3",
41094
+ "\u25D1",
41095
+ "\u25D2"
41096
+ ]
41097
+ },
41098
+ squish: {
41099
+ interval: 100,
41100
+ frames: [
41101
+ "\u256B",
41102
+ "\u256A"
41103
+ ]
41104
+ },
41105
+ toggle: {
41106
+ interval: 250,
41107
+ frames: [
41108
+ "\u22B6",
41109
+ "\u22B7"
41110
+ ]
41111
+ },
41112
+ toggle2: {
41113
+ interval: 80,
41114
+ frames: [
41115
+ "\u25AB",
41116
+ "\u25AA"
41117
+ ]
41118
+ },
41119
+ toggle3: {
41120
+ interval: 120,
41121
+ frames: [
41122
+ "\u25A1",
41123
+ "\u25A0"
41124
+ ]
41125
+ },
41126
+ toggle4: {
41127
+ interval: 100,
41128
+ frames: [
41129
+ "\u25A0",
41130
+ "\u25A1",
41131
+ "\u25AA",
41132
+ "\u25AB"
41133
+ ]
41134
+ },
41135
+ toggle5: {
41136
+ interval: 100,
41137
+ frames: [
41138
+ "\u25AE",
41139
+ "\u25AF"
41140
+ ]
41141
+ },
41142
+ toggle6: {
41143
+ interval: 300,
41144
+ frames: [
41145
+ "\u101D",
41146
+ "\u1040"
41147
+ ]
41148
+ },
41149
+ toggle7: {
41150
+ interval: 80,
41151
+ frames: [
41152
+ "\u29BE",
41153
+ "\u29BF"
41154
+ ]
41155
+ },
41156
+ toggle8: {
41157
+ interval: 100,
41158
+ frames: [
41159
+ "\u25CD",
41160
+ "\u25CC"
41161
+ ]
41162
+ },
41163
+ toggle9: {
41164
+ interval: 100,
41165
+ frames: [
41166
+ "\u25C9",
41167
+ "\u25CE"
41168
+ ]
41169
+ },
41170
+ toggle10: {
41171
+ interval: 100,
41172
+ frames: [
41173
+ "\u3282",
41174
+ "\u3280",
41175
+ "\u3281"
41176
+ ]
41177
+ },
41178
+ toggle11: {
41179
+ interval: 50,
41180
+ frames: [
41181
+ "\u29C7",
41182
+ "\u29C6"
41183
+ ]
41184
+ },
41185
+ toggle12: {
41186
+ interval: 120,
41187
+ frames: [
41188
+ "\u2617",
41189
+ "\u2616"
41190
+ ]
41191
+ },
41192
+ toggle13: {
41193
+ interval: 80,
41194
+ frames: [
41195
+ "=",
41196
+ "*",
41197
+ "-"
41198
+ ]
41199
+ },
41200
+ arrow: {
41201
+ interval: 100,
41202
+ frames: [
41203
+ "\u2190",
41204
+ "\u2196",
41205
+ "\u2191",
41206
+ "\u2197",
41207
+ "\u2192",
41208
+ "\u2198",
41209
+ "\u2193",
41210
+ "\u2199"
41211
+ ]
41212
+ },
41213
+ arrow2: {
41214
+ interval: 80,
41215
+ frames: [
41216
+ "\u2B06\uFE0F ",
41217
+ "\u2197\uFE0F ",
41218
+ "\u27A1\uFE0F ",
41219
+ "\u2198\uFE0F ",
41220
+ "\u2B07\uFE0F ",
41221
+ "\u2199\uFE0F ",
41222
+ "\u2B05\uFE0F ",
41223
+ "\u2196\uFE0F "
41224
+ ]
41225
+ },
41226
+ arrow3: {
41227
+ interval: 120,
41228
+ frames: [
41229
+ "\u25B9\u25B9\u25B9\u25B9\u25B9",
41230
+ "\u25B8\u25B9\u25B9\u25B9\u25B9",
41231
+ "\u25B9\u25B8\u25B9\u25B9\u25B9",
41232
+ "\u25B9\u25B9\u25B8\u25B9\u25B9",
41233
+ "\u25B9\u25B9\u25B9\u25B8\u25B9",
41234
+ "\u25B9\u25B9\u25B9\u25B9\u25B8"
41235
+ ]
41236
+ },
41237
+ bouncingBar: {
41238
+ interval: 80,
41239
+ frames: [
41240
+ "[ ]",
41241
+ "[= ]",
41242
+ "[== ]",
41243
+ "[=== ]",
41244
+ "[====]",
41245
+ "[ ===]",
41246
+ "[ ==]",
41247
+ "[ =]",
41248
+ "[ ]",
41249
+ "[ =]",
41250
+ "[ ==]",
41251
+ "[ ===]",
41252
+ "[====]",
41253
+ "[=== ]",
41254
+ "[== ]",
41255
+ "[= ]"
41256
+ ]
41257
+ },
41258
+ bouncingBall: {
41259
+ interval: 80,
41260
+ frames: [
41261
+ "( \u25CF )",
41262
+ "( \u25CF )",
41263
+ "( \u25CF )",
41264
+ "( \u25CF )",
41265
+ "( \u25CF)",
41266
+ "( \u25CF )",
41267
+ "( \u25CF )",
41268
+ "( \u25CF )",
41269
+ "( \u25CF )",
41270
+ "(\u25CF )"
41271
+ ]
41272
+ },
41273
+ smiley: {
41274
+ interval: 200,
41275
+ frames: [
41276
+ "\u{1F604} ",
41277
+ "\u{1F61D} "
41278
+ ]
41279
+ },
41280
+ monkey: {
41281
+ interval: 300,
41282
+ frames: [
41283
+ "\u{1F648} ",
41284
+ "\u{1F648} ",
41285
+ "\u{1F649} ",
41286
+ "\u{1F64A} "
41287
+ ]
41288
+ },
41289
+ hearts: {
41290
+ interval: 100,
41291
+ frames: [
41292
+ "\u{1F49B} ",
41293
+ "\u{1F499} ",
41294
+ "\u{1F49C} ",
41295
+ "\u{1F49A} ",
41296
+ "\u{1F497} "
41297
+ ]
41298
+ },
41299
+ clock: {
41300
+ interval: 100,
41301
+ frames: [
41302
+ "\u{1F55B} ",
41303
+ "\u{1F550} ",
41304
+ "\u{1F551} ",
41305
+ "\u{1F552} ",
41306
+ "\u{1F553} ",
41307
+ "\u{1F554} ",
41308
+ "\u{1F555} ",
41309
+ "\u{1F556} ",
41310
+ "\u{1F557} ",
41311
+ "\u{1F558} ",
41312
+ "\u{1F559} ",
41313
+ "\u{1F55A} "
41314
+ ]
41315
+ },
41316
+ earth: {
41317
+ interval: 180,
41318
+ frames: [
41319
+ "\u{1F30D} ",
41320
+ "\u{1F30E} ",
41321
+ "\u{1F30F} "
41322
+ ]
41323
+ },
41324
+ material: {
41325
+ interval: 17,
41326
+ frames: [
41327
+ "\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41328
+ "\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41329
+ "\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41330
+ "\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41331
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41332
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41333
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41334
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41335
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41336
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41337
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41338
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41339
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41340
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581",
41341
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581",
41342
+ "\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581",
41343
+ "\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581",
41344
+ "\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581",
41345
+ "\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581",
41346
+ "\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
41347
+ "\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
41348
+ "\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581",
41349
+ "\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581",
41350
+ "\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
41351
+ "\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
41352
+ "\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
41353
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
41354
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
41355
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
41356
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
41357
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
41358
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
41359
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
41360
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
41361
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
41362
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
41363
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
41364
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
41365
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588",
41366
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588",
41367
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588",
41368
+ "\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588",
41369
+ "\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588",
41370
+ "\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588",
41371
+ "\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588",
41372
+ "\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588",
41373
+ "\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
41374
+ "\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
41375
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
41376
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41377
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41378
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41379
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41380
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41381
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41382
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41383
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41384
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581",
41385
+ "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581",
41386
+ "\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581",
41387
+ "\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581",
41388
+ "\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581",
41389
+ "\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
41390
+ "\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
41391
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
41392
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
41393
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
41394
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581",
41395
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581",
41396
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
41397
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
41398
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
41399
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
41400
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
41401
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
41402
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
41403
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588",
41404
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588",
41405
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588",
41406
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588",
41407
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588",
41408
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588",
41409
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588",
41410
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588",
41411
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588",
41412
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
41413
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
41414
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
41415
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41416
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41417
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
41418
+ "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"
41419
+ ]
41420
+ },
41421
+ moon: {
41422
+ interval: 80,
41423
+ frames: [
41424
+ "\u{1F311} ",
41425
+ "\u{1F312} ",
41426
+ "\u{1F313} ",
41427
+ "\u{1F314} ",
41428
+ "\u{1F315} ",
41429
+ "\u{1F316} ",
41430
+ "\u{1F317} ",
41431
+ "\u{1F318} "
41432
+ ]
41433
+ },
41434
+ runner: {
41435
+ interval: 140,
41436
+ frames: [
41437
+ "\u{1F6B6} ",
41438
+ "\u{1F3C3} "
41439
+ ]
41440
+ },
41441
+ pong: {
41442
+ interval: 80,
41443
+ frames: [
41444
+ "\u2590\u2802 \u258C",
41445
+ "\u2590\u2808 \u258C",
41446
+ "\u2590 \u2802 \u258C",
41447
+ "\u2590 \u2820 \u258C",
41448
+ "\u2590 \u2840 \u258C",
41449
+ "\u2590 \u2820 \u258C",
41450
+ "\u2590 \u2802 \u258C",
41451
+ "\u2590 \u2808 \u258C",
41452
+ "\u2590 \u2802 \u258C",
41453
+ "\u2590 \u2820 \u258C",
41454
+ "\u2590 \u2840 \u258C",
41455
+ "\u2590 \u2820 \u258C",
41456
+ "\u2590 \u2802 \u258C",
41457
+ "\u2590 \u2808 \u258C",
41458
+ "\u2590 \u2802\u258C",
41459
+ "\u2590 \u2820\u258C",
41460
+ "\u2590 \u2840\u258C",
41461
+ "\u2590 \u2820 \u258C",
41462
+ "\u2590 \u2802 \u258C",
41463
+ "\u2590 \u2808 \u258C",
41464
+ "\u2590 \u2802 \u258C",
41465
+ "\u2590 \u2820 \u258C",
41466
+ "\u2590 \u2840 \u258C",
41467
+ "\u2590 \u2820 \u258C",
41468
+ "\u2590 \u2802 \u258C",
41469
+ "\u2590 \u2808 \u258C",
41470
+ "\u2590 \u2802 \u258C",
41471
+ "\u2590 \u2820 \u258C",
41472
+ "\u2590 \u2840 \u258C",
41473
+ "\u2590\u2820 \u258C"
41474
+ ]
41475
+ },
41476
+ shark: {
41477
+ interval: 120,
41478
+ frames: [
41479
+ "\u2590|\\____________\u258C",
41480
+ "\u2590_|\\___________\u258C",
41481
+ "\u2590__|\\__________\u258C",
41482
+ "\u2590___|\\_________\u258C",
41483
+ "\u2590____|\\________\u258C",
41484
+ "\u2590_____|\\_______\u258C",
41485
+ "\u2590______|\\______\u258C",
41486
+ "\u2590_______|\\_____\u258C",
41487
+ "\u2590________|\\____\u258C",
41488
+ "\u2590_________|\\___\u258C",
41489
+ "\u2590__________|\\__\u258C",
41490
+ "\u2590___________|\\_\u258C",
41491
+ "\u2590____________|\\\u258C",
41492
+ "\u2590____________/|\u258C",
41493
+ "\u2590___________/|_\u258C",
41494
+ "\u2590__________/|__\u258C",
41495
+ "\u2590_________/|___\u258C",
41496
+ "\u2590________/|____\u258C",
41497
+ "\u2590_______/|_____\u258C",
41498
+ "\u2590______/|______\u258C",
41499
+ "\u2590_____/|_______\u258C",
41500
+ "\u2590____/|________\u258C",
41501
+ "\u2590___/|_________\u258C",
41502
+ "\u2590__/|__________\u258C",
41503
+ "\u2590_/|___________\u258C",
41504
+ "\u2590/|____________\u258C"
41505
+ ]
41506
+ },
41507
+ dqpb: {
41508
+ interval: 100,
41509
+ frames: [
41510
+ "d",
41511
+ "q",
41512
+ "p",
41513
+ "b"
41514
+ ]
41515
+ },
41516
+ weather: {
41517
+ interval: 100,
41518
+ frames: [
41519
+ "\u2600\uFE0F ",
41520
+ "\u2600\uFE0F ",
41521
+ "\u2600\uFE0F ",
41522
+ "\u{1F324} ",
41523
+ "\u26C5\uFE0F ",
41524
+ "\u{1F325} ",
41525
+ "\u2601\uFE0F ",
41526
+ "\u{1F327} ",
41527
+ "\u{1F328} ",
41528
+ "\u{1F327} ",
41529
+ "\u{1F328} ",
41530
+ "\u{1F327} ",
41531
+ "\u{1F328} ",
41532
+ "\u26C8 ",
41533
+ "\u{1F328} ",
41534
+ "\u{1F327} ",
41535
+ "\u{1F328} ",
41536
+ "\u2601\uFE0F ",
41537
+ "\u{1F325} ",
41538
+ "\u26C5\uFE0F ",
41539
+ "\u{1F324} ",
41540
+ "\u2600\uFE0F ",
41541
+ "\u2600\uFE0F "
41542
+ ]
41543
+ },
41544
+ christmas: {
41545
+ interval: 400,
41546
+ frames: [
41547
+ "\u{1F332}",
41548
+ "\u{1F384}"
41549
+ ]
41550
+ },
41551
+ grenade: {
41552
+ interval: 80,
41553
+ frames: [
41554
+ "\u060C ",
41555
+ "\u2032 ",
41556
+ " \xB4 ",
41557
+ " \u203E ",
41558
+ " \u2E0C",
41559
+ " \u2E0A",
41560
+ " |",
41561
+ " \u204E",
41562
+ " \u2055",
41563
+ " \u0DF4 ",
41564
+ " \u2053",
41565
+ " ",
41566
+ " ",
41567
+ " "
41568
+ ]
41569
+ },
41570
+ point: {
41571
+ interval: 125,
41572
+ frames: [
41573
+ "\u2219\u2219\u2219",
41574
+ "\u25CF\u2219\u2219",
41575
+ "\u2219\u25CF\u2219",
41576
+ "\u2219\u2219\u25CF",
41577
+ "\u2219\u2219\u2219"
41578
+ ]
41579
+ },
41580
+ layer: {
41581
+ interval: 150,
41582
+ frames: [
41583
+ "-",
41584
+ "=",
41585
+ "\u2261"
41586
+ ]
41587
+ },
41588
+ betaWave: {
41589
+ interval: 80,
41590
+ frames: [
41591
+ "\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2",
41592
+ "\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2",
41593
+ "\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2",
41594
+ "\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2",
41595
+ "\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2",
41596
+ "\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2",
41597
+ "\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"
41598
+ ]
41599
+ },
41600
+ fingerDance: {
41601
+ interval: 160,
41602
+ frames: [
41603
+ "\u{1F918} ",
41604
+ "\u{1F91F} ",
41605
+ "\u{1F596} ",
41606
+ "\u270B ",
41607
+ "\u{1F91A} ",
41608
+ "\u{1F446} "
41609
+ ]
41610
+ },
41611
+ fistBump: {
41612
+ interval: 80,
41613
+ frames: [
41614
+ "\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ",
41615
+ "\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ",
41616
+ "\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ",
41617
+ "\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ",
41618
+ "\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ",
41619
+ "\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ",
41620
+ "\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "
41621
+ ]
41622
+ },
41623
+ soccerHeader: {
41624
+ interval: 80,
41625
+ frames: [
41626
+ " \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ",
41627
+ "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
41628
+ "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
41629
+ "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
41630
+ "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
41631
+ "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
41632
+ "\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ",
41633
+ "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
41634
+ "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
41635
+ "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
41636
+ "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
41637
+ "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "
41638
+ ]
41639
+ },
41640
+ mindblown: {
41641
+ interval: 160,
41642
+ frames: [
41643
+ "\u{1F610} ",
41644
+ "\u{1F610} ",
41645
+ "\u{1F62E} ",
41646
+ "\u{1F62E} ",
41647
+ "\u{1F626} ",
41648
+ "\u{1F626} ",
41649
+ "\u{1F627} ",
41650
+ "\u{1F627} ",
41651
+ "\u{1F92F} ",
41652
+ "\u{1F4A5} ",
41653
+ "\u2728 ",
41654
+ "\u3000 ",
41655
+ "\u3000 ",
41656
+ "\u3000 "
41657
+ ]
41658
+ },
41659
+ speaker: {
41660
+ interval: 160,
41661
+ frames: [
41662
+ "\u{1F508} ",
41663
+ "\u{1F509} ",
41664
+ "\u{1F50A} ",
41665
+ "\u{1F509} "
41666
+ ]
41667
+ },
41668
+ orangePulse: {
41669
+ interval: 100,
41670
+ frames: [
41671
+ "\u{1F538} ",
41672
+ "\u{1F536} ",
41673
+ "\u{1F7E0} ",
41674
+ "\u{1F7E0} ",
41675
+ "\u{1F536} "
41676
+ ]
41677
+ },
41678
+ bluePulse: {
41679
+ interval: 100,
41680
+ frames: [
41681
+ "\u{1F539} ",
41682
+ "\u{1F537} ",
41683
+ "\u{1F535} ",
41684
+ "\u{1F535} ",
41685
+ "\u{1F537} "
41686
+ ]
41687
+ },
41688
+ orangeBluePulse: {
41689
+ interval: 100,
41690
+ frames: [
41691
+ "\u{1F538} ",
41692
+ "\u{1F536} ",
41693
+ "\u{1F7E0} ",
41694
+ "\u{1F7E0} ",
41695
+ "\u{1F536} ",
41696
+ "\u{1F539} ",
41697
+ "\u{1F537} ",
41698
+ "\u{1F535} ",
41699
+ "\u{1F535} ",
41700
+ "\u{1F537} "
41701
+ ]
41702
+ },
41703
+ timeTravel: {
41704
+ interval: 100,
41705
+ frames: [
41706
+ "\u{1F55B} ",
41707
+ "\u{1F55A} ",
41708
+ "\u{1F559} ",
41709
+ "\u{1F558} ",
41710
+ "\u{1F557} ",
41711
+ "\u{1F556} ",
41712
+ "\u{1F555} ",
41713
+ "\u{1F554} ",
41714
+ "\u{1F553} ",
41715
+ "\u{1F552} ",
41716
+ "\u{1F551} ",
41717
+ "\u{1F550} "
41718
+ ]
41719
+ },
41720
+ aesthetic: {
41721
+ interval: 80,
41722
+ frames: [
41723
+ "\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1",
41724
+ "\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1",
41725
+ "\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1",
41726
+ "\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1",
41727
+ "\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1",
41728
+ "\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1",
41729
+ "\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0",
41730
+ "\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"
41731
+ ]
41732
+ },
41733
+ dwarfFortress: {
41734
+ interval: 80,
41735
+ frames: [
41736
+ " \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41737
+ "\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41738
+ "\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41739
+ "\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41740
+ "\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41741
+ "\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41742
+ "\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41743
+ "\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41744
+ "\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41745
+ "\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41746
+ " \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41747
+ " \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41748
+ " \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41749
+ " \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41750
+ " \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41751
+ " \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41752
+ " \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41753
+ " \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41754
+ " \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41755
+ " \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41756
+ " \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41757
+ " \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 ",
41758
+ " \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 ",
41759
+ " \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 ",
41760
+ " \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 ",
41761
+ " \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 ",
41762
+ " \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 ",
41763
+ " \u263A \u2588\u2588\u2588\xA3\xA3\xA3 ",
41764
+ " \u263A\u2588\u2588\u2588\xA3\xA3\xA3 ",
41765
+ " \u263A\u2588\u2588\u2588\xA3\xA3\xA3 ",
41766
+ " \u263A\u2593\u2588\u2588\xA3\xA3\xA3 ",
41767
+ " \u263A\u2593\u2588\u2588\xA3\xA3\xA3 ",
41768
+ " \u263A\u2592\u2588\u2588\xA3\xA3\xA3 ",
41769
+ " \u263A\u2592\u2588\u2588\xA3\xA3\xA3 ",
41770
+ " \u263A\u2591\u2588\u2588\xA3\xA3\xA3 ",
41771
+ " \u263A\u2591\u2588\u2588\xA3\xA3\xA3 ",
41772
+ " \u263A \u2588\u2588\xA3\xA3\xA3 ",
41773
+ " \u263A\u2588\u2588\xA3\xA3\xA3 ",
41774
+ " \u263A\u2588\u2588\xA3\xA3\xA3 ",
41775
+ " \u263A\u2593\u2588\xA3\xA3\xA3 ",
41776
+ " \u263A\u2593\u2588\xA3\xA3\xA3 ",
41777
+ " \u263A\u2592\u2588\xA3\xA3\xA3 ",
41778
+ " \u263A\u2592\u2588\xA3\xA3\xA3 ",
41779
+ " \u263A\u2591\u2588\xA3\xA3\xA3 ",
41780
+ " \u263A\u2591\u2588\xA3\xA3\xA3 ",
41781
+ " \u263A \u2588\xA3\xA3\xA3 ",
41782
+ " \u263A\u2588\xA3\xA3\xA3 ",
41783
+ " \u263A\u2588\xA3\xA3\xA3 ",
41784
+ " \u263A\u2593\xA3\xA3\xA3 ",
41785
+ " \u263A\u2593\xA3\xA3\xA3 ",
41786
+ " \u263A\u2592\xA3\xA3\xA3 ",
41787
+ " \u263A\u2592\xA3\xA3\xA3 ",
41788
+ " \u263A\u2591\xA3\xA3\xA3 ",
41789
+ " \u263A\u2591\xA3\xA3\xA3 ",
41790
+ " \u263A \xA3\xA3\xA3 ",
41791
+ " \u263A\xA3\xA3\xA3 ",
41792
+ " \u263A\xA3\xA3\xA3 ",
41793
+ " \u263A\u2593\xA3\xA3 ",
41794
+ " \u263A\u2593\xA3\xA3 ",
41795
+ " \u263A\u2592\xA3\xA3 ",
41796
+ " \u263A\u2592\xA3\xA3 ",
41797
+ " \u263A\u2591\xA3\xA3 ",
41798
+ " \u263A\u2591\xA3\xA3 ",
41799
+ " \u263A \xA3\xA3 ",
41800
+ " \u263A\xA3\xA3 ",
41801
+ " \u263A\xA3\xA3 ",
41802
+ " \u263A\u2593\xA3 ",
41803
+ " \u263A\u2593\xA3 ",
41804
+ " \u263A\u2592\xA3 ",
41805
+ " \u263A\u2592\xA3 ",
41806
+ " \u263A\u2591\xA3 ",
41807
+ " \u263A\u2591\xA3 ",
41808
+ " \u263A \xA3 ",
41809
+ " \u263A\xA3 ",
41810
+ " \u263A\xA3 ",
41811
+ " \u263A\u2593 ",
41812
+ " \u263A\u2593 ",
41813
+ " \u263A\u2592 ",
41814
+ " \u263A\u2592 ",
41815
+ " \u263A\u2591 ",
41816
+ " \u263A\u2591 ",
41817
+ " \u263A ",
41818
+ " \u263A &",
41819
+ " \u263A \u263C&",
41820
+ " \u263A \u263C &",
41821
+ " \u263A\u263C &",
41822
+ " \u263A\u263C & ",
41823
+ " \u203C & ",
41824
+ " \u263A & ",
41825
+ " \u203C & ",
41826
+ " \u263A & ",
41827
+ " \u203C & ",
41828
+ " \u263A & ",
41829
+ "\u203C & ",
41830
+ " & ",
41831
+ " & ",
41832
+ " & \u2591 ",
41833
+ " & \u2592 ",
41834
+ " & \u2593 ",
41835
+ " & \xA3 ",
41836
+ " & \u2591\xA3 ",
41837
+ " & \u2592\xA3 ",
41838
+ " & \u2593\xA3 ",
41839
+ " & \xA3\xA3 ",
41840
+ " & \u2591\xA3\xA3 ",
41841
+ " & \u2592\xA3\xA3 ",
41842
+ "& \u2593\xA3\xA3 ",
41843
+ "& \xA3\xA3\xA3 ",
41844
+ " \u2591\xA3\xA3\xA3 ",
41845
+ " \u2592\xA3\xA3\xA3 ",
41846
+ " \u2593\xA3\xA3\xA3 ",
41847
+ " \u2588\xA3\xA3\xA3 ",
41848
+ " \u2591\u2588\xA3\xA3\xA3 ",
41849
+ " \u2592\u2588\xA3\xA3\xA3 ",
41850
+ " \u2593\u2588\xA3\xA3\xA3 ",
41851
+ " \u2588\u2588\xA3\xA3\xA3 ",
41852
+ " \u2591\u2588\u2588\xA3\xA3\xA3 ",
41853
+ " \u2592\u2588\u2588\xA3\xA3\xA3 ",
41854
+ " \u2593\u2588\u2588\xA3\xA3\xA3 ",
41855
+ " \u2588\u2588\u2588\xA3\xA3\xA3 ",
41856
+ " \u2591\u2588\u2588\u2588\xA3\xA3\xA3 ",
41857
+ " \u2592\u2588\u2588\u2588\xA3\xA3\xA3 ",
41858
+ " \u2593\u2588\u2588\u2588\xA3\xA3\xA3 ",
41859
+ " \u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41860
+ " \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41861
+ " \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41862
+ " \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41863
+ " \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41864
+ " \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41865
+ " \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41866
+ " \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41867
+ " \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
41868
+ " \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "
41869
+ ]
41870
+ },
41871
+ fish: {
41872
+ interval: 80,
41873
+ frames: [
41874
+ "~~~~~~~~~~~~~~~~~~~~",
41875
+ "> ~~~~~~~~~~~~~~~~~~",
41876
+ "\xBA> ~~~~~~~~~~~~~~~~~",
41877
+ "(\xBA> ~~~~~~~~~~~~~~~~",
41878
+ "((\xBA> ~~~~~~~~~~~~~~~",
41879
+ "<((\xBA> ~~~~~~~~~~~~~~",
41880
+ "><((\xBA> ~~~~~~~~~~~~~",
41881
+ " ><((\xBA> ~~~~~~~~~~~~",
41882
+ "~ ><((\xBA> ~~~~~~~~~~~",
41883
+ "~~ <>((\xBA> ~~~~~~~~~~",
41884
+ "~~~ ><((\xBA> ~~~~~~~~~",
41885
+ "~~~~ <>((\xBA> ~~~~~~~~",
41886
+ "~~~~~ ><((\xBA> ~~~~~~~",
41887
+ "~~~~~~ <>((\xBA> ~~~~~~",
41888
+ "~~~~~~~ ><((\xBA> ~~~~~",
41889
+ "~~~~~~~~ <>((\xBA> ~~~~",
41890
+ "~~~~~~~~~ ><((\xBA> ~~~",
41891
+ "~~~~~~~~~~ <>((\xBA> ~~",
41892
+ "~~~~~~~~~~~ ><((\xBA> ~",
41893
+ "~~~~~~~~~~~~ <>((\xBA> ",
41894
+ "~~~~~~~~~~~~~ ><((\xBA>",
41895
+ "~~~~~~~~~~~~~~ <>((\xBA",
41896
+ "~~~~~~~~~~~~~~~ ><((",
41897
+ "~~~~~~~~~~~~~~~~ <>(",
41898
+ "~~~~~~~~~~~~~~~~~ ><",
41899
+ "~~~~~~~~~~~~~~~~~~ <",
41900
+ "~~~~~~~~~~~~~~~~~~~~"
41901
+ ]
41902
+ }
41903
+ };
41904
+
41905
+ // ../../node_modules/.bun/cli-spinners@3.4.0/node_modules/cli-spinners/index.js
41906
+ var cli_spinners_default = spinners_default;
41907
+ var spinnersList = Object.keys(spinners_default);
41908
+
41909
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/spinner/use-spinner.js
41910
+ function useSpinner({ type = "dots" }) {
41911
+ const [frame, setFrame] = (0, import_react43.useState)(0);
41912
+ const spinner = cli_spinners_default[type];
41913
+ (0, import_react43.useEffect)(() => {
39344
41914
  const timer = setInterval(() => {
39345
41915
  setFrame((previousFrame) => {
39346
41916
  const isLastFrame = previousFrame === spinner.frames.length - 1;
@@ -39351,15 +41921,417 @@ function Spinner({ type = "dots" }) {
39351
41921
  clearInterval(timer);
39352
41922
  };
39353
41923
  }, [spinner]);
39354
- return import_react29.default.createElement(Text, null, spinner.frames[frame]);
41924
+ return {
41925
+ frame: spinner.frames[frame] ?? ""
41926
+ };
41927
+ }
41928
+
41929
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/spinner/spinner.js
41930
+ function Spinner({ label, type }) {
41931
+ const { frame } = useSpinner({ type });
41932
+ const { styles: styles5 } = useComponentTheme("Spinner");
41933
+ return import_react44.default.createElement(
41934
+ Box_default,
41935
+ { ...styles5.container() },
41936
+ import_react44.default.createElement(Text, { ...styles5.frame() }, frame),
41937
+ label && import_react44.default.createElement(Text, { ...styles5.label() }, label)
41938
+ );
41939
+ }
41940
+
41941
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/text-input/text-input.js
41942
+ var import_react47 = __toESM(require_react(), 1);
41943
+
41944
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/text-input/use-text-input-state.js
41945
+ var import_react45 = __toESM(require_react(), 1);
41946
+
41947
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/text-input/use-text-input.js
41948
+ var import_react46 = __toESM(require_react(), 1);
41949
+ var cursor = source_default.inverse(" ");
41950
+
41951
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/ordered-list/ordered-list.js
41952
+ var import_react51 = __toESM(require_react(), 1);
41953
+
41954
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/ordered-list/ordered-list-item.js
41955
+ var import_react49 = __toESM(require_react(), 1);
41956
+
41957
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/ordered-list/ordered-list-item-context.js
41958
+ var import_react48 = __toESM(require_react(), 1);
41959
+ var OrderedListItemContext = (0, import_react48.createContext)({
41960
+ marker: figures_default.line
41961
+ });
41962
+
41963
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/ordered-list/ordered-list-item.js
41964
+ function OrderedListItem({ children }) {
41965
+ const { marker } = (0, import_react49.useContext)(OrderedListItemContext);
41966
+ const { styles: styles5 } = useComponentTheme("OrderedList");
41967
+ return import_react49.default.createElement(
41968
+ Box_default,
41969
+ { ...styles5.listItem() },
41970
+ import_react49.default.createElement(Text, { ...styles5.marker() }, marker),
41971
+ import_react49.default.createElement(Box_default, { ...styles5.content() }, children)
41972
+ );
39355
41973
  }
39356
- var build_default = Spinner;
41974
+
41975
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/ordered-list/ordered-list-context.js
41976
+ var import_react50 = __toESM(require_react(), 1);
41977
+ var OrderedListContext = (0, import_react50.createContext)({
41978
+ marker: ""
41979
+ });
41980
+
41981
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/ordered-list/ordered-list.js
41982
+ function OrderedList({ children }) {
41983
+ const { marker: parentMarker } = (0, import_react51.useContext)(OrderedListContext);
41984
+ const { styles: styles5 } = useComponentTheme("OrderedList");
41985
+ let numberOfItems = 0;
41986
+ for (const child of import_react51.default.Children.toArray(children)) {
41987
+ if (!(0, import_react51.isValidElement)(child) || child.type !== OrderedListItem) {
41988
+ continue;
41989
+ }
41990
+ numberOfItems++;
41991
+ }
41992
+ const maxMarkerWidth = String(numberOfItems).length;
41993
+ return import_react51.default.createElement(Box_default, { ...styles5.list() }, import_react51.default.Children.map(children, (child, index) => {
41994
+ if (!(0, import_react51.isValidElement)(child) || child.type !== OrderedListItem) {
41995
+ return child;
41996
+ }
41997
+ const paddedMarker = `${String(index + 1).padStart(maxMarkerWidth)}.`;
41998
+ const marker = `${parentMarker}${paddedMarker}`;
41999
+ return (
42000
+ // eslint-disable-next-line react/jsx-no-constructed-context-values
42001
+ import_react51.default.createElement(
42002
+ OrderedListContext.Provider,
42003
+ { value: { marker } },
42004
+ import_react51.default.createElement(OrderedListItemContext.Provider, { value: { marker } }, child)
42005
+ )
42006
+ );
42007
+ }));
42008
+ }
42009
+ OrderedList.Item = OrderedListItem;
42010
+
42011
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/password-input/password-input.js
42012
+ var import_react54 = __toESM(require_react(), 1);
42013
+
42014
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/password-input/use-password-input-state.js
42015
+ var import_react52 = __toESM(require_react(), 1);
42016
+
42017
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/password-input/use-password-input.js
42018
+ var import_react53 = __toESM(require_react(), 1);
42019
+ var cursor2 = source_default.inverse(" ");
42020
+
42021
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/status-message/status-message.js
42022
+ var import_react55 = __toESM(require_react(), 1);
42023
+ function StatusMessage({ children, variant }) {
42024
+ const { styles: styles5, config } = useComponentTheme("StatusMessage");
42025
+ return import_react55.default.createElement(
42026
+ Box_default,
42027
+ { ...styles5.container() },
42028
+ import_react55.default.createElement(
42029
+ Box_default,
42030
+ { ...styles5.iconContainer() },
42031
+ import_react55.default.createElement(Text, { ...styles5.icon({ variant }) }, config({ variant }).icon)
42032
+ ),
42033
+ import_react55.default.createElement(Text, { ...styles5.message() }, children)
42034
+ );
42035
+ }
42036
+
42037
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/alert/alert.js
42038
+ var import_react56 = __toESM(require_react(), 1);
42039
+
42040
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/email-input/email-input.js
42041
+ var import_react59 = __toESM(require_react(), 1);
42042
+
42043
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/email-input/use-email-input-state.js
42044
+ var import_react57 = __toESM(require_react(), 1);
42045
+
42046
+ // ../../node_modules/.bun/@inkjs+ui@2.0.0+b601e0ea471ec471/node_modules/@inkjs/ui/build/components/email-input/use-email-input.js
42047
+ var import_react58 = __toESM(require_react(), 1);
42048
+ var cursor3 = source_default.inverse(" ");
39357
42049
 
39358
42050
  // src/ui/commit-app.tsx
39359
- var import_react32 = __toESM(require_react(), 1);
42051
+ var import_react62 = __toESM(require_react(), 1);
42052
+
42053
+ // ../../node_modules/.bun/supports-hyperlinks@4.4.0/node_modules/supports-hyperlinks/index.js
42054
+ import process17 from "node:process";
42055
+
42056
+ // ../../node_modules/.bun/supports-color@10.2.2/node_modules/supports-color/index.js
42057
+ import process15 from "node:process";
42058
+ import os3 from "node:os";
42059
+ import tty3 from "node:tty";
42060
+ function hasFlag2(flag, argv = globalThis.Deno ? globalThis.Deno.args : process15.argv) {
42061
+ const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
42062
+ const position = argv.indexOf(prefix + flag);
42063
+ const terminatorPosition = argv.indexOf("--");
42064
+ return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
42065
+ }
42066
+ var { env: env3 } = process15;
42067
+ var flagForceColor2;
42068
+ if (hasFlag2("no-color") || hasFlag2("no-colors") || hasFlag2("color=false") || hasFlag2("color=never")) {
42069
+ flagForceColor2 = 0;
42070
+ } else if (hasFlag2("color") || hasFlag2("colors") || hasFlag2("color=true") || hasFlag2("color=always")) {
42071
+ flagForceColor2 = 1;
42072
+ }
42073
+ function envForceColor2() {
42074
+ if (!("FORCE_COLOR" in env3)) {
42075
+ return;
42076
+ }
42077
+ if (env3.FORCE_COLOR === "true") {
42078
+ return 1;
42079
+ }
42080
+ if (env3.FORCE_COLOR === "false") {
42081
+ return 0;
42082
+ }
42083
+ if (env3.FORCE_COLOR.length === 0) {
42084
+ return 1;
42085
+ }
42086
+ const level = Math.min(Number.parseInt(env3.FORCE_COLOR, 10), 3);
42087
+ if (![0, 1, 2, 3].includes(level)) {
42088
+ return;
42089
+ }
42090
+ return level;
42091
+ }
42092
+ function translateLevel2(level) {
42093
+ if (level === 0) {
42094
+ return false;
42095
+ }
42096
+ return {
42097
+ level,
42098
+ hasBasic: true,
42099
+ has256: level >= 2,
42100
+ has16m: level >= 3
42101
+ };
42102
+ }
42103
+ function _supportsColor2(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
42104
+ const noFlagForceColor = envForceColor2();
42105
+ if (noFlagForceColor !== void 0) {
42106
+ flagForceColor2 = noFlagForceColor;
42107
+ }
42108
+ const forceColor = sniffFlags ? flagForceColor2 : noFlagForceColor;
42109
+ if (forceColor === 0) {
42110
+ return 0;
42111
+ }
42112
+ if (sniffFlags) {
42113
+ if (hasFlag2("color=16m") || hasFlag2("color=full") || hasFlag2("color=truecolor")) {
42114
+ return 3;
42115
+ }
42116
+ if (hasFlag2("color=256")) {
42117
+ return 2;
42118
+ }
42119
+ }
42120
+ if ("TF_BUILD" in env3 && "AGENT_NAME" in env3) {
42121
+ return 1;
42122
+ }
42123
+ if (haveStream && !streamIsTTY && forceColor === void 0) {
42124
+ return 0;
42125
+ }
42126
+ const min = forceColor || 0;
42127
+ if (env3.TERM === "dumb") {
42128
+ return min;
42129
+ }
42130
+ if (process15.platform === "win32") {
42131
+ const osRelease = os3.release().split(".");
42132
+ if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
42133
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
42134
+ }
42135
+ return 1;
42136
+ }
42137
+ if ("CI" in env3) {
42138
+ if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => key in env3)) {
42139
+ return 3;
42140
+ }
42141
+ if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env3) || env3.CI_NAME === "codeship") {
42142
+ return 1;
42143
+ }
42144
+ return min;
42145
+ }
42146
+ if ("TEAMCITY_VERSION" in env3) {
42147
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env3.TEAMCITY_VERSION) ? 1 : 0;
42148
+ }
42149
+ if (env3.COLORTERM === "truecolor") {
42150
+ return 3;
42151
+ }
42152
+ if (env3.TERM === "xterm-kitty") {
42153
+ return 3;
42154
+ }
42155
+ if (env3.TERM === "xterm-ghostty") {
42156
+ return 3;
42157
+ }
42158
+ if (env3.TERM === "wezterm") {
42159
+ return 3;
42160
+ }
42161
+ if ("TERM_PROGRAM" in env3) {
42162
+ const version = Number.parseInt((env3.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
42163
+ switch (env3.TERM_PROGRAM) {
42164
+ case "iTerm.app": {
42165
+ return version >= 3 ? 3 : 2;
42166
+ }
42167
+ case "Apple_Terminal": {
42168
+ return 2;
42169
+ }
42170
+ }
42171
+ }
42172
+ if (/-256(color)?$/i.test(env3.TERM)) {
42173
+ return 2;
42174
+ }
42175
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env3.TERM)) {
42176
+ return 1;
42177
+ }
42178
+ if ("COLORTERM" in env3) {
42179
+ return 1;
42180
+ }
42181
+ return min;
42182
+ }
42183
+ function createSupportsColor2(stream, options = {}) {
42184
+ const level = _supportsColor2(stream, {
42185
+ streamIsTTY: stream && stream.isTTY,
42186
+ ...options
42187
+ });
42188
+ return translateLevel2(level);
42189
+ }
42190
+ var supportsColor2 = {
42191
+ stdout: createSupportsColor2({ isTTY: tty3.isatty(1) }),
42192
+ stderr: createSupportsColor2({ isTTY: tty3.isatty(2) })
42193
+ };
42194
+
42195
+ // ../../node_modules/.bun/has-flag@5.0.1/node_modules/has-flag/index.js
42196
+ import process16 from "process";
42197
+ function hasFlag3(flag, argv = process16.argv) {
42198
+ const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
42199
+ const position = argv.indexOf(prefix + flag);
42200
+ const terminatorPosition = argv.indexOf("--");
42201
+ return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
42202
+ }
42203
+
42204
+ // ../../node_modules/.bun/supports-hyperlinks@4.4.0/node_modules/supports-hyperlinks/index.js
42205
+ function parseVersion(versionString = "") {
42206
+ if (/^\d{3,4}$/.test(versionString)) {
42207
+ const match = /(\d{1,2})(\d{2})/.exec(versionString) ?? [];
42208
+ return {
42209
+ major: 0,
42210
+ minor: Number.parseInt(match[1], 10),
42211
+ patch: Number.parseInt(match[2], 10)
42212
+ };
42213
+ }
42214
+ const versions = (versionString ?? "").split(".").map((n) => Number.parseInt(n, 10));
42215
+ return {
42216
+ major: versions[0],
42217
+ minor: versions[1],
42218
+ patch: versions[2]
42219
+ };
42220
+ }
42221
+ function createSupportsHyperlinks(stream) {
42222
+ const {
42223
+ CI,
42224
+ CURSOR_TRACE_ID,
42225
+ FORCE_HYPERLINK,
42226
+ NETLIFY,
42227
+ TEAMCITY_VERSION,
42228
+ TERM_PROGRAM,
42229
+ TERM_PROGRAM_VERSION,
42230
+ VTE_VERSION,
42231
+ TERM
42232
+ } = process17.env;
42233
+ if (FORCE_HYPERLINK) {
42234
+ return !(FORCE_HYPERLINK.length > 0 && Number.parseInt(FORCE_HYPERLINK, 10) === 0);
42235
+ }
42236
+ if (hasFlag3("no-hyperlink") || hasFlag3("no-hyperlinks") || hasFlag3("hyperlink=false") || hasFlag3("hyperlink=never")) {
42237
+ return false;
42238
+ }
42239
+ if (hasFlag3("hyperlink=true") || hasFlag3("hyperlink=always")) {
42240
+ return true;
42241
+ }
42242
+ if (NETLIFY) {
42243
+ return true;
42244
+ }
42245
+ if (!createSupportsColor2(stream)) {
42246
+ return false;
42247
+ }
42248
+ if (stream && !stream.isTTY) {
42249
+ return false;
42250
+ }
42251
+ if ("WT_SESSION" in process17.env) {
42252
+ return true;
42253
+ }
42254
+ if (process17.platform === "win32") {
42255
+ return false;
42256
+ }
42257
+ if (CI) {
42258
+ return false;
42259
+ }
42260
+ if (TEAMCITY_VERSION) {
42261
+ return false;
42262
+ }
42263
+ if (TERM_PROGRAM) {
42264
+ const version = parseVersion(TERM_PROGRAM_VERSION);
42265
+ switch (TERM_PROGRAM) {
42266
+ case "iTerm.app": {
42267
+ if (version.major === 3) {
42268
+ return version.minor >= 1;
42269
+ }
42270
+ return version.major > 3;
42271
+ }
42272
+ case "WezTerm": {
42273
+ if (/^0-unstable-\d{4}-\d{2}-\d{2}$/.test(TERM_PROGRAM_VERSION)) {
42274
+ const date = TERM_PROGRAM_VERSION.slice("0-unstable-".length);
42275
+ return date >= "2020-06-20";
42276
+ }
42277
+ return version.major >= 20200620;
42278
+ }
42279
+ case "vscode": {
42280
+ if (CURSOR_TRACE_ID) {
42281
+ return true;
42282
+ }
42283
+ return version.major > 1 || version.major === 1 && version.minor >= 72;
42284
+ }
42285
+ case "ghostty": {
42286
+ return true;
42287
+ }
42288
+ case "zed": {
42289
+ return true;
42290
+ }
42291
+ }
42292
+ }
42293
+ if (VTE_VERSION) {
42294
+ if (VTE_VERSION === "0.50.0") {
42295
+ return false;
42296
+ }
42297
+ const version = parseVersion(VTE_VERSION);
42298
+ return version.major > 0 || version.minor >= 50;
42299
+ }
42300
+ switch (TERM) {
42301
+ case "alacritty": {
42302
+ return true;
42303
+ }
42304
+ case "xterm-kitty": {
42305
+ return true;
42306
+ }
42307
+ }
42308
+ return false;
42309
+ }
42310
+ var supportsHyperlinks = {
42311
+ stdout: createSupportsHyperlinks(process17.stdout),
42312
+ stderr: createSupportsHyperlinks(process17.stderr)
42313
+ };
42314
+ var supports_hyperlinks_default = supportsHyperlinks;
42315
+
42316
+ // ../../node_modules/.bun/terminal-link@5.0.0/node_modules/terminal-link/index.js
42317
+ function terminalLink(text, url, { target = "stdout", ...options } = {}) {
42318
+ if (!supports_hyperlinks_default[target]) {
42319
+ if (options.fallback === false) {
42320
+ return text;
42321
+ }
42322
+ if (typeof options.fallback === "function") {
42323
+ return options.fallback(text, url);
42324
+ }
42325
+ return `${text} ${url}`;
42326
+ }
42327
+ return base_exports.link(text, url);
42328
+ }
42329
+ terminalLink.isSupported = supports_hyperlinks_default.stdout;
42330
+ terminalLink.stderr = (text, url, options = {}) => terminalLink(text, url, { target: "stderr", ...options });
42331
+ terminalLink.stderr.isSupported = supports_hyperlinks_default.stderr;
39360
42332
 
39361
42333
  // src/hooks/use-pipeline-stream.ts
39362
- var import_react30 = __toESM(require_react(), 1);
42334
+ var import_react60 = __toESM(require_react(), 1);
39363
42335
 
39364
42336
  // src/lib/sse-parser.ts
39365
42337
  async function* parseSSEStream(stream) {
@@ -39401,16 +42373,16 @@ async function* parseSSEStream(stream) {
39401
42373
 
39402
42374
  // src/hooks/use-pipeline-stream.ts
39403
42375
  function usePipelineStream(options) {
39404
- const [steps, setSteps] = (0, import_react30.useState)([]);
39405
- const [result, setResult] = (0, import_react30.useState)(null);
39406
- const [error, setError] = (0, import_react30.useState)(null);
39407
- const [isStreaming, setIsStreaming] = (0, import_react30.useState)(false);
39408
- const activeStepIndexRef = (0, import_react30.useRef)(null);
39409
- const stepStartTimeRef = (0, import_react30.useRef)(0);
39410
- const elapsedIntervalRef = (0, import_react30.useRef)(
42376
+ const [steps, setSteps] = (0, import_react60.useState)([]);
42377
+ const [result, setResult] = (0, import_react60.useState)(null);
42378
+ const [error, setError] = (0, import_react60.useState)(null);
42379
+ const [isStreaming, setIsStreaming] = (0, import_react60.useState)(false);
42380
+ const activeStepIndexRef = (0, import_react60.useRef)(null);
42381
+ const stepStartTimeRef = (0, import_react60.useRef)(0);
42382
+ const elapsedIntervalRef = (0, import_react60.useRef)(
39411
42383
  null
39412
42384
  );
39413
- const abortRef = (0, import_react30.useRef)(null);
42385
+ const abortRef = (0, import_react60.useRef)(null);
39414
42386
  function clearElapsedInterval() {
39415
42387
  if (elapsedIntervalRef.current !== null) {
39416
42388
  clearInterval(elapsedIntervalRef.current);
@@ -39431,10 +42403,10 @@ function usePipelineStream(options) {
39431
42403
  );
39432
42404
  }, 100);
39433
42405
  }
39434
- const optionsRef = (0, import_react30.useRef)(options);
42406
+ const optionsRef = (0, import_react60.useRef)(options);
39435
42407
  optionsRef.current = options;
39436
42408
  const triggerKey = options ? `${options.path}:${options.token}` : null;
39437
- (0, import_react30.useEffect)(() => {
42409
+ (0, import_react60.useEffect)(() => {
39438
42410
  const opts = optionsRef.current;
39439
42411
  if (!opts) return;
39440
42412
  let cancelled = false;
@@ -39547,7 +42519,7 @@ function usePipelineStream(options) {
39547
42519
  abortRef.current = null;
39548
42520
  };
39549
42521
  }, [triggerKey]);
39550
- return (0, import_react30.useMemo)(
42522
+ return (0, import_react60.useMemo)(
39551
42523
  () => ({ steps, result, error, isStreaming }),
39552
42524
  [steps, result, error, isStreaming]
39553
42525
  );
@@ -39610,31 +42582,36 @@ function parseCommitType(msg) {
39610
42582
  }
39611
42583
 
39612
42584
  // src/ui/components/diff-viewer.tsx
39613
- var import_react31 = __toESM(require_react(), 1);
42585
+ var import_react61 = __toESM(require_react(), 1);
39614
42586
  var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
39615
42587
  function DiffViewer({ filePath, patch, onClose }) {
39616
- const [scrollOffset, setScrollOffset] = (0, import_react31.useState)(0);
42588
+ const [scrollOffset, setScrollOffset] = (0, import_react61.useState)(0);
39617
42589
  const termHeight = process.stdout.rows || 24;
42590
+ const viewportHeight = Math.max(1, termHeight - 5);
39618
42591
  use_input_default((input, key) => {
39619
42592
  if (input === "q" || input === "d" || key.escape) {
39620
42593
  onClose();
39621
42594
  return;
39622
42595
  }
42596
+ const max = Math.max(0, patch.split("\n").length - viewportHeight);
39623
42597
  if (key.upArrow || input === "k") {
39624
42598
  setScrollOffset((prev) => Math.max(0, prev - 1));
39625
42599
  }
39626
42600
  if (key.downArrow || input === "j") {
39627
- setScrollOffset((prev) => prev + 1);
42601
+ setScrollOffset((prev) => Math.min(max, prev + 1));
39628
42602
  }
39629
42603
  if (input === " " || key.pageDown) {
39630
- setScrollOffset((prev) => prev + (termHeight - 5));
42604
+ setScrollOffset((prev) => Math.min(max, prev + viewportHeight));
39631
42605
  }
39632
42606
  if (input === "u" || key.pageUp) {
39633
- setScrollOffset((prev) => Math.max(0, prev - (termHeight - 5)));
42607
+ setScrollOffset((prev) => Math.max(0, prev - viewportHeight));
39634
42608
  }
39635
42609
  if (input === "g") {
39636
42610
  setScrollOffset(0);
39637
42611
  }
42612
+ if (input === "G") {
42613
+ setScrollOffset(max);
42614
+ }
39638
42615
  });
39639
42616
  const allLines = patch.split("\n");
39640
42617
  const contentLines = [];
@@ -39649,7 +42626,6 @@ function DiffViewer({ filePath, patch, onClose }) {
39649
42626
  }
39650
42627
  }
39651
42628
  const totalLines = contentLines.length;
39652
- const viewportHeight = Math.max(1, termHeight - 5);
39653
42629
  const maxScroll = Math.max(0, totalLines - viewportHeight);
39654
42630
  const clamped = Math.min(scrollOffset, maxScroll);
39655
42631
  const visibleLines = contentLines.slice(clamped, clamped + viewportHeight);
@@ -39792,7 +42768,7 @@ function StepList({ steps }) {
39792
42768
  const isLast = idx === steps.length - 1;
39793
42769
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(Box_default, { flexDirection: "column", children: [
39794
42770
  /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(Box_default, { gap: 1, children: [
39795
- step.status === "active" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Text, { color: C.cyan, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(build_default, { type: "dots" }) }) : step.status === "done" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Text, { color: C.green, children: "\u25CF" }) : step.status === "error" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Text, { color: C.red, children: "\u2717" }) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Text, { color: C.dim, children: "\u25CB" }),
42771
+ step.status === "active" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Spinner, {}) : step.status === "done" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Text, { color: C.green, children: "\u25CF" }) : step.status === "error" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Text, { color: C.red, children: "\u2717" }) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Text, { color: C.dim, children: "\u25CB" }),
39796
42772
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
39797
42773
  Text,
39798
42774
  {
@@ -39832,17 +42808,17 @@ function CommitApp({
39832
42808
  onExit
39833
42809
  }) {
39834
42810
  const { exit } = use_app_default();
39835
- const committedMessageRef = (0, import_react32.useRef)("");
39836
- const [phase, setPhase] = (0, import_react32.useState)("analyzing");
39837
- const [message, setMessage] = (0, import_react32.useState)("");
39838
- const [issueRef, setIssueRef] = (0, import_react32.useState)("");
39839
- const [errorMsg, setErrorMsg] = (0, import_react32.useState)("");
39840
- const [fileCount, setFileCount] = (0, import_react32.useState)(0);
39841
- const [additions, setAdditions] = (0, import_react32.useState)(0);
39842
- const [deletions, setDeletions] = (0, import_react32.useState)(0);
39843
- const [rawDiff, setRawDiff] = (0, import_react32.useState)("");
39844
- const [editBuffer, setEditBuffer] = (0, import_react32.useState)("");
39845
- const [streamPayload, setStreamPayload] = (0, import_react32.useState)(
42811
+ const committedMessageRef = (0, import_react62.useRef)("");
42812
+ const [phase, setPhase] = (0, import_react62.useState)("analyzing");
42813
+ const [message, setMessage] = (0, import_react62.useState)("");
42814
+ const [issueRef, setIssueRef] = (0, import_react62.useState)("");
42815
+ const [errorMsg, setErrorMsg] = (0, import_react62.useState)("");
42816
+ const [fileCount, setFileCount] = (0, import_react62.useState)(0);
42817
+ const [additions, setAdditions] = (0, import_react62.useState)(0);
42818
+ const [deletions, setDeletions] = (0, import_react62.useState)(0);
42819
+ const [rawDiff, setRawDiff] = (0, import_react62.useState)("");
42820
+ const [editBuffer, setEditBuffer] = (0, import_react62.useState)("");
42821
+ const [streamPayload, setStreamPayload] = (0, import_react62.useState)(
39846
42822
  null
39847
42823
  );
39848
42824
  const streamOptions = streamPayload && phase === "streaming" ? {
@@ -39853,13 +42829,13 @@ function CommitApp({
39853
42829
  stepLabels: STEP_LABELS
39854
42830
  } : null;
39855
42831
  const stream = usePipelineStream(streamOptions);
39856
- (0, import_react32.useEffect)(() => {
42832
+ (0, import_react62.useEffect)(() => {
39857
42833
  if (!TERMINAL_PHASES.includes(phase)) return;
39858
42834
  const code = phase === "done" || phase === "aborted" ? 0 : 1;
39859
42835
  exit();
39860
42836
  onExit(code, phase === "done" ? committedMessageRef.current : void 0);
39861
42837
  }, [phase]);
39862
- (0, import_react32.useEffect)(() => {
42838
+ (0, import_react62.useEffect)(() => {
39863
42839
  if (phase !== "streaming") return;
39864
42840
  if (stream.result) {
39865
42841
  setMessage(stream.result.message);
@@ -39874,7 +42850,7 @@ function CommitApp({
39874
42850
  setPhase("error-api");
39875
42851
  }
39876
42852
  }, [stream.result, stream.error, phase]);
39877
- (0, import_react32.useEffect)(() => {
42853
+ (0, import_react62.useEffect)(() => {
39878
42854
  async function run2() {
39879
42855
  const token = deps.readToken();
39880
42856
  if (!token) {
@@ -39918,7 +42894,7 @@ function CommitApp({
39918
42894
  if (e instanceof PlanLimitError) {
39919
42895
  setErrorMsg(
39920
42896
  `Limite do plano ${e.plan === "free" ? "Free" : "Pro"} atingido (${e.used}/${e.limit} commits este m\xEAs)
39921
- \u2192 Fa\xE7a upgrade em https://app.repomind.dev/pricing`
42897
+ \u2192 ${terminalLink("Fa\xE7a upgrade", "https://app.repomind.dev/pricing")}`
39922
42898
  );
39923
42899
  setPhase("error-plan");
39924
42900
  } else if (e instanceof ApiError && e.status === 401) {
@@ -40136,7 +43112,7 @@ ${bodyParts.join("\n\n")}` : newMsg
40136
43112
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Text, { color: C.dim, children: "(Enter salvar, Esc cancelar)" })
40137
43113
  ] }),
40138
43114
  phase === "committing" && /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(Box_default, { gap: 1, children: [
40139
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Text, { color: C.cyan, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(build_default, { type: "dots" }) }),
43115
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Spinner, {}),
40140
43116
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Text, { color: C.dim, children: "Fazendo commit..." })
40141
43117
  ] }),
40142
43118
  phase === "done" && /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(Box_default, { gap: 1, children: [
@@ -40148,10 +43124,7 @@ ${bodyParts.join("\n\n")}` : newMsg
40148
43124
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Text, { color: C.dim, children: "Abortado. Nenhum commit foi feito." })
40149
43125
  ] }),
40150
43126
  phase === "error-empty" && /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
40151
- /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(Box_default, { gap: 1, children: [
40152
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Text, { color: C.yellow, children: "\u25B2" }),
40153
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Text, { color: C.yellow, children: errorMsg })
40154
- ] }),
43127
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(StatusMessage, { variant: "warning", children: errorMsg }),
40155
43128
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
40156
43129
  KeyHints,
40157
43130
  {
@@ -40162,15 +43135,9 @@ ${bodyParts.join("\n\n")}` : newMsg
40162
43135
  }
40163
43136
  )
40164
43137
  ] }),
40165
- (phase === "error-auth" || phase === "error-git" || phase === "error-api" || phase === "error-commit") && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Box_default, { flexDirection: "column", marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(Box_default, { gap: 1, children: [
40166
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Text, { color: C.red, children: "\u2717" }),
40167
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Text, { color: C.red, children: errorMsg })
40168
- ] }) }),
43138
+ (phase === "error-auth" || phase === "error-git" || phase === "error-api" || phase === "error-commit") && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Box_default, { flexDirection: "column", marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(StatusMessage, { variant: "error", children: errorMsg }) }),
40169
43139
  phase === "error-plan" && /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
40170
- /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(Box_default, { gap: 1, children: [
40171
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Text, { color: C.yellow, children: "\u25B2" }),
40172
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Text, { color: C.yellow, children: errorMsg.split("\n")[0] })
40173
- ] }),
43140
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(StatusMessage, { variant: "warning", children: errorMsg.split("\n")[0] }),
40174
43141
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Box_default, { marginLeft: 2, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Text, { color: C.dim, children: errorMsg.split("\n")[1] }) })
40175
43142
  ] })
40176
43143
  ] })
@@ -40178,7 +43145,7 @@ ${bodyParts.join("\n\n")}` : newMsg
40178
43145
  }
40179
43146
 
40180
43147
  // src/ui/done-summary.tsx
40181
- var import_react33 = __toESM(require_react(), 1);
43148
+ var import_react63 = __toESM(require_react(), 1);
40182
43149
  var import_jsx_runtime7 = __toESM(require_jsx_runtime(), 1);
40183
43150
  function parseType(msg) {
40184
43151
  if (!msg) return { type: "chore", description: msg ?? "" };
@@ -40191,7 +43158,7 @@ function SplitDoneSummary({
40191
43158
  totalFiles
40192
43159
  }) {
40193
43160
  const { exit } = use_app_default();
40194
- (0, import_react33.useEffect)(() => {
43161
+ (0, import_react63.useEffect)(() => {
40195
43162
  exit();
40196
43163
  }, []);
40197
43164
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(Box_default, { flexDirection: "column", paddingLeft: 1, children: [
@@ -40225,7 +43192,7 @@ function CommitDoneSummary({
40225
43192
  durationMs
40226
43193
  }) {
40227
43194
  const { exit } = use_app_default();
40228
- (0, import_react33.useEffect)(() => {
43195
+ (0, import_react63.useEffect)(() => {
40229
43196
  exit();
40230
43197
  }, []);
40231
43198
  const { type, description } = parseType(message);
@@ -40255,7 +43222,7 @@ async function commitCommand() {
40255
43222
  let completedMessage = "";
40256
43223
  enterImmersive();
40257
43224
  const { waitUntilExit } = render_default(
40258
- import_react34.default.createElement(CommitApp, {
43225
+ import_react64.default.createElement(CommitApp, {
40259
43226
  deps: {
40260
43227
  readToken,
40261
43228
  getStagedChanges,
@@ -40275,7 +43242,7 @@ async function commitCommand() {
40275
43242
  exitImmersive();
40276
43243
  if (completedMessage) {
40277
43244
  const { waitUntilExit: waitUntilExit2 } = render_default(
40278
- import_react34.default.createElement(CommitDoneSummary, { message: completedMessage })
43245
+ import_react64.default.createElement(CommitDoneSummary, { message: completedMessage })
40279
43246
  );
40280
43247
  await waitUntilExit2();
40281
43248
  }
@@ -40283,7 +43250,7 @@ async function commitCommand() {
40283
43250
  }
40284
43251
 
40285
43252
  // src/commands/help.tsx
40286
- var import_react35 = __toESM(require_react(), 1);
43253
+ var import_react65 = __toESM(require_react(), 1);
40287
43254
  var import_jsx_runtime8 = __toESM(require_jsx_runtime(), 1);
40288
43255
  var COMMANDS = [
40289
43256
  {
@@ -40365,7 +43332,7 @@ function HelpApp() {
40365
43332
  ] });
40366
43333
  }
40367
43334
  async function helpCommand() {
40368
- const { waitUntilExit } = render_default(import_react35.default.createElement(HelpApp));
43335
+ const { waitUntilExit } = render_default(import_react65.default.createElement(HelpApp));
40369
43336
  setTimeout(() => process.exit(0), 50);
40370
43337
  await waitUntilExit();
40371
43338
  }
@@ -40456,10 +43423,31 @@ async function openBrowser(url) {
40456
43423
  }
40457
43424
 
40458
43425
  // src/commands/login.ts
40459
- var import_react37 = __toESM(require_react(), 1);
43426
+ var import_react68 = __toESM(require_react(), 1);
43427
+
43428
+ // ../../node_modules/.bun/ink-spinner@5.0.0+b601e0ea471ec471/node_modules/ink-spinner/build/index.js
43429
+ var import_react66 = __toESM(require_react(), 1);
43430
+ var import_cli_spinners2 = __toESM(require_cli_spinners(), 1);
43431
+ function Spinner2({ type = "dots" }) {
43432
+ const [frame, setFrame] = (0, import_react66.useState)(0);
43433
+ const spinner = import_cli_spinners2.default[type];
43434
+ (0, import_react66.useEffect)(() => {
43435
+ const timer = setInterval(() => {
43436
+ setFrame((previousFrame) => {
43437
+ const isLastFrame = previousFrame === spinner.frames.length - 1;
43438
+ return isLastFrame ? 0 : previousFrame + 1;
43439
+ });
43440
+ }, spinner.interval);
43441
+ return () => {
43442
+ clearInterval(timer);
43443
+ };
43444
+ }, [spinner]);
43445
+ return import_react66.default.createElement(Text, null, spinner.frames[frame]);
43446
+ }
43447
+ var build_default = Spinner2;
40460
43448
 
40461
43449
  // src/ui/login-app.tsx
40462
- var import_react36 = __toESM(require_react(), 1);
43450
+ var import_react67 = __toESM(require_react(), 1);
40463
43451
  var import_jsx_runtime9 = __toESM(require_jsx_runtime(), 1);
40464
43452
  var TERMINAL_PHASES2 = [
40465
43453
  "done",
@@ -40473,17 +43461,17 @@ function LoginApp({
40473
43461
  onExit
40474
43462
  }) {
40475
43463
  const { exit } = use_app_default();
40476
- const [phase, setPhase] = (0, import_react36.useState)("opening");
40477
- const [authUrl, setAuthUrl] = (0, import_react36.useState)("");
40478
- const [email, setEmail] = (0, import_react36.useState)("");
40479
- const [errorMsg, setErrorMsg] = (0, import_react36.useState)("");
40480
- (0, import_react36.useEffect)(() => {
43464
+ const [phase, setPhase] = (0, import_react67.useState)("opening");
43465
+ const [authUrl, setAuthUrl] = (0, import_react67.useState)("");
43466
+ const [email, setEmail] = (0, import_react67.useState)("");
43467
+ const [errorMsg, setErrorMsg] = (0, import_react67.useState)("");
43468
+ (0, import_react67.useEffect)(() => {
40481
43469
  if (!TERMINAL_PHASES2.includes(phase)) return;
40482
43470
  const code = phase === "done" ? 0 : 1;
40483
43471
  exit();
40484
43472
  onExit(code);
40485
43473
  }, [phase]);
40486
- (0, import_react36.useEffect)(() => {
43474
+ (0, import_react67.useEffect)(() => {
40487
43475
  async function run2() {
40488
43476
  const port = await deps.getAvailablePort();
40489
43477
  const baseUrl = "https://repomind.dev";
@@ -40532,7 +43520,7 @@ function LoginApp({
40532
43520
  ] }),
40533
43521
  authUrl !== "" && phase !== "opening" && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Box_default, { flexDirection: "column", marginBottom: 1, children: [
40534
43522
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Text, { color: C.dim, children: "Se n\xE3o abrir automaticamente, acesse:" }),
40535
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Text, { color: C.cyan, children: authUrl })
43523
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Text, { color: C.cyan, children: terminalLink(authUrl, authUrl) })
40536
43524
  ] }),
40537
43525
  phase === "waiting" && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Box_default, { gap: 1, children: [
40538
43526
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Text, { color: C.cyan, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(build_default, { type: "dots" }) }),
@@ -40550,10 +43538,7 @@ function LoginApp({
40550
43538
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Text, { bold: true, color: C.white, children: email })
40551
43539
  ] })
40552
43540
  ] }),
40553
- (phase === "error-timeout" || phase === "error-auth" || phase === "error-api") && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Box_default, { gap: 1, children: [
40554
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Text, { color: C.red, children: "\u2717" }),
40555
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Text, { color: C.red, children: errorMsg })
40556
- ] }),
43541
+ (phase === "error-timeout" || phase === "error-auth" || phase === "error-api") && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(StatusMessage, { variant: "error", children: errorMsg }),
40557
43542
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Box_default, { marginTop: 1 })
40558
43543
  ] });
40559
43544
  }
@@ -40564,7 +43549,7 @@ var apiClient2 = createApiClient();
40564
43549
  async function loginCommand() {
40565
43550
  let exitCode = 0;
40566
43551
  const { waitUntilExit } = render_default(
40567
- import_react37.default.createElement(LoginApp, {
43552
+ import_react68.default.createElement(LoginApp, {
40568
43553
  deps: {
40569
43554
  getAvailablePort,
40570
43555
  startCallbackServer,
@@ -40583,12 +43568,12 @@ async function loginCommand() {
40583
43568
  }
40584
43569
 
40585
43570
  // src/commands/logout.tsx
40586
- var import_react38 = __toESM(require_react(), 1);
43571
+ var import_react69 = __toESM(require_react(), 1);
40587
43572
  var import_jsx_runtime10 = __toESM(require_jsx_runtime(), 1);
40588
43573
  function LogoutApp({ onExit }) {
40589
43574
  const wasLoggedIn = readToken() !== null;
40590
43575
  const deleted = deleteToken();
40591
- (0, import_react38.useEffect)(() => {
43576
+ (0, import_react69.useEffect)(() => {
40592
43577
  onExit(0);
40593
43578
  }, [onExit]);
40594
43579
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Box_default, { flexDirection: "column", paddingTop: 1, marginBottom: 1, children: [
@@ -40605,7 +43590,7 @@ function LogoutApp({ onExit }) {
40605
43590
  async function logoutCommand() {
40606
43591
  let exitCode = 0;
40607
43592
  const { waitUntilExit } = render_default(
40608
- import_react38.default.createElement(LogoutApp, {
43593
+ import_react69.default.createElement(LogoutApp, {
40609
43594
  onExit: (code) => {
40610
43595
  exitCode = code;
40611
43596
  }
@@ -40616,10 +43601,10 @@ async function logoutCommand() {
40616
43601
  }
40617
43602
 
40618
43603
  // src/commands/pr.ts
40619
- var import_react40 = __toESM(require_react(), 1);
43604
+ var import_react71 = __toESM(require_react(), 1);
40620
43605
 
40621
43606
  // src/ui/pr-app.tsx
40622
- var import_react39 = __toESM(require_react(), 1);
43607
+ var import_react70 = __toESM(require_react(), 1);
40623
43608
  var import_jsx_runtime11 = __toESM(require_jsx_runtime(), 1);
40624
43609
  var TERMINAL_PHASES3 = [
40625
43610
  "aborted",
@@ -40647,18 +43632,18 @@ function PrApp({
40647
43632
  onExit
40648
43633
  }) {
40649
43634
  const { exit } = use_app_default();
40650
- const [phase, setPhase] = (0, import_react39.useState)("collecting");
40651
- const [prTitle, setPrTitle] = (0, import_react39.useState)("");
40652
- const [prBody, setPrBody] = (0, import_react39.useState)("");
40653
- const [errorMsg, setErrorMsg] = (0, import_react39.useState)("");
40654
- (0, import_react39.useEffect)(() => {
43635
+ const [phase, setPhase] = (0, import_react70.useState)("collecting");
43636
+ const [prTitle, setPrTitle] = (0, import_react70.useState)("");
43637
+ const [prBody, setPrBody] = (0, import_react70.useState)("");
43638
+ const [errorMsg, setErrorMsg] = (0, import_react70.useState)("");
43639
+ (0, import_react70.useEffect)(() => {
40655
43640
  if (!TERMINAL_PHASES3.includes(phase) && phase !== "copied" && phase !== "aborted")
40656
43641
  return;
40657
43642
  const code = phase === "copied" || phase === "aborted" ? 0 : 1;
40658
43643
  exit();
40659
43644
  onExit(code);
40660
43645
  }, [phase]);
40661
- (0, import_react39.useEffect)(() => {
43646
+ (0, import_react70.useEffect)(() => {
40662
43647
  async function run2() {
40663
43648
  const token = deps.readToken();
40664
43649
  if (!token) {
@@ -40696,7 +43681,7 @@ function PrApp({
40696
43681
  if (e instanceof PlanLimitError) {
40697
43682
  setErrorMsg(
40698
43683
  `Limite do plano ${e.plan === "free" ? "Free" : "Pro"} atingido (${e.used}/${e.limit} commits este m\xEAs)
40699
- \u2192 Fa\xE7a upgrade em https://app.repomind.dev/pricing`
43684
+ \u2192 ${terminalLink("Fa\xE7a upgrade", "https://app.repomind.dev/pricing")}`
40700
43685
  );
40701
43686
  setPhase("error-plan");
40702
43687
  } else if (e instanceof ApiError && e.status === 401) {
@@ -40770,25 +43755,13 @@ ${prBody}`;
40770
43755
  ] }),
40771
43756
  phase === "aborted" && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Box_default, { gap: 1, marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.dim, children: "Saindo..." }) }),
40772
43757
  phase === "error-auth" && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
40773
- /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Box_default, { gap: 1, children: [
40774
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.red, children: "\u2717" }),
40775
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.red, children: errorMsg })
40776
- ] }),
43758
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(StatusMessage, { variant: "error", children: errorMsg }),
40777
43759
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Box_default, { marginLeft: 2, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.dim, children: "\u2192 Execute repomind login" }) })
40778
43760
  ] }),
40779
- phase === "error-git" && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Box_default, { flexDirection: "column", marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Box_default, { gap: 1, children: [
40780
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.yellow, children: "\u25B2" }),
40781
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.yellow, children: errorMsg })
40782
- ] }) }),
40783
- phase === "error-api" && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Box_default, { flexDirection: "column", marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Box_default, { gap: 1, children: [
40784
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.red, children: "\u2717" }),
40785
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.red, children: errorMsg })
40786
- ] }) }),
43761
+ phase === "error-git" && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Box_default, { flexDirection: "column", marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(StatusMessage, { variant: "warning", children: errorMsg }) }),
43762
+ phase === "error-api" && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Box_default, { flexDirection: "column", marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(StatusMessage, { variant: "error", children: errorMsg }) }),
40787
43763
  phase === "error-plan" && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
40788
- /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Box_default, { gap: 1, children: [
40789
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.yellow, children: "\u25B2" }),
40790
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.yellow, children: errorMsg.split("\n")[0] })
40791
- ] }),
43764
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(StatusMessage, { variant: "warning", children: errorMsg.split("\n")[0] }),
40792
43765
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Box_default, { marginLeft: 2, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.dim, children: errorMsg.split("\n")[1] }) })
40793
43766
  ] })
40794
43767
  ] })
@@ -40845,7 +43818,7 @@ async function prCommand() {
40845
43818
  let exitCode = 0;
40846
43819
  enterImmersive();
40847
43820
  const { waitUntilExit } = render_default(
40848
- import_react40.default.createElement(PrApp, {
43821
+ import_react71.default.createElement(PrApp, {
40849
43822
  deps: {
40850
43823
  readToken,
40851
43824
  getDiffBetweenBranches,
@@ -40863,10 +43836,52 @@ async function prCommand() {
40863
43836
  }
40864
43837
 
40865
43838
  // src/commands/split.ts
40866
- var import_react42 = __toESM(require_react(), 1);
43839
+ var import_react73 = __toESM(require_react(), 1);
40867
43840
 
40868
43841
  // src/ui/split-app.tsx
40869
- var import_react41 = __toESM(require_react(), 1);
43842
+ var import_react72 = __toESM(require_react(), 1);
43843
+
43844
+ // src/lib/worktree-groups.ts
43845
+ function getAllLineIndices(hunksMap, path, hunkIndex) {
43846
+ const hunks = hunksMap.get(path);
43847
+ if (!hunks) return [];
43848
+ const hunk = hunks.find(
43849
+ (h) => h.startLineOld === hunkIndex || hunks.indexOf(h) === hunkIndex
43850
+ );
43851
+ if (!hunk) return [];
43852
+ const indices = [];
43853
+ for (let i = 0; i < hunk.lines.length; i++) {
43854
+ const line = hunk.lines[i];
43855
+ if (line.type === "addition" || line.type === "deletion") {
43856
+ indices.push(i);
43857
+ }
43858
+ }
43859
+ return indices;
43860
+ }
43861
+ function prepareWorktreeGroups(groups, hunksMap, patchMap) {
43862
+ return groups.map((group) => {
43863
+ const patches = [];
43864
+ for (const fileRef of group.files) {
43865
+ const fullPatch = patchMap.get(fileRef.path);
43866
+ if (!fullPatch) continue;
43867
+ if (!fileRef.selection || fileRef.selection === "all") {
43868
+ patches.push(fullPatch);
43869
+ } else {
43870
+ const lineSelections = fileRef.selection.map((hs) => ({
43871
+ hunkIndex: hs.hunkIndex,
43872
+ lineIndices: hs.lines === "all" ? getAllLineIndices(hunksMap, fileRef.path, hs.hunkIndex) : hs.lines
43873
+ }));
43874
+ if (lineSelections.length > 0) {
43875
+ const selectivePatch = buildSelectivePatch(fullPatch, lineSelections);
43876
+ if (selectivePatch) {
43877
+ patches.push(selectivePatch);
43878
+ }
43879
+ }
43880
+ }
43881
+ }
43882
+ return { patches, message: group.message };
43883
+ });
43884
+ }
40870
43885
 
40871
43886
  // src/ui/components/diff-stats.tsx
40872
43887
  var import_jsx_runtime12 = __toESM(require_jsx_runtime(), 1);
@@ -41009,22 +44024,6 @@ var TERMINAL_PHASES4 = [
41009
44024
  "error-plan",
41010
44025
  "error-commit"
41011
44026
  ];
41012
- function getAllLineIndices(hunksMap, path, hunkIndex) {
41013
- const hunks = hunksMap.get(path);
41014
- if (!hunks) return [];
41015
- const hunk = hunks.find(
41016
- (h) => h.startLineOld === hunkIndex || hunks.indexOf(h) === hunkIndex
41017
- );
41018
- if (!hunk) return [];
41019
- const indices = [];
41020
- for (let i = 0; i < hunk.lines.length; i++) {
41021
- const line = hunk.lines[i];
41022
- if (line.type === "addition" || line.type === "deletion") {
41023
- indices.push(i);
41024
- }
41025
- }
41026
- return indices;
41027
- }
41028
44027
  function computeGroupStats(files, originalFiles) {
41029
44028
  let additions = 0;
41030
44029
  let deletions = 0;
@@ -41046,22 +44045,22 @@ function SplitApp({
41046
44045
  onExit
41047
44046
  }) {
41048
44047
  const { exit } = use_app_default();
41049
- const committedMessagesRef = (0, import_react41.useRef)([]);
41050
- const [phase, setPhase] = (0, import_react41.useState)("collecting");
41051
- const [groups, setGroups] = (0, import_react41.useState)([]);
41052
- const [selectedIndex, setSelectedIndex] = (0, import_react41.useState)(0);
41053
- const [skippedGroups, setSkippedGroups] = (0, import_react41.useState)(/* @__PURE__ */ new Set());
41054
- const [commitProgress, setCommitProgress] = (0, import_react41.useState)(0);
41055
- const [errorMsg, setErrorMsg] = (0, import_react41.useState)("");
41056
- const [orphanCount, setOrphanCount] = (0, import_react41.useState)(0);
41057
- const [originalFiles, setOriginalFiles] = (0, import_react41.useState)([]);
41058
- const [hunksMap, setHunksMap] = (0, import_react41.useState)(/* @__PURE__ */ new Map());
41059
- const [patchMap, setPatchMap] = (0, import_react41.useState)(/* @__PURE__ */ new Map());
41060
- const [authToken, setAuthToken] = (0, import_react41.useState)("");
41061
- const [streamPayload, setStreamPayload] = (0, import_react41.useState)(
44048
+ const committedMessagesRef = (0, import_react72.useRef)([]);
44049
+ const [phase, setPhase] = (0, import_react72.useState)("collecting");
44050
+ const [groups, setGroups] = (0, import_react72.useState)([]);
44051
+ const [selectedIndex, setSelectedIndex] = (0, import_react72.useState)(0);
44052
+ const [skippedGroups, setSkippedGroups] = (0, import_react72.useState)(/* @__PURE__ */ new Set());
44053
+ const [commitProgress, setCommitProgress] = (0, import_react72.useState)(0);
44054
+ const [errorMsg, setErrorMsg] = (0, import_react72.useState)("");
44055
+ const [orphanCount, setOrphanCount] = (0, import_react72.useState)(0);
44056
+ const [originalFiles, setOriginalFiles] = (0, import_react72.useState)([]);
44057
+ const [hunksMap, setHunksMap] = (0, import_react72.useState)(/* @__PURE__ */ new Map());
44058
+ const [patchMap, setPatchMap] = (0, import_react72.useState)(/* @__PURE__ */ new Map());
44059
+ const [authToken, setAuthToken] = (0, import_react72.useState)("");
44060
+ const [streamPayload, setStreamPayload] = (0, import_react72.useState)(
41062
44061
  null
41063
44062
  );
41064
- const streamOptions = (0, import_react41.useMemo)(
44063
+ const streamOptions = (0, import_react72.useMemo)(
41065
44064
  () => streamPayload && phase === "analyzing" ? {
41066
44065
  path: streamPayload.path,
41067
44066
  body: streamPayload.body,
@@ -41073,13 +44072,13 @@ function SplitApp({
41073
44072
  [streamPayload, phase, deps.postStream]
41074
44073
  );
41075
44074
  const stream = usePipelineStream(streamOptions);
41076
- (0, import_react41.useEffect)(() => {
44075
+ (0, import_react72.useEffect)(() => {
41077
44076
  if (!TERMINAL_PHASES4.includes(phase)) return;
41078
44077
  const code = phase === "done" || phase === "aborted" ? 0 : 1;
41079
44078
  exit();
41080
44079
  onExit(code, phase === "done" ? committedMessagesRef.current : void 0);
41081
44080
  }, [phase]);
41082
- (0, import_react41.useEffect)(() => {
44081
+ (0, import_react72.useEffect)(() => {
41083
44082
  if (phase !== "analyzing") return;
41084
44083
  if (stream.result) {
41085
44084
  const sortedGroups = stream.result.groups.sort(
@@ -41100,7 +44099,7 @@ function SplitApp({
41100
44099
  setPhase("error-api");
41101
44100
  }
41102
44101
  }, [stream.result, stream.error, phase]);
41103
- (0, import_react41.useEffect)(() => {
44102
+ (0, import_react72.useEffect)(() => {
41104
44103
  async function run2() {
41105
44104
  const token = deps.readToken();
41106
44105
  if (!token) {
@@ -41222,86 +44221,29 @@ function SplitApp({
41222
44221
  setPhase("aborted");
41223
44222
  return;
41224
44223
  }
41225
- for (let i = 0; i < activeGroups2.length; i++) {
41226
- const group = activeGroups2[i];
41227
- try {
41228
- await deps.resetStaging();
41229
- for (const fileRef of group.files) {
41230
- if (!fileRef.selection || fileRef.selection === "all") {
41231
- await deps.stageFile(fileRef.path);
41232
- } else {
41233
- const currentDiff = await deps.getFileDiff(fileRef.path);
41234
- if (!currentDiff.trim()) {
41235
- continue;
41236
- }
41237
- const currentHunks = deps.parseHunks(currentDiff);
41238
- const originalHunks = hunksMap.get(fileRef.path) ?? [];
41239
- const allLineSelections = [];
41240
- for (const hs of fileRef.selection) {
41241
- const origHunk = originalHunks.find(
41242
- (h) => h.index === hs.hunkIndex
41243
- );
41244
- if (!origHunk) continue;
41245
- const wantedIndices = hs.lines === "all" ? getAllLineIndices(hunksMap, fileRef.path, hs.hunkIndex) : hs.lines;
41246
- const wantedLines = wantedIndices.map((idx) => origHunk.lines[idx]).filter(Boolean);
41247
- for (const curHunk of currentHunks) {
41248
- const matchedIndices = [];
41249
- for (const wanted of wantedLines) {
41250
- for (let ci = 0; ci < curHunk.lines.length; ci++) {
41251
- const curLine = curHunk.lines[ci];
41252
- if (curLine.type === wanted.type && curLine.content === wanted.content && !matchedIndices.includes(ci)) {
41253
- matchedIndices.push(ci);
41254
- break;
41255
- }
41256
- }
41257
- }
41258
- if (matchedIndices.length > 0) {
41259
- allLineSelections.push({
41260
- hunkIndex: curHunk.index,
41261
- lineIndices: matchedIndices
41262
- });
41263
- }
41264
- }
41265
- }
41266
- if (allLineSelections.length > 0) {
41267
- await deps.stageLines(currentDiff, allLineSelections);
41268
- }
41269
- }
41270
- }
41271
- if (!group.message) {
41272
- await deps.resetStaging();
41273
- setErrorMsg(
41274
- `Mensagem vazia no grupo ${i + 1}/${activeGroups2.length}. Abortando.`
41275
- );
41276
- setPhase("error-commit");
41277
- return;
41278
- }
41279
- const code = await deps.runGitCommit(group.message);
41280
- if (code !== 0) {
41281
- await deps.resetStaging();
41282
- setErrorMsg(
41283
- `git commit falhou no grupo ${i + 1}/${activeGroups2.length}: "${group.message}"`
41284
- );
41285
- setPhase("error-commit");
41286
- return;
41287
- }
44224
+ try {
44225
+ const worktreeGroups = prepareWorktreeGroups(
44226
+ activeGroups2,
44227
+ hunksMap,
44228
+ patchMap
44229
+ );
44230
+ const repoRoot = await deps.getRepoRoot();
44231
+ await deps.commitViaWorktree(repoRoot, worktreeGroups);
44232
+ for (let i = 0; i < activeGroups2.length; i++) {
44233
+ setCommitProgress(i + 1);
41288
44234
  if (authToken) {
41289
- await deps.apiPost("/split/confirm", { group }, authToken).catch((err) => {
44235
+ await deps.apiPost("/split/confirm", { group: activeGroups2[i] }, authToken).catch((err) => {
41290
44236
  console.error("[split-confirm] failed:", err.message ?? err);
41291
44237
  });
41292
44238
  }
41293
- setCommitProgress(i + 1);
41294
- } catch (e) {
41295
- await deps.resetStaging().catch(() => {
41296
- });
41297
- const detail = e instanceof Error ? e.message : "Erro desconhecido";
41298
- setErrorMsg(`Erro no grupo ${i + 1}/${activeGroups2.length}: ${detail}`);
41299
- setPhase("error-commit");
41300
- return;
41301
44239
  }
44240
+ committedMessagesRef.current = activeGroups2.map((g) => g.message);
44241
+ setPhase("done");
44242
+ } catch (e) {
44243
+ const detail = e instanceof Error ? e.message : "Erro desconhecido";
44244
+ setErrorMsg(`Erro atomico no split: ${detail}`);
44245
+ setPhase("error-commit");
41302
44246
  }
41303
- committedMessagesRef.current = activeGroups2.map((g) => g.message);
41304
- setPhase("done");
41305
44247
  }
41306
44248
  const activeGroups = groups.filter((g) => !skippedGroups.has(g.groupId));
41307
44249
  const activeGroupCount = activeGroups.length;
@@ -41423,7 +44365,7 @@ function SplitApp({
41423
44365
  const isActive = i === commitProgress;
41424
44366
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Box_default, { flexDirection: "column", children: [
41425
44367
  /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Box_default, { gap: 1, alignItems: "center", children: [
41426
- isDone ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text, { color: C.green, children: "\u2713" }) : isActive ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text, { color: C.cyan, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(build_default, { type: "dots" }) }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text, { color: C.dim, children: "\u25CB" }),
44368
+ isDone ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text, { color: C.green, children: "\u2713" }) : isActive ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Spinner, {}) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text, { color: C.dim, children: "\u25CB" }),
41427
44369
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(TypeBadge, { type: g.type }),
41428
44370
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
41429
44371
  Text,
@@ -41518,7 +44460,7 @@ async function splitCommand() {
41518
44460
  let completedCommits = [];
41519
44461
  enterImmersive();
41520
44462
  const { waitUntilExit } = render_default(
41521
- import_react42.default.createElement(SplitApp, {
44463
+ import_react73.default.createElement(SplitApp, {
41522
44464
  deps: {
41523
44465
  readToken,
41524
44466
  getAllChanges,
@@ -41537,6 +44479,8 @@ async function splitCommand() {
41537
44479
  apiPost: (path, body, tkn, timeoutMs) => apiClient.post(path, body, tkn, timeoutMs),
41538
44480
  postStream: (path, body, tkn, timeoutMs) => apiClient.postStream(path, body, tkn, timeoutMs),
41539
44481
  runGitCommit: runGitCommit2,
44482
+ commitViaWorktree,
44483
+ getRepoRoot,
41540
44484
  fileConfig,
41541
44485
  useStaged
41542
44486
  },
@@ -41550,7 +44494,7 @@ async function splitCommand() {
41550
44494
  exitImmersive();
41551
44495
  if (completedCommits.length > 0) {
41552
44496
  const { waitUntilExit: waitUntilExit2 } = render_default(
41553
- import_react42.default.createElement(SplitDoneSummary, { commits: completedCommits })
44497
+ import_react73.default.createElement(SplitDoneSummary, { commits: completedCommits })
41554
44498
  );
41555
44499
  await waitUntilExit2();
41556
44500
  }
@@ -41558,12 +44502,12 @@ async function splitCommand() {
41558
44502
  }
41559
44503
 
41560
44504
  // src/commands/whoami.tsx
41561
- var import_react43 = __toESM(require_react(), 1);
44505
+ var import_react74 = __toESM(require_react(), 1);
41562
44506
  var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1);
41563
44507
  function WhoamiApp({ onExit }) {
41564
44508
  const token = readToken();
41565
44509
  const payload = token ? decodeTokenPayload(token) : null;
41566
- (0, import_react43.useEffect)(() => {
44510
+ (0, import_react74.useEffect)(() => {
41567
44511
  onExit(payload ? 0 : 1);
41568
44512
  }, [onExit, payload]);
41569
44513
  const expiresDate = payload ? new Date(payload.exp * 1e3).toLocaleDateString("pt-BR", {
@@ -41599,7 +44543,7 @@ function WhoamiApp({ onExit }) {
41599
44543
  async function whoamiCommand() {
41600
44544
  let exitCode = 0;
41601
44545
  const { waitUntilExit } = render_default(
41602
- import_react43.default.createElement(WhoamiApp, {
44546
+ import_react74.default.createElement(WhoamiApp, {
41603
44547
  onExit: (code) => {
41604
44548
  exitCode = code;
41605
44549
  }
@@ -41611,7 +44555,7 @@ async function whoamiCommand() {
41611
44555
 
41612
44556
  // src/index.ts
41613
44557
  import { createRequire } from "node:module";
41614
- var import_react44 = __toESM(require_react(), 1);
44558
+ var import_react75 = __toESM(require_react(), 1);
41615
44559
 
41616
44560
  // src/ui/components/command-help.tsx
41617
44561
  var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1);
@@ -41743,7 +44687,7 @@ var COMMAND_HELP = {
41743
44687
  if (wantsHelp && command && COMMAND_HELP[command]) {
41744
44688
  const def = COMMAND_HELP[command];
41745
44689
  const { waitUntilExit } = render_default(
41746
- import_react44.default.createElement(CommandHelp, {
44690
+ import_react75.default.createElement(CommandHelp, {
41747
44691
  command,
41748
44692
  usage: def.usage,
41749
44693
  description: def.description,