repomind 0.5.4 → 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 +3592 -604
  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,16 +43145,20 @@ ${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 ?? "" };
40185
43152
  const match = msg.match(/^(\w+)(?:\([^)]+\))?!?:\s*(.+)/);
40186
43153
  return { type: match?.[1] ?? "chore", description: match?.[2] ?? msg };
40187
43154
  }
40188
- function SplitDoneSummary({ commits }) {
43155
+ function SplitDoneSummary({
43156
+ commits,
43157
+ durationMs,
43158
+ totalFiles
43159
+ }) {
40189
43160
  const { exit } = use_app_default();
40190
- (0, import_react33.useEffect)(() => {
43161
+ (0, import_react63.useEffect)(() => {
40191
43162
  exit();
40192
43163
  }, []);
40193
43164
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(Box_default, { flexDirection: "column", paddingLeft: 1, children: [
@@ -40209,21 +43180,31 @@ function SplitDoneSummary({ commits }) {
40209
43180
  " commit",
40210
43181
  commits.length !== 1 ? "s" : "",
40211
43182
  " realizado",
40212
- commits.length !== 1 ? "s" : ""
43183
+ commits.length !== 1 ? "s" : "",
43184
+ durationMs != null ? ` em ${(durationMs / 1e3).toFixed(1)}s` : "",
43185
+ totalFiles != null ? ` \xB7 ${totalFiles} arquivo${totalFiles !== 1 ? "s" : ""}` : ""
40213
43186
  ] })
40214
43187
  ] })
40215
43188
  ] });
40216
43189
  }
40217
- function CommitDoneSummary({ message }) {
43190
+ function CommitDoneSummary({
43191
+ message,
43192
+ durationMs
43193
+ }) {
40218
43194
  const { exit } = use_app_default();
40219
- (0, import_react33.useEffect)(() => {
43195
+ (0, import_react63.useEffect)(() => {
40220
43196
  exit();
40221
43197
  }, []);
40222
43198
  const { type, description } = parseType(message);
40223
43199
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(Box_default, { paddingLeft: 1, gap: 1, alignItems: "center", children: [
40224
43200
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Text, { color: C.green, children: "\u2713" }),
40225
43201
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(TypeBadge, { type }),
40226
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Text, { color: C.green, children: description })
43202
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Text, { color: C.green, children: description }),
43203
+ durationMs != null && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(Text, { color: C.dim, children: [
43204
+ "\xB7 ",
43205
+ (durationMs / 1e3).toFixed(1),
43206
+ "s"
43207
+ ] })
40227
43208
  ] });
40228
43209
  }
40229
43210
 
@@ -40241,7 +43222,7 @@ async function commitCommand() {
40241
43222
  let completedMessage = "";
40242
43223
  enterImmersive();
40243
43224
  const { waitUntilExit } = render_default(
40244
- import_react34.default.createElement(CommitApp, {
43225
+ import_react64.default.createElement(CommitApp, {
40245
43226
  deps: {
40246
43227
  readToken,
40247
43228
  getStagedChanges,
@@ -40261,7 +43242,7 @@ async function commitCommand() {
40261
43242
  exitImmersive();
40262
43243
  if (completedMessage) {
40263
43244
  const { waitUntilExit: waitUntilExit2 } = render_default(
40264
- import_react34.default.createElement(CommitDoneSummary, { message: completedMessage })
43245
+ import_react64.default.createElement(CommitDoneSummary, { message: completedMessage })
40265
43246
  );
40266
43247
  await waitUntilExit2();
40267
43248
  }
@@ -40269,7 +43250,7 @@ async function commitCommand() {
40269
43250
  }
40270
43251
 
40271
43252
  // src/commands/help.tsx
40272
- var import_react35 = __toESM(require_react(), 1);
43253
+ var import_react65 = __toESM(require_react(), 1);
40273
43254
  var import_jsx_runtime8 = __toESM(require_jsx_runtime(), 1);
40274
43255
  var COMMANDS = [
40275
43256
  {
@@ -40351,7 +43332,7 @@ function HelpApp() {
40351
43332
  ] });
40352
43333
  }
40353
43334
  async function helpCommand() {
40354
- const { waitUntilExit } = render_default(import_react35.default.createElement(HelpApp));
43335
+ const { waitUntilExit } = render_default(import_react65.default.createElement(HelpApp));
40355
43336
  setTimeout(() => process.exit(0), 50);
40356
43337
  await waitUntilExit();
40357
43338
  }
@@ -40442,10 +43423,31 @@ async function openBrowser(url) {
40442
43423
  }
40443
43424
 
40444
43425
  // src/commands/login.ts
40445
- 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;
40446
43448
 
40447
43449
  // src/ui/login-app.tsx
40448
- var import_react36 = __toESM(require_react(), 1);
43450
+ var import_react67 = __toESM(require_react(), 1);
40449
43451
  var import_jsx_runtime9 = __toESM(require_jsx_runtime(), 1);
40450
43452
  var TERMINAL_PHASES2 = [
40451
43453
  "done",
@@ -40459,17 +43461,17 @@ function LoginApp({
40459
43461
  onExit
40460
43462
  }) {
40461
43463
  const { exit } = use_app_default();
40462
- const [phase, setPhase] = (0, import_react36.useState)("opening");
40463
- const [authUrl, setAuthUrl] = (0, import_react36.useState)("");
40464
- const [email, setEmail] = (0, import_react36.useState)("");
40465
- const [errorMsg, setErrorMsg] = (0, import_react36.useState)("");
40466
- (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)(() => {
40467
43469
  if (!TERMINAL_PHASES2.includes(phase)) return;
40468
43470
  const code = phase === "done" ? 0 : 1;
40469
43471
  exit();
40470
43472
  onExit(code);
40471
43473
  }, [phase]);
40472
- (0, import_react36.useEffect)(() => {
43474
+ (0, import_react67.useEffect)(() => {
40473
43475
  async function run2() {
40474
43476
  const port = await deps.getAvailablePort();
40475
43477
  const baseUrl = "https://repomind.dev";
@@ -40518,7 +43520,7 @@ function LoginApp({
40518
43520
  ] }),
40519
43521
  authUrl !== "" && phase !== "opening" && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Box_default, { flexDirection: "column", marginBottom: 1, children: [
40520
43522
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Text, { color: C.dim, children: "Se n\xE3o abrir automaticamente, acesse:" }),
40521
- /* @__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) })
40522
43524
  ] }),
40523
43525
  phase === "waiting" && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Box_default, { gap: 1, children: [
40524
43526
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Text, { color: C.cyan, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(build_default, { type: "dots" }) }),
@@ -40536,10 +43538,7 @@ function LoginApp({
40536
43538
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Text, { bold: true, color: C.white, children: email })
40537
43539
  ] })
40538
43540
  ] }),
40539
- (phase === "error-timeout" || phase === "error-auth" || phase === "error-api") && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Box_default, { gap: 1, children: [
40540
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Text, { color: C.red, children: "\u2717" }),
40541
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Text, { color: C.red, children: errorMsg })
40542
- ] }),
43541
+ (phase === "error-timeout" || phase === "error-auth" || phase === "error-api") && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(StatusMessage, { variant: "error", children: errorMsg }),
40543
43542
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Box_default, { marginTop: 1 })
40544
43543
  ] });
40545
43544
  }
@@ -40550,7 +43549,7 @@ var apiClient2 = createApiClient();
40550
43549
  async function loginCommand() {
40551
43550
  let exitCode = 0;
40552
43551
  const { waitUntilExit } = render_default(
40553
- import_react37.default.createElement(LoginApp, {
43552
+ import_react68.default.createElement(LoginApp, {
40554
43553
  deps: {
40555
43554
  getAvailablePort,
40556
43555
  startCallbackServer,
@@ -40569,12 +43568,12 @@ async function loginCommand() {
40569
43568
  }
40570
43569
 
40571
43570
  // src/commands/logout.tsx
40572
- var import_react38 = __toESM(require_react(), 1);
43571
+ var import_react69 = __toESM(require_react(), 1);
40573
43572
  var import_jsx_runtime10 = __toESM(require_jsx_runtime(), 1);
40574
43573
  function LogoutApp({ onExit }) {
40575
43574
  const wasLoggedIn = readToken() !== null;
40576
43575
  const deleted = deleteToken();
40577
- (0, import_react38.useEffect)(() => {
43576
+ (0, import_react69.useEffect)(() => {
40578
43577
  onExit(0);
40579
43578
  }, [onExit]);
40580
43579
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Box_default, { flexDirection: "column", paddingTop: 1, marginBottom: 1, children: [
@@ -40591,7 +43590,7 @@ function LogoutApp({ onExit }) {
40591
43590
  async function logoutCommand() {
40592
43591
  let exitCode = 0;
40593
43592
  const { waitUntilExit } = render_default(
40594
- import_react38.default.createElement(LogoutApp, {
43593
+ import_react69.default.createElement(LogoutApp, {
40595
43594
  onExit: (code) => {
40596
43595
  exitCode = code;
40597
43596
  }
@@ -40602,10 +43601,10 @@ async function logoutCommand() {
40602
43601
  }
40603
43602
 
40604
43603
  // src/commands/pr.ts
40605
- var import_react40 = __toESM(require_react(), 1);
43604
+ var import_react71 = __toESM(require_react(), 1);
40606
43605
 
40607
43606
  // src/ui/pr-app.tsx
40608
- var import_react39 = __toESM(require_react(), 1);
43607
+ var import_react70 = __toESM(require_react(), 1);
40609
43608
  var import_jsx_runtime11 = __toESM(require_jsx_runtime(), 1);
40610
43609
  var TERMINAL_PHASES3 = [
40611
43610
  "aborted",
@@ -40614,23 +43613,37 @@ var TERMINAL_PHASES3 = [
40614
43613
  "error-git",
40615
43614
  "error-plan"
40616
43615
  ];
43616
+ function buildSteps(phase) {
43617
+ const phaseOrder = ["collecting", "generating"];
43618
+ const phaseIdx = phaseOrder.indexOf(phase);
43619
+ return [
43620
+ {
43621
+ label: "Coletando diff",
43622
+ status: phase === "collecting" ? "active" : phaseIdx > 0 ? "done" : "pending"
43623
+ },
43624
+ {
43625
+ label: "Gerando PR description",
43626
+ status: phase === "generating" ? "active" : "pending"
43627
+ }
43628
+ ];
43629
+ }
40617
43630
  function PrApp({
40618
43631
  deps,
40619
43632
  onExit
40620
43633
  }) {
40621
43634
  const { exit } = use_app_default();
40622
- const [phase, setPhase] = (0, import_react39.useState)("collecting");
40623
- const [prTitle, setPrTitle] = (0, import_react39.useState)("");
40624
- const [prBody, setPrBody] = (0, import_react39.useState)("");
40625
- const [errorMsg, setErrorMsg] = (0, import_react39.useState)("");
40626
- (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)(() => {
40627
43640
  if (!TERMINAL_PHASES3.includes(phase) && phase !== "copied" && phase !== "aborted")
40628
43641
  return;
40629
43642
  const code = phase === "copied" || phase === "aborted" ? 0 : 1;
40630
43643
  exit();
40631
43644
  onExit(code);
40632
43645
  }, [phase]);
40633
- (0, import_react39.useEffect)(() => {
43646
+ (0, import_react70.useEffect)(() => {
40634
43647
  async function run2() {
40635
43648
  const token = deps.readToken();
40636
43649
  if (!token) {
@@ -40668,7 +43681,7 @@ function PrApp({
40668
43681
  if (e instanceof PlanLimitError) {
40669
43682
  setErrorMsg(
40670
43683
  `Limite do plano ${e.plan === "free" ? "Free" : "Pro"} atingido (${e.used}/${e.limit} commits este m\xEAs)
40671
- \u2192 Fa\xE7a upgrade em https://app.repomind.dev/pricing`
43684
+ \u2192 ${terminalLink("Fa\xE7a upgrade", "https://app.repomind.dev/pricing")}`
40672
43685
  );
40673
43686
  setPhase("error-plan");
40674
43687
  } else if (e instanceof ApiError && e.status === 401) {
@@ -40707,14 +43720,7 @@ ${prBody}`;
40707
43720
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Box_default, { flexDirection: "column", children: [
40708
43721
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Header, { title: "repomind pr" }),
40709
43722
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Box_default, { flexDirection: "column", paddingLeft: 1, children: [
40710
- phase === "collecting" && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Box_default, { gap: 1, marginTop: 1, children: [
40711
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.cyan, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(build_default, { type: "dots" }) }),
40712
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.dim, children: "Coletando diff entre branches..." })
40713
- ] }),
40714
- phase === "generating" && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Box_default, { gap: 1, marginTop: 1, children: [
40715
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.cyan, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(build_default, { type: "dots" }) }),
40716
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.dim, children: "Gerando PR description com IA..." })
40717
- ] }),
43723
+ (phase === "collecting" || phase === "generating") && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(StepList, { steps: buildSteps(phase) }),
40718
43724
  phase === "result" && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
40719
43725
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
40720
43726
  Box_default,
@@ -40741,26 +43747,21 @@ ${prBody}`;
40741
43747
  ] }),
40742
43748
  phase === "copied" && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Box_default, { gap: 1, marginTop: 1, children: [
40743
43749
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.green, children: "\u2713" }),
40744
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { bold: true, children: "PR description copiada para o clipboard!" })
43750
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { bold: true, children: "PR description copiada" }),
43751
+ prTitle && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Text, { color: C.dim, children: [
43752
+ "\xB7 ",
43753
+ prTitle
43754
+ ] })
40745
43755
  ] }),
40746
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..." }) }),
40747
- phase === "error-auth" && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Box_default, { flexDirection: "column", marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Box_default, { gap: 1, children: [
40748
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.red, children: "\u2717" }),
40749
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.red, children: errorMsg })
40750
- ] }) }),
40751
- 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: [
40752
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.yellow, children: "\u25B2" }),
40753
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.yellow, children: errorMsg })
40754
- ] }) }),
40755
- 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: [
40756
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.red, children: "\u2717" }),
40757
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.red, children: errorMsg })
40758
- ] }) }),
43757
+ phase === "error-auth" && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
43758
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(StatusMessage, { variant: "error", children: errorMsg }),
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" }) })
43760
+ ] }),
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 }) }),
40759
43763
  phase === "error-plan" && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
40760
- /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Box_default, { gap: 1, children: [
40761
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.yellow, children: "\u25B2" }),
40762
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text, { color: C.yellow, children: errorMsg.split("\n")[0] })
40763
- ] }),
43764
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(StatusMessage, { variant: "warning", children: errorMsg.split("\n")[0] }),
40764
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] }) })
40765
43766
  ] })
40766
43767
  ] })
@@ -40817,7 +43818,7 @@ async function prCommand() {
40817
43818
  let exitCode = 0;
40818
43819
  enterImmersive();
40819
43820
  const { waitUntilExit } = render_default(
40820
- import_react40.default.createElement(PrApp, {
43821
+ import_react71.default.createElement(PrApp, {
40821
43822
  deps: {
40822
43823
  readToken,
40823
43824
  getDiffBetweenBranches,
@@ -40835,10 +43836,52 @@ async function prCommand() {
40835
43836
  }
40836
43837
 
40837
43838
  // src/commands/split.ts
40838
- var import_react42 = __toESM(require_react(), 1);
43839
+ var import_react73 = __toESM(require_react(), 1);
40839
43840
 
40840
43841
  // src/ui/split-app.tsx
40841
- 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
+ }
40842
43885
 
40843
43886
  // src/ui/components/diff-stats.tsx
40844
43887
  var import_jsx_runtime12 = __toESM(require_jsx_runtime(), 1);
@@ -40981,22 +44024,6 @@ var TERMINAL_PHASES4 = [
40981
44024
  "error-plan",
40982
44025
  "error-commit"
40983
44026
  ];
40984
- function getAllLineIndices(hunksMap, path, hunkIndex) {
40985
- const hunks = hunksMap.get(path);
40986
- if (!hunks) return [];
40987
- const hunk = hunks.find(
40988
- (h) => h.startLineOld === hunkIndex || hunks.indexOf(h) === hunkIndex
40989
- );
40990
- if (!hunk) return [];
40991
- const indices = [];
40992
- for (let i = 0; i < hunk.lines.length; i++) {
40993
- const line = hunk.lines[i];
40994
- if (line.type === "addition" || line.type === "deletion") {
40995
- indices.push(i);
40996
- }
40997
- }
40998
- return indices;
40999
- }
41000
44027
  function computeGroupStats(files, originalFiles) {
41001
44028
  let additions = 0;
41002
44029
  let deletions = 0;
@@ -41018,22 +44045,22 @@ function SplitApp({
41018
44045
  onExit
41019
44046
  }) {
41020
44047
  const { exit } = use_app_default();
41021
- const committedMessagesRef = (0, import_react41.useRef)([]);
41022
- const [phase, setPhase] = (0, import_react41.useState)("collecting");
41023
- const [groups, setGroups] = (0, import_react41.useState)([]);
41024
- const [selectedIndex, setSelectedIndex] = (0, import_react41.useState)(0);
41025
- const [skippedGroups, setSkippedGroups] = (0, import_react41.useState)(/* @__PURE__ */ new Set());
41026
- const [commitProgress, setCommitProgress] = (0, import_react41.useState)(0);
41027
- const [errorMsg, setErrorMsg] = (0, import_react41.useState)("");
41028
- const [orphanCount, setOrphanCount] = (0, import_react41.useState)(0);
41029
- const [originalFiles, setOriginalFiles] = (0, import_react41.useState)([]);
41030
- const [hunksMap, setHunksMap] = (0, import_react41.useState)(/* @__PURE__ */ new Map());
41031
- const [patchMap, setPatchMap] = (0, import_react41.useState)(/* @__PURE__ */ new Map());
41032
- const [authToken, setAuthToken] = (0, import_react41.useState)("");
41033
- 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)(
41034
44061
  null
41035
44062
  );
41036
- const streamOptions = (0, import_react41.useMemo)(
44063
+ const streamOptions = (0, import_react72.useMemo)(
41037
44064
  () => streamPayload && phase === "analyzing" ? {
41038
44065
  path: streamPayload.path,
41039
44066
  body: streamPayload.body,
@@ -41045,13 +44072,13 @@ function SplitApp({
41045
44072
  [streamPayload, phase, deps.postStream]
41046
44073
  );
41047
44074
  const stream = usePipelineStream(streamOptions);
41048
- (0, import_react41.useEffect)(() => {
44075
+ (0, import_react72.useEffect)(() => {
41049
44076
  if (!TERMINAL_PHASES4.includes(phase)) return;
41050
44077
  const code = phase === "done" || phase === "aborted" ? 0 : 1;
41051
44078
  exit();
41052
44079
  onExit(code, phase === "done" ? committedMessagesRef.current : void 0);
41053
44080
  }, [phase]);
41054
- (0, import_react41.useEffect)(() => {
44081
+ (0, import_react72.useEffect)(() => {
41055
44082
  if (phase !== "analyzing") return;
41056
44083
  if (stream.result) {
41057
44084
  const sortedGroups = stream.result.groups.sort(
@@ -41072,7 +44099,7 @@ function SplitApp({
41072
44099
  setPhase("error-api");
41073
44100
  }
41074
44101
  }, [stream.result, stream.error, phase]);
41075
- (0, import_react41.useEffect)(() => {
44102
+ (0, import_react72.useEffect)(() => {
41076
44103
  async function run2() {
41077
44104
  const token = deps.readToken();
41078
44105
  if (!token) {
@@ -41194,86 +44221,29 @@ function SplitApp({
41194
44221
  setPhase("aborted");
41195
44222
  return;
41196
44223
  }
41197
- for (let i = 0; i < activeGroups2.length; i++) {
41198
- const group = activeGroups2[i];
41199
- try {
41200
- await deps.resetStaging();
41201
- for (const fileRef of group.files) {
41202
- if (!fileRef.selection || fileRef.selection === "all") {
41203
- await deps.stageFile(fileRef.path);
41204
- } else {
41205
- const currentDiff = await deps.getFileDiff(fileRef.path);
41206
- if (!currentDiff.trim()) {
41207
- continue;
41208
- }
41209
- const currentHunks = deps.parseHunks(currentDiff);
41210
- const originalHunks = hunksMap.get(fileRef.path) ?? [];
41211
- const allLineSelections = [];
41212
- for (const hs of fileRef.selection) {
41213
- const origHunk = originalHunks.find(
41214
- (h) => h.index === hs.hunkIndex
41215
- );
41216
- if (!origHunk) continue;
41217
- const wantedIndices = hs.lines === "all" ? getAllLineIndices(hunksMap, fileRef.path, hs.hunkIndex) : hs.lines;
41218
- const wantedLines = wantedIndices.map((idx) => origHunk.lines[idx]).filter(Boolean);
41219
- for (const curHunk of currentHunks) {
41220
- const matchedIndices = [];
41221
- for (const wanted of wantedLines) {
41222
- for (let ci = 0; ci < curHunk.lines.length; ci++) {
41223
- const curLine = curHunk.lines[ci];
41224
- if (curLine.type === wanted.type && curLine.content === wanted.content && !matchedIndices.includes(ci)) {
41225
- matchedIndices.push(ci);
41226
- break;
41227
- }
41228
- }
41229
- }
41230
- if (matchedIndices.length > 0) {
41231
- allLineSelections.push({
41232
- hunkIndex: curHunk.index,
41233
- lineIndices: matchedIndices
41234
- });
41235
- }
41236
- }
41237
- }
41238
- if (allLineSelections.length > 0) {
41239
- await deps.stageLines(currentDiff, allLineSelections);
41240
- }
41241
- }
41242
- }
41243
- if (!group.message) {
41244
- await deps.resetStaging();
41245
- setErrorMsg(
41246
- `Mensagem vazia no grupo ${i + 1}/${activeGroups2.length}. Abortando.`
41247
- );
41248
- setPhase("error-commit");
41249
- return;
41250
- }
41251
- const code = await deps.runGitCommit(group.message);
41252
- if (code !== 0) {
41253
- await deps.resetStaging();
41254
- setErrorMsg(
41255
- `git commit falhou no grupo ${i + 1}/${activeGroups2.length}: "${group.message}"`
41256
- );
41257
- setPhase("error-commit");
41258
- return;
41259
- }
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);
41260
44234
  if (authToken) {
41261
- await deps.apiPost("/split/confirm", { group }, authToken).catch((err) => {
44235
+ await deps.apiPost("/split/confirm", { group: activeGroups2[i] }, authToken).catch((err) => {
41262
44236
  console.error("[split-confirm] failed:", err.message ?? err);
41263
44237
  });
41264
44238
  }
41265
- setCommitProgress(i + 1);
41266
- } catch (e) {
41267
- await deps.resetStaging().catch(() => {
41268
- });
41269
- const detail = e instanceof Error ? e.message : "Erro desconhecido";
41270
- setErrorMsg(`Erro no grupo ${i + 1}/${activeGroups2.length}: ${detail}`);
41271
- setPhase("error-commit");
41272
- return;
41273
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");
41274
44246
  }
41275
- committedMessagesRef.current = activeGroups2.map((g) => g.message);
41276
- setPhase("done");
41277
44247
  }
41278
44248
  const activeGroups = groups.filter((g) => !skippedGroups.has(g.groupId));
41279
44249
  const activeGroupCount = activeGroups.length;
@@ -41370,6 +44340,12 @@ function SplitApp({
41370
44340
  " (ser\xE3o preservadas no working tree)"
41371
44341
  ] })
41372
44342
  ] }),
44343
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Text, { color: C.dim, children: [
44344
+ selectedIndex + 1,
44345
+ "/",
44346
+ groups.length,
44347
+ skippedGroups.size > 0 ? ` \xB7 ${skippedGroups.size} pulado${skippedGroups.size !== 1 ? "s" : ""}` : ""
44348
+ ] }) }),
41373
44349
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
41374
44350
  KeyHints,
41375
44351
  {
@@ -41389,7 +44365,7 @@ function SplitApp({
41389
44365
  const isActive = i === commitProgress;
41390
44366
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Box_default, { flexDirection: "column", children: [
41391
44367
  /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Box_default, { gap: 1, alignItems: "center", children: [
41392
- 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" }),
41393
44369
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(TypeBadge, { type: g.type }),
41394
44370
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
41395
44371
  Text,
@@ -41450,9 +44426,19 @@ function SplitApp({
41450
44426
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text, { color: C.red, children: errorMsg })
41451
44427
  ] })
41452
44428
  ] }),
41453
- (phase === "error-auth" || phase === "error-empty" || phase === "error-git" || phase === "error-api" || phase === "error-plan") && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Box_default, { gap: 1, marginTop: 1, children: [
41454
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text, { color: C.red, children: "\u2717" }),
41455
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text, { color: C.red, children: errorMsg })
44429
+ phase === "error-empty" && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
44430
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Box_default, { gap: 1, children: [
44431
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text, { color: C.yellow, children: "\u25B2" }),
44432
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text, { color: C.yellow, children: errorMsg })
44433
+ ] }),
44434
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Box_default, { marginLeft: 2, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text, { color: C.dim, children: "\u2192 Use git add ou remova --staged" }) })
44435
+ ] }),
44436
+ (phase === "error-auth" || phase === "error-git" || phase === "error-api" || phase === "error-plan") && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
44437
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Box_default, { gap: 1, children: [
44438
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text, { color: C.red, children: "\u2717" }),
44439
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text, { color: C.red, children: errorMsg })
44440
+ ] }),
44441
+ phase === "error-auth" && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Box_default, { marginLeft: 2, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text, { color: C.dim, children: "\u2192 Execute repomind login" }) })
41456
44442
  ] }),
41457
44443
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Box_default, { marginTop: 1 })
41458
44444
  ] })
@@ -41462,8 +44448,8 @@ function SplitApp({
41462
44448
  // src/commands/split.ts
41463
44449
  async function runGitCommit2(message) {
41464
44450
  const proc = Bun.spawn(["git", "commit", "-m", message], {
41465
- stdout: "inherit",
41466
- stderr: "inherit"
44451
+ stdout: "pipe",
44452
+ stderr: "pipe"
41467
44453
  });
41468
44454
  return proc.exited;
41469
44455
  }
@@ -41474,7 +44460,7 @@ async function splitCommand() {
41474
44460
  let completedCommits = [];
41475
44461
  enterImmersive();
41476
44462
  const { waitUntilExit } = render_default(
41477
- import_react42.default.createElement(SplitApp, {
44463
+ import_react73.default.createElement(SplitApp, {
41478
44464
  deps: {
41479
44465
  readToken,
41480
44466
  getAllChanges,
@@ -41493,6 +44479,8 @@ async function splitCommand() {
41493
44479
  apiPost: (path, body, tkn, timeoutMs) => apiClient.post(path, body, tkn, timeoutMs),
41494
44480
  postStream: (path, body, tkn, timeoutMs) => apiClient.postStream(path, body, tkn, timeoutMs),
41495
44481
  runGitCommit: runGitCommit2,
44482
+ commitViaWorktree,
44483
+ getRepoRoot,
41496
44484
  fileConfig,
41497
44485
  useStaged
41498
44486
  },
@@ -41506,7 +44494,7 @@ async function splitCommand() {
41506
44494
  exitImmersive();
41507
44495
  if (completedCommits.length > 0) {
41508
44496
  const { waitUntilExit: waitUntilExit2 } = render_default(
41509
- import_react42.default.createElement(SplitDoneSummary, { commits: completedCommits })
44497
+ import_react73.default.createElement(SplitDoneSummary, { commits: completedCommits })
41510
44498
  );
41511
44499
  await waitUntilExit2();
41512
44500
  }
@@ -41514,12 +44502,12 @@ async function splitCommand() {
41514
44502
  }
41515
44503
 
41516
44504
  // src/commands/whoami.tsx
41517
- var import_react43 = __toESM(require_react(), 1);
44505
+ var import_react74 = __toESM(require_react(), 1);
41518
44506
  var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1);
41519
44507
  function WhoamiApp({ onExit }) {
41520
44508
  const token = readToken();
41521
44509
  const payload = token ? decodeTokenPayload(token) : null;
41522
- (0, import_react43.useEffect)(() => {
44510
+ (0, import_react74.useEffect)(() => {
41523
44511
  onExit(payload ? 0 : 1);
41524
44512
  }, [onExit, payload]);
41525
44513
  const expiresDate = payload ? new Date(payload.exp * 1e3).toLocaleDateString("pt-BR", {
@@ -41555,7 +44543,7 @@ function WhoamiApp({ onExit }) {
41555
44543
  async function whoamiCommand() {
41556
44544
  let exitCode = 0;
41557
44545
  const { waitUntilExit } = render_default(
41558
- import_react43.default.createElement(WhoamiApp, {
44546
+ import_react74.default.createElement(WhoamiApp, {
41559
44547
  onExit: (code) => {
41560
44548
  exitCode = code;
41561
44549
  }
@@ -41567,7 +44555,7 @@ async function whoamiCommand() {
41567
44555
 
41568
44556
  // src/index.ts
41569
44557
  import { createRequire } from "node:module";
41570
- var import_react44 = __toESM(require_react(), 1);
44558
+ var import_react75 = __toESM(require_react(), 1);
41571
44559
 
41572
44560
  // src/ui/components/command-help.tsx
41573
44561
  var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1);
@@ -41699,7 +44687,7 @@ var COMMAND_HELP = {
41699
44687
  if (wantsHelp && command && COMMAND_HELP[command]) {
41700
44688
  const def = COMMAND_HELP[command];
41701
44689
  const { waitUntilExit } = render_default(
41702
- import_react44.default.createElement(CommandHelp, {
44690
+ import_react75.default.createElement(CommandHelp, {
41703
44691
  command,
41704
44692
  usage: def.usage,
41705
44693
  description: def.description,