@k-leumas/queque-cli 0.5.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/app.js CHANGED
@@ -34669,10 +34669,10 @@ var init_wrapper = __esm({
34669
34669
  }
34670
34670
  });
34671
34671
 
34672
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/devtools-window-polyfill.js
34672
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/devtools-window-polyfill.js
34673
34673
  var customGlobal;
34674
34674
  var init_devtools_window_polyfill = __esm({
34675
- "node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/devtools-window-polyfill.js"() {
34675
+ "node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/devtools-window-polyfill.js"() {
34676
34676
  "use strict";
34677
34677
  init_wrapper();
34678
34678
  customGlobal = globalThis;
@@ -34748,11 +34748,11 @@ var init_react_devtools_core = __esm({
34748
34748
  }
34749
34749
  });
34750
34750
 
34751
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/devtools.js
34751
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/devtools.js
34752
34752
  var devtools_exports = {};
34753
34753
  var isDevToolsReachable;
34754
34754
  var init_devtools = __esm({
34755
- async "node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/devtools.js"() {
34755
+ async "node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/devtools.js"() {
34756
34756
  "use strict";
34757
34757
  init_devtools_window_polyfill();
34758
34758
  init_wrapper();
@@ -48916,11 +48916,11 @@ import * as fsp3 from "fs/promises";
48916
48916
  import * as path4 from "path";
48917
48917
  import * as tty3 from "tty";
48918
48918
 
48919
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/render.js
48919
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/render.js
48920
48920
  import { Stream as Stream2 } from "stream";
48921
48921
  import process13 from "process";
48922
48922
 
48923
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/ink.js
48923
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/ink.js
48924
48924
  var import_react16 = __toESM(require_react(), 1);
48925
48925
  import process12 from "process";
48926
48926
 
@@ -49281,7 +49281,7 @@ function autoBind(self, { include, exclude } = {}) {
49281
49281
  return self;
49282
49282
  }
49283
49283
 
49284
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/ink.js
49284
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/ink.js
49285
49285
  var import_signal_exit2 = __toESM(require_signal_exit(), 1);
49286
49286
 
49287
49287
  // node_modules/.pnpm/patch-console@2.0.0/node_modules/patch-console/dist/index.js
@@ -49330,7 +49330,7 @@ var patchConsole = (callback) => {
49330
49330
  };
49331
49331
  var dist_default = patchConsole;
49332
49332
 
49333
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/ink.js
49333
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/ink.js
49334
49334
  var import_constants4 = __toESM(require_constants(), 1);
49335
49335
 
49336
49336
  // node_modules/.pnpm/yoga-layout@3.2.1/node_modules/yoga-layout/dist/binaries/yoga-wasm-base64-esm.js
@@ -51745,7 +51745,7 @@ var resize = () => {
51745
51745
  }
51746
51746
  };
51747
51747
 
51748
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/utils.js
51748
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/utils.js
51749
51749
  var getWindowSize = (stdout) => {
51750
51750
  const { columns, rows } = stdout;
51751
51751
  if (columns && rows) {
@@ -51758,7 +51758,7 @@ var getWindowSize = (stdout) => {
51758
51758
  };
51759
51759
  };
51760
51760
 
51761
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/reconciler.js
51761
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/reconciler.js
51762
51762
  var import_react_reconciler = __toESM(require_react_reconciler(), 1);
51763
51763
  var import_constants3 = __toESM(require_constants(), 1);
51764
51764
  var Scheduler = __toESM(require_scheduler(), 1);
@@ -51774,7 +51774,7 @@ function widestLine(string4) {
51774
51774
  return lineWidth;
51775
51775
  }
51776
51776
 
51777
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/measure-text.js
51777
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/measure-text.js
51778
51778
  var cache = /* @__PURE__ */ new Map();
51779
51779
  var measureText = (text) => {
51780
51780
  if (text.length === 0) {
@@ -52765,7 +52765,7 @@ function cliTruncate(text, columns, options = {}) {
52765
52765
  throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${position}`);
52766
52766
  }
52767
52767
 
52768
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/wrap-text.js
52768
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/wrap-text.js
52769
52769
  var cache2 = {};
52770
52770
  var wrapText = (text, maxWidth, wrapType) => {
52771
52771
  const cacheKey = text + String(maxWidth) + String(wrapType);
@@ -52802,7 +52802,7 @@ var wrapText = (text, maxWidth, wrapType) => {
52802
52802
  };
52803
52803
  var wrap_text_default = wrapText;
52804
52804
 
52805
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/ansi-tokenizer.js
52805
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/ansi-tokenizer.js
52806
52806
  var bellCharacter = "\x07";
52807
52807
  var escapeCharacter = "\x1B";
52808
52808
  var stringTerminatorCharacter = "\x9C";
@@ -53109,7 +53109,7 @@ var tokenizeAnsi2 = (text) => {
53109
53109
  return tokens;
53110
53110
  };
53111
53111
 
53112
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/sanitize-ansi.js
53112
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/sanitize-ansi.js
53113
53113
  var sgrParametersRegex = /^[\d:;]*$/;
53114
53114
  var sanitizeAnsi = (text) => {
53115
53115
  if (!hasAnsiControlCharacters(text)) {
@@ -53129,7 +53129,7 @@ var sanitizeAnsi = (text) => {
53129
53129
  };
53130
53130
  var sanitize_ansi_default = sanitizeAnsi;
53131
53131
 
53132
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/squash-text-nodes.js
53132
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/squash-text-nodes.js
53133
53133
  var squashTextNodes = (node) => {
53134
53134
  let text = "";
53135
53135
  for (let index = 0; index < node.childNodes.length; index++) {
@@ -53154,7 +53154,7 @@ var squashTextNodes = (node) => {
53154
53154
  };
53155
53155
  var squash_text_nodes_default = squashTextNodes;
53156
53156
 
53157
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/dom.js
53157
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/dom.js
53158
53158
  var createNode = (nodeName) => {
53159
53159
  const node = {
53160
53160
  nodeName,
@@ -53278,7 +53278,7 @@ var emitLayoutListeners = (rootNode) => {
53278
53278
  }
53279
53279
  };
53280
53280
 
53281
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/styles.js
53281
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/styles.js
53282
53282
  var positionEdges = [
53283
53283
  ["top", src_default.EDGE_TOP],
53284
53284
  ["right", src_default.EDGE_RIGHT],
@@ -53565,7 +53565,7 @@ var styles2 = (node, style = {}, currentStyle = style) => {
53565
53565
  };
53566
53566
  var styles_default = styles2;
53567
53567
 
53568
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/reconciler.js
53568
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/reconciler.js
53569
53569
  if (process4.env["DEV"] === "true") {
53570
53570
  let isDevtoolsInstalled = false;
53571
53571
  try {
@@ -53647,6 +53647,12 @@ var reconciler_default = (0, import_react_reconciler.default)({
53647
53647
  rootNode.onComputeLayout();
53648
53648
  }
53649
53649
  emitLayoutListeners(rootNode);
53650
+ if (rootNode.staticNode !== rootNode.previousStaticNode) {
53651
+ rootNode.previousStaticNode = rootNode.staticNode;
53652
+ if (typeof rootNode.onStaticChange === "function") {
53653
+ rootNode.onStaticChange();
53654
+ }
53655
+ }
53650
53656
  if (rootNode.isStaticDirty) {
53651
53657
  rootNode.isStaticDirty = false;
53652
53658
  if (typeof rootNode.onImmediateRender === "function") {
@@ -53756,7 +53762,7 @@ var reconciler_default = (0, import_react_reconciler.default)({
53756
53762
  removeChildFromContainer(node, removeNode) {
53757
53763
  removeChildNode(node, removeNode);
53758
53764
  cleanupYogaNode(removeNode.yogaNode);
53759
- if (removeNode.internal_static && currentRootNode) {
53765
+ if (removeNode.internal_static && currentRootNode?.staticNode === removeNode) {
53760
53766
  currentRootNode.staticNode = void 0;
53761
53767
  }
53762
53768
  },
@@ -53796,7 +53802,7 @@ var reconciler_default = (0, import_react_reconciler.default)({
53796
53802
  removeChild(node, removeNode) {
53797
53803
  removeChildNode(node, removeNode);
53798
53804
  cleanupYogaNode(removeNode.yogaNode);
53799
- if (removeNode.internal_static && currentRootNode) {
53805
+ if (removeNode.internal_static && currentRootNode?.staticNode === removeNode) {
53800
53806
  currentRootNode.staticNode = void 0;
53801
53807
  }
53802
53808
  },
@@ -53879,7 +53885,7 @@ function indentString(string4, count = 1, options = {}) {
53879
53885
  return string4.replace(regex2, indent.repeat(count));
53880
53886
  }
53881
53887
 
53882
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/get-max-width.js
53888
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/get-max-width.js
53883
53889
  var getMaxWidth = (yogaNode) => {
53884
53890
  return yogaNode.getComputedWidth() - yogaNode.getComputedPadding(src_default.EDGE_LEFT) - yogaNode.getComputedPadding(src_default.EDGE_RIGHT) - yogaNode.getComputedBorder(src_default.EDGE_LEFT) - yogaNode.getComputedBorder(src_default.EDGE_RIGHT);
53885
53891
  };
@@ -54467,7 +54473,7 @@ var chalk = createChalk();
54467
54473
  var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
54468
54474
  var source_default = chalk;
54469
54475
 
54470
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/colorize.js
54476
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/colorize.js
54471
54477
  var rgbRegex = /^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/;
54472
54478
  var ansiRegex2 = /^ansi256\(\s?(\d+)\s?\)$/;
54473
54479
  var isNamedColor = (color) => {
@@ -54509,7 +54515,7 @@ var colorize = (str, color, type) => {
54509
54515
  };
54510
54516
  var colorize_default = colorize;
54511
54517
 
54512
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/render-border.js
54518
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/render-border.js
54513
54519
  var stylePiece = (segment, fg, bg, dim) => {
54514
54520
  let styled = colorize_default(segment, fg, "foreground");
54515
54521
  styled = colorize_default(styled, bg, "background");
@@ -54580,7 +54586,7 @@ var renderBorder = (x, y, node, output) => {
54580
54586
  };
54581
54587
  var render_border_default = renderBorder;
54582
54588
 
54583
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/render-background.js
54589
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/render-background.js
54584
54590
  var renderBackground = (x, y, node, output) => {
54585
54591
  if (!node.style.backgroundColor) {
54586
54592
  return;
@@ -54603,7 +54609,7 @@ var renderBackground = (x, y, node, output) => {
54603
54609
  };
54604
54610
  var render_background_default = renderBackground;
54605
54611
 
54606
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/render-node-to-output.js
54612
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/render-node-to-output.js
54607
54613
  var applyPaddingToText = (node, text) => {
54608
54614
  const yogaNode = node.childNodes[0]?.yogaNode;
54609
54615
  if (yogaNode) {
@@ -55009,7 +55015,7 @@ function tokenize2(str, endChar = Number.POSITIVE_INFINITY) {
55009
55015
  return ret;
55010
55016
  }
55011
55017
 
55012
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/output.js
55018
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/output.js
55013
55019
  var OutputCaches = class {
55014
55020
  widths = /* @__PURE__ */ new Map();
55015
55021
  blockWidths = /* @__PURE__ */ new Map();
@@ -55197,7 +55203,7 @@ var Output = class {
55197
55203
  }
55198
55204
  };
55199
55205
 
55200
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/renderer.js
55206
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/renderer.js
55201
55207
  var renderer = (node, isScreenReaderEnabled) => {
55202
55208
  if (node.yogaNode) {
55203
55209
  if (isScreenReaderEnabled) {
@@ -55253,7 +55259,7 @@ var renderer = (node, isScreenReaderEnabled) => {
55253
55259
  };
55254
55260
  var renderer_default = renderer;
55255
55261
 
55256
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/cursor-helpers.js
55262
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/cursor-helpers.js
55257
55263
  var showCursorEscape = "\x1B[?25h";
55258
55264
  var hideCursorEscape = "\x1B[?25l";
55259
55265
  var cursorPositionChanged = (a, b) => a?.x !== b?.x || a?.y !== b?.y;
@@ -55328,7 +55334,7 @@ cliCursor.toggle = (force, writableStream) => {
55328
55334
  };
55329
55335
  var cli_cursor_default = cliCursor;
55330
55336
 
55331
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/log-update.js
55337
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/log-update.js
55332
55338
  var visibleLineCount = (lines, str) => str.endsWith("\n") ? lines.length - 1 : lines.length;
55333
55339
  var createStandard = (stream, { showCursor = false } = {}) => {
55334
55340
  let previousLineCount = 0;
@@ -55558,23 +55564,23 @@ var create2 = (stream, { showCursor = false, incremental = false } = {}) => {
55558
55564
  var logUpdate = { create: create2 };
55559
55565
  var log_update_default = logUpdate;
55560
55566
 
55561
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/write-synchronized.js
55567
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/write-synchronized.js
55562
55568
  var bsu = "\x1B[?2026h";
55563
55569
  var esu = "\x1B[?2026l";
55564
55570
  function shouldSynchronize(stream, interactive) {
55565
55571
  return "isTTY" in stream && stream.isTTY && (interactive ?? !is_in_ci_default);
55566
55572
  }
55567
55573
 
55568
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/instances.js
55574
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/instances.js
55569
55575
  var instances = /* @__PURE__ */ new WeakMap();
55570
55576
  var instances_default = instances;
55571
55577
 
55572
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/App.js
55578
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/App.js
55573
55579
  var import_react15 = __toESM(require_react(), 1);
55574
55580
  import { EventEmitter as EventEmitter2 } from "events";
55575
55581
  import process11 from "process";
55576
55582
 
55577
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/input-parser.js
55583
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/input-parser.js
55578
55584
  var escape = "\x1B";
55579
55585
  var pasteStart = "\x1B[200~";
55580
55586
  var pasteEnd = "\x1B[201~";
@@ -55759,19 +55765,32 @@ var createInputParser = () => {
55759
55765
  };
55760
55766
  };
55761
55767
 
55762
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/AppContext.js
55768
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/AppContext.js
55763
55769
  var import_react2 = __toESM(require_react(), 1);
55770
+ var noopSuspension = {
55771
+ async resume() {
55772
+ },
55773
+ async [Symbol.asyncDispose]() {
55774
+ }
55775
+ };
55764
55776
  var defaultValue = {
55765
55777
  exit(_errorOrResult) {
55766
55778
  },
55767
55779
  async waitUntilRenderFlush() {
55768
- }
55780
+ },
55781
+ suspendTerminal: (async (callback) => {
55782
+ if (callback) {
55783
+ await callback();
55784
+ return void 0;
55785
+ }
55786
+ return noopSuspension;
55787
+ })
55769
55788
  };
55770
55789
  var AppContext = (0, import_react2.createContext)(defaultValue);
55771
55790
  AppContext.displayName = "InternalAppContext";
55772
55791
  var AppContext_default = AppContext;
55773
55792
 
55774
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/StdinContext.js
55793
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/StdinContext.js
55775
55794
  var import_react3 = __toESM(require_react(), 1);
55776
55795
  import { EventEmitter } from "events";
55777
55796
  import process8 from "process";
@@ -55790,7 +55809,7 @@ var StdinContext = (0, import_react3.createContext)({
55790
55809
  StdinContext.displayName = "InternalStdinContext";
55791
55810
  var StdinContext_default = StdinContext;
55792
55811
 
55793
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/StdoutContext.js
55812
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/StdoutContext.js
55794
55813
  var import_react4 = __toESM(require_react(), 1);
55795
55814
  import process9 from "process";
55796
55815
  var StdoutContext = (0, import_react4.createContext)({
@@ -55801,7 +55820,7 @@ var StdoutContext = (0, import_react4.createContext)({
55801
55820
  StdoutContext.displayName = "InternalStdoutContext";
55802
55821
  var StdoutContext_default = StdoutContext;
55803
55822
 
55804
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/StderrContext.js
55823
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/StderrContext.js
55805
55824
  var import_react5 = __toESM(require_react(), 1);
55806
55825
  import process10 from "process";
55807
55826
  var StderrContext = (0, import_react5.createContext)({
@@ -55812,7 +55831,7 @@ var StderrContext = (0, import_react5.createContext)({
55812
55831
  StderrContext.displayName = "InternalStderrContext";
55813
55832
  var StderrContext_default = StderrContext;
55814
55833
 
55815
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/FocusContext.js
55834
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/FocusContext.js
55816
55835
  var import_react6 = __toESM(require_react(), 1);
55817
55836
  var FocusContext = (0, import_react6.createContext)({
55818
55837
  activeId: void 0,
@@ -55838,7 +55857,7 @@ var FocusContext = (0, import_react6.createContext)({
55838
55857
  FocusContext.displayName = "InternalFocusContext";
55839
55858
  var FocusContext_default = FocusContext;
55840
55859
 
55841
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/AnimationContext.js
55860
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/AnimationContext.js
55842
55861
  var import_react7 = __toESM(require_react(), 1);
55843
55862
  var animationContext = (0, import_react7.createContext)({
55844
55863
  renderThrottleMs: 0,
@@ -55853,7 +55872,7 @@ var animationContext = (0, import_react7.createContext)({
55853
55872
  animationContext.displayName = "InternalAnimationContext";
55854
55873
  var AnimationContext_default = animationContext;
55855
55874
 
55856
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/CursorContext.js
55875
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/CursorContext.js
55857
55876
  var import_react8 = __toESM(require_react(), 1);
55858
55877
  var CursorContext = (0, import_react8.createContext)({
55859
55878
  setCursorPosition() {
@@ -55862,10 +55881,10 @@ var CursorContext = (0, import_react8.createContext)({
55862
55881
  CursorContext.displayName = "InternalCursorContext";
55863
55882
  var CursorContext_default = CursorContext;
55864
55883
 
55865
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/ErrorBoundary.js
55884
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/ErrorBoundary.js
55866
55885
  var import_react14 = __toESM(require_react(), 1);
55867
55886
 
55868
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/ErrorOverview.js
55887
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/ErrorOverview.js
55869
55888
  var import_react13 = __toESM(require_react(), 1);
55870
55889
  var import_stack_utils = __toESM(require_stack_utils(), 1);
55871
55890
  import * as fs2 from "fs";
@@ -55903,20 +55922,20 @@ var codeExcerpt = (source, line, options = {}) => {
55903
55922
  };
55904
55923
  var dist_default3 = codeExcerpt;
55905
55924
 
55906
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/Box.js
55925
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/Box.js
55907
55926
  var import_react11 = __toESM(require_react(), 1);
55908
55927
 
55909
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/AccessibilityContext.js
55928
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/AccessibilityContext.js
55910
55929
  var import_react9 = __toESM(require_react(), 1);
55911
55930
  var accessibilityContext = (0, import_react9.createContext)({
55912
55931
  isScreenReaderEnabled: false
55913
55932
  });
55914
55933
 
55915
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/BackgroundContext.js
55934
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/BackgroundContext.js
55916
55935
  var import_react10 = __toESM(require_react(), 1);
55917
55936
  var backgroundContext = (0, import_react10.createContext)(void 0);
55918
55937
 
55919
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/Box.js
55938
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/Box.js
55920
55939
  var Box = (0, import_react11.forwardRef)(({ children, backgroundColor, "aria-label": ariaLabel, "aria-hidden": ariaHidden, "aria-role": role, "aria-state": ariaState, ...style }, ref) => {
55921
55940
  const { isScreenReaderEnabled } = (0, import_react11.useContext)(accessibilityContext);
55922
55941
  const label = ariaLabel ? import_react11.default.createElement("ink-text", null, ariaLabel) : void 0;
@@ -55944,7 +55963,7 @@ var Box = (0, import_react11.forwardRef)(({ children, backgroundColor, "aria-lab
55944
55963
  Box.displayName = "Box";
55945
55964
  var Box_default = Box;
55946
55965
 
55947
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/Text.js
55966
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/Text.js
55948
55967
  var import_react12 = __toESM(require_react(), 1);
55949
55968
  function Text({ color, backgroundColor, dimColor = false, bold = false, italic = false, underline = false, strikethrough = false, inverse = false, wrap = "wrap", children, "aria-label": ariaLabel, "aria-hidden": ariaHidden = false }) {
55950
55969
  const { isScreenReaderEnabled } = (0, import_react12.useContext)(accessibilityContext);
@@ -55987,7 +56006,7 @@ function Text({ color, backgroundColor, dimColor = false, bold = false, italic =
55987
56006
  return import_react12.default.createElement("ink-text", { style: { flexGrow: 0, flexShrink: 1, flexDirection: "row", textWrap: wrap }, internal_transform: transform2 }, childrenOrAriaLabel);
55988
56007
  }
55989
56008
 
55990
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/ErrorOverview.js
56009
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/ErrorOverview.js
55991
56010
  var cleanupPath = (path5) => {
55992
56011
  return path5?.replace(`file://${cwd()}/`, "");
55993
56012
  };
@@ -56001,6 +56020,7 @@ function ErrorOverview({ error: error43 }) {
56001
56020
  const filePath = cleanupPath(origin?.file);
56002
56021
  let excerpt;
56003
56022
  let lineWidth = 0;
56023
+ const stackLineCounts = /* @__PURE__ */ new Map();
56004
56024
  if (filePath && origin?.line && fs2.existsSync(filePath)) {
56005
56025
  const sourceCode = fs2.readFileSync(filePath, "utf8");
56006
56026
  excerpt = dist_default3(sourceCode, origin.line);
@@ -56060,10 +56080,13 @@ function ErrorOverview({ error: error43 }) {
56060
56080
  ))) : null,
56061
56081
  error43.stack ? import_react13.default.createElement(Box_default, { marginTop: 1, flexDirection: "column" }, error43.stack.split("\n").slice(1).map((line) => {
56062
56082
  const parsedLine = stackUtils.parseLine(line);
56063
- if (!parsedLine) {
56083
+ const lineCount = stackLineCounts.get(line) ?? 0;
56084
+ stackLineCounts.set(line, lineCount + 1);
56085
+ const key = `${line}-${lineCount}`;
56086
+ if (!parsedLine?.file || !parsedLine.line || !parsedLine.column) {
56064
56087
  return import_react13.default.createElement(
56065
56088
  Box_default,
56066
- { key: line },
56089
+ { key },
56067
56090
  import_react13.default.createElement(Text, { dimColor: true }, "- "),
56068
56091
  import_react13.default.createElement(
56069
56092
  Text,
@@ -56076,7 +56099,7 @@ function ErrorOverview({ error: error43 }) {
56076
56099
  }
56077
56100
  return import_react13.default.createElement(
56078
56101
  Box_default,
56079
- { key: line },
56102
+ { key },
56080
56103
  import_react13.default.createElement(Text, { dimColor: true }, "- "),
56081
56104
  import_react13.default.createElement(Text, { dimColor: true, bold: true }, parsedLine.function),
56082
56105
  import_react13.default.createElement(
@@ -56096,7 +56119,7 @@ function ErrorOverview({ error: error43 }) {
56096
56119
  );
56097
56120
  }
56098
56121
 
56099
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/ErrorBoundary.js
56122
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/ErrorBoundary.js
56100
56123
  var ErrorBoundary = class extends import_react14.PureComponent {
56101
56124
  static displayName = "InternalErrorBoundary";
56102
56125
  static getDerivedStateFromError(error43) {
@@ -56116,11 +56139,11 @@ var ErrorBoundary = class extends import_react14.PureComponent {
56116
56139
  }
56117
56140
  };
56118
56141
 
56119
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/App.js
56142
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/App.js
56120
56143
  var tab = " ";
56121
56144
  var shiftTab = "\x1B[Z";
56122
56145
  var escape2 = "\x1B";
56123
- function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, exitOnCtrlC, onExit, onWaitUntilRenderFlush, setCursorPosition, interactive, renderThrottleMs }) {
56146
+ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, exitOnCtrlC, onExit, onWaitUntilRenderFlush, onSuspendTerminal, onRegisterInputControl, setCursorPosition, interactive, renderThrottleMs }) {
56124
56147
  const [isFocusEnabled, setIsFocusEnabled] = (0, import_react15.useState)(true);
56125
56148
  const [activeFocusId, setActiveFocusId] = (0, import_react15.useState)(void 0);
56126
56149
  const [, setFocusables] = (0, import_react15.useState)([]);
@@ -56128,6 +56151,7 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
56128
56151
  const animationSubscribersRef = (0, import_react15.useRef)(/* @__PURE__ */ new Map());
56129
56152
  const animationTimerRef = (0, import_react15.useRef)(void 0);
56130
56153
  const rawModeEnabledCount = (0, import_react15.useRef)(0);
56154
+ const pendingDisableRawModeRef = (0, import_react15.useRef)(false);
56131
56155
  const bracketedPasteModeEnabledCount = (0, import_react15.useRef)(0);
56132
56156
  const internal_eventEmitter = (0, import_react15.useRef)(new EventEmitter2());
56133
56157
  internal_eventEmitter.current.setMaxListeners(Infinity);
@@ -56208,16 +56232,20 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
56208
56232
  stdin.removeListener("readable", readableListenerRef.current);
56209
56233
  readableListenerRef.current = void 0;
56210
56234
  }, [stdin]);
56235
+ const clearInputState = (0, import_react15.useCallback)(() => {
56236
+ inputParserRef.current.reset();
56237
+ clearPendingInputFlush();
56238
+ detachReadableListener();
56239
+ }, [clearPendingInputFlush, detachReadableListener]);
56211
56240
  const disableRawMode = (0, import_react15.useCallback)(() => {
56241
+ pendingDisableRawModeRef.current = false;
56212
56242
  stdin.setRawMode(false);
56213
- detachReadableListener();
56214
56243
  stdin.unref();
56215
56244
  rawModeEnabledCount.current = 0;
56216
- inputParserRef.current.reset();
56217
- clearPendingInputFlush();
56218
- }, [stdin, detachReadableListener, clearPendingInputFlush]);
56245
+ clearInputState();
56246
+ }, [stdin, clearInputState]);
56219
56247
  const handleExit = (0, import_react15.useCallback)((errorOrResult) => {
56220
- if (isRawModeSupported && rawModeEnabledCount.current > 0) {
56248
+ if (isRawModeSupported && (rawModeEnabledCount.current > 0 || pendingDisableRawModeRef.current)) {
56221
56249
  disableRawMode();
56222
56250
  }
56223
56251
  onExit(errorOrResult);
@@ -56267,6 +56295,13 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
56267
56295
  schedulePendingInputFlush();
56268
56296
  }
56269
56297
  }, [stdin, emitInput, clearPendingInputFlush, schedulePendingInputFlush]);
56298
+ const attachReadableListener = (0, import_react15.useCallback)(() => {
56299
+ if (readableListenerRef.current) {
56300
+ return;
56301
+ }
56302
+ readableListenerRef.current = handleReadable;
56303
+ stdin.addListener("readable", handleReadable);
56304
+ }, [stdin, handleReadable]);
56270
56305
  const handleSetRawMode = (0, import_react15.useCallback)((isEnabled) => {
56271
56306
  if (!isRawModeSupported) {
56272
56307
  if (stdin === process11.stdin) {
@@ -56278,10 +56313,13 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
56278
56313
  stdin.setEncoding("utf8");
56279
56314
  if (isEnabled) {
56280
56315
  if (rawModeEnabledCount.current === 0) {
56281
- stdin.ref();
56282
- stdin.setRawMode(true);
56283
- readableListenerRef.current = handleReadable;
56284
- stdin.addListener("readable", handleReadable);
56316
+ const isRawModeAlreadyEnabled = pendingDisableRawModeRef.current;
56317
+ pendingDisableRawModeRef.current = false;
56318
+ if (!isRawModeAlreadyEnabled) {
56319
+ stdin.ref();
56320
+ stdin.setRawMode(true);
56321
+ }
56322
+ attachReadableListener();
56285
56323
  }
56286
56324
  rawModeEnabledCount.current++;
56287
56325
  return;
@@ -56290,9 +56328,22 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
56290
56328
  return;
56291
56329
  }
56292
56330
  if (--rawModeEnabledCount.current === 0) {
56293
- disableRawMode();
56331
+ clearInputState();
56332
+ pendingDisableRawModeRef.current = true;
56333
+ queueMicrotask(() => {
56334
+ if (!pendingDisableRawModeRef.current) {
56335
+ return;
56336
+ }
56337
+ disableRawMode();
56338
+ });
56294
56339
  }
56295
- }, [isRawModeSupported, stdin, handleReadable, disableRawMode]);
56340
+ }, [
56341
+ isRawModeSupported,
56342
+ stdin,
56343
+ attachReadableListener,
56344
+ clearInputState,
56345
+ disableRawMode
56346
+ ]);
56296
56347
  const handleSetBracketedPasteMode = (0, import_react15.useCallback)((isEnabled) => {
56297
56348
  if (!stdout.isTTY) {
56298
56349
  return;
@@ -56311,6 +56362,47 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
56311
56362
  stdout.write("\x1B[?2004l");
56312
56363
  }
56313
56364
  }, [stdout]);
56365
+ const suspendedInputStateRef = (0, import_react15.useRef)({
56366
+ rawMode: false,
56367
+ bracketedPaste: false
56368
+ });
56369
+ const pauseInput = (0, import_react15.useCallback)(() => {
56370
+ const wasRawMode = isRawModeSupported && rawModeEnabledCount.current > 0;
56371
+ const wasBracketedPaste = bracketedPasteModeEnabledCount.current > 0;
56372
+ suspendedInputStateRef.current = {
56373
+ rawMode: wasRawMode,
56374
+ bracketedPaste: wasBracketedPaste
56375
+ };
56376
+ if (wasBracketedPaste && stdout.isTTY) {
56377
+ try {
56378
+ stdout.write("\x1B[?2004l");
56379
+ } catch {
56380
+ }
56381
+ }
56382
+ if (wasRawMode) {
56383
+ stdin.setRawMode(false);
56384
+ stdin.unref();
56385
+ clearInputState();
56386
+ }
56387
+ }, [isRawModeSupported, stdin, stdout, clearInputState]);
56388
+ const resumeInput = (0, import_react15.useCallback)(() => {
56389
+ const { rawMode, bracketedPaste } = suspendedInputStateRef.current;
56390
+ if (rawMode) {
56391
+ stdin.setEncoding("utf8");
56392
+ stdin.ref();
56393
+ stdin.setRawMode(true);
56394
+ attachReadableListener();
56395
+ }
56396
+ if (bracketedPaste && stdout.isTTY) {
56397
+ try {
56398
+ stdout.write("\x1B[?2004h");
56399
+ } catch {
56400
+ }
56401
+ }
56402
+ }, [stdin, stdout, attachReadableListener]);
56403
+ (0, import_react15.useInsertionEffect)(() => {
56404
+ onRegisterInputControl(pauseInput, resumeInput);
56405
+ }, [onRegisterInputControl, pauseInput, resumeInput]);
56314
56406
  const findNextFocusable = (0, import_react15.useCallback)((currentFocusables, currentActiveFocusId) => {
56315
56407
  const activeIndex = currentFocusables.findIndex((focusable) => {
56316
56408
  return focusable.id === currentActiveFocusId;
@@ -56456,7 +56548,7 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
56456
56548
  if (interactive && canWriteToStdout) {
56457
56549
  cli_cursor_default.show(stdout);
56458
56550
  }
56459
- if (isRawModeSupported && rawModeEnabledCount.current > 0) {
56551
+ if (isRawModeSupported && (rawModeEnabledCount.current > 0 || pendingDisableRawModeRef.current)) {
56460
56552
  disableRawMode();
56461
56553
  }
56462
56554
  if (bracketedPasteModeEnabledCount.current > 0) {
@@ -56469,8 +56561,9 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
56469
56561
  }, [stdout, isRawModeSupported, disableRawMode, interactive]);
56470
56562
  const appContextValue = (0, import_react15.useMemo)(() => ({
56471
56563
  exit: handleExit,
56472
- waitUntilRenderFlush: onWaitUntilRenderFlush
56473
- }), [handleExit, onWaitUntilRenderFlush]);
56564
+ waitUntilRenderFlush: onWaitUntilRenderFlush,
56565
+ suspendTerminal: onSuspendTerminal
56566
+ }), [handleExit, onWaitUntilRenderFlush, onSuspendTerminal]);
56474
56567
  const stdinContextValue = (0, import_react15.useMemo)(() => ({
56475
56568
  stdin,
56476
56569
  setRawMode: handleSetRawMode,
@@ -56558,7 +56651,7 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
56558
56651
  App.displayName = "InternalApp";
56559
56652
  var App_default = App;
56560
56653
 
56561
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/kitty-keyboard.js
56654
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/kitty-keyboard.js
56562
56655
  var kittyFlags = {
56563
56656
  disambiguateEscapeCodes: 1,
56564
56657
  reportEventTypes: 2,
@@ -56584,7 +56677,7 @@ var kittyModifiers = {
56584
56677
  numLock: 128
56585
56678
  };
56586
56679
 
56587
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/ink.js
56680
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/ink.js
56588
56681
  var noop2 = () => {
56589
56682
  };
56590
56683
  var textEncoder = new TextEncoder();
@@ -56644,6 +56737,7 @@ var stripKittyQueryResponsesAndTrailingPartial = (buffer) => {
56644
56737
  }
56645
56738
  return keptBytes;
56646
56739
  };
56740
+ var isWindowsConsole = process12.platform === "win32";
56647
56741
  var shouldClearTerminalForFrame = ({ isTty, viewportRows, previousOutputHeight, nextOutputHeight, isUnmounting }) => {
56648
56742
  if (!isTty) {
56649
56743
  return false;
@@ -56652,8 +56746,12 @@ var shouldClearTerminalForFrame = ({ isTty, viewportRows, previousOutputHeight,
56652
56746
  const wasFullscreen = previousOutputHeight >= viewportRows;
56653
56747
  const wasOverflowing = previousOutputHeight > viewportRows;
56654
56748
  const isOverflowing = nextOutputHeight > viewportRows;
56749
+ const isFullscreen = nextOutputHeight >= viewportRows;
56655
56750
  const isLeavingFullscreen = wasFullscreen && nextOutputHeight < viewportRows;
56656
56751
  const shouldClearOnUnmount = isUnmounting && wasFullscreen;
56752
+ if (isWindowsConsole && (wasFullscreen || isFullscreen)) {
56753
+ return true;
56754
+ }
56657
56755
  return (
56658
56756
  // Overflowing frames still need full clear fallback.
56659
56757
  wasOverflowing || isOverflowing && hadPreviousFrame || // Clear when shrinking from fullscreen to non-fullscreen output.
@@ -56717,8 +56815,15 @@ var Ink = class {
56717
56815
  throttledOnRender;
56718
56816
  hasPendingThrottledRender = false;
56719
56817
  kittyProtocolEnabled = false;
56818
+ kittyFlags;
56720
56819
  cancelKittyDetection;
56721
56820
  nextRenderCommit;
56821
+ // Set while suspendTerminal() has handed the terminal to a child process.
56822
+ isSuspended = false;
56823
+ // Input pause/resume hooks registered by the App component, which owns raw
56824
+ // mode and bracketed paste state.
56825
+ pauseInput;
56826
+ resumeInput;
56722
56827
  constructor(options) {
56723
56828
  autoBind(this);
56724
56829
  this.options = options;
@@ -56746,6 +56851,7 @@ var Ink = class {
56746
56851
  this.throttledOnRender = throttled;
56747
56852
  }
56748
56853
  this.rootNode.onImmediateRender = this.onRender;
56854
+ this.rootNode.onStaticChange = this.handleStaticChange;
56749
56855
  this.log = log_update_default.create(options.stdout, {
56750
56856
  incremental: options.incrementalRendering
56751
56857
  });
@@ -56807,6 +56913,7 @@ var Ink = class {
56807
56913
  this.lastOutputToRender = "";
56808
56914
  }
56809
56915
  this.calculateLayout();
56916
+ emitLayoutListeners(this.rootNode);
56810
56917
  this.onRender();
56811
56918
  this.lastTerminalWidth = currentWidth;
56812
56919
  };
@@ -56843,11 +56950,22 @@ var Ink = class {
56843
56950
  this.rootNode.yogaNode.setWidth(terminalWidth);
56844
56951
  this.rootNode.yogaNode.calculateLayout(void 0, void 0, src_default.DIRECTION_LTR);
56845
56952
  };
56953
+ // Resets `fullStaticOutput` when the <Static> identity changes so stale items from a previous instance are not replayed on future rewrites.
56954
+ handleStaticChange = () => {
56955
+ this.fullStaticOutput = "";
56956
+ };
56846
56957
  onRender = () => {
56847
56958
  this.hasPendingThrottledRender = false;
56848
56959
  if (this.isUnmounted) {
56849
56960
  return;
56850
56961
  }
56962
+ if (this.isSuspended) {
56963
+ if (this.nextRenderCommit) {
56964
+ this.nextRenderCommit.resolve();
56965
+ this.nextRenderCommit = void 0;
56966
+ }
56967
+ return;
56968
+ }
56851
56969
  if (this.nextRenderCommit) {
56852
56970
  this.nextRenderCommit.resolve();
56853
56971
  this.nextRenderCommit = void 0;
@@ -56919,7 +57037,7 @@ var Ink = class {
56919
57037
  const tree = import_react16.default.createElement(
56920
57038
  accessibilityContext.Provider,
56921
57039
  { value: { isScreenReaderEnabled: this.isScreenReaderEnabled } },
56922
- import_react16.default.createElement(App_default, { stdin: this.options.stdin, stdout: this.options.stdout, stderr: this.options.stderr, exitOnCtrlC: this.options.exitOnCtrlC, interactive: this.interactive, renderThrottleMs: this.renderThrottleMs, writeToStdout: this.writeToStdout, writeToStderr: this.writeToStderr, setCursorPosition: this.setCursorPosition, onExit: this.handleAppExit, onWaitUntilRenderFlush: this.waitUntilRenderFlush }, node)
57040
+ import_react16.default.createElement(App_default, { stdin: this.options.stdin, stdout: this.options.stdout, stderr: this.options.stderr, exitOnCtrlC: this.options.exitOnCtrlC, interactive: this.interactive, renderThrottleMs: this.renderThrottleMs, writeToStdout: this.writeToStdout, writeToStderr: this.writeToStderr, setCursorPosition: this.setCursorPosition, onExit: this.handleAppExit, onWaitUntilRenderFlush: this.waitUntilRenderFlush, onSuspendTerminal: this.suspendTerminal, onRegisterInputControl: this.registerInputControl }, node)
56923
57041
  );
56924
57042
  if (this.options.concurrent) {
56925
57043
  reconciler_default.updateContainer(tree, this.container, null, noop2);
@@ -56932,6 +57050,9 @@ var Ink = class {
56932
57050
  if (this.isUnmounted) {
56933
57051
  return;
56934
57052
  }
57053
+ if (this.isSuspended) {
57054
+ return;
57055
+ }
56935
57056
  if (this.options.debug) {
56936
57057
  this.options.stdout.write(data + this.fullStaticOutput + this.lastOutput);
56937
57058
  return;
@@ -56955,6 +57076,9 @@ var Ink = class {
56955
57076
  if (this.isUnmounted) {
56956
57077
  return;
56957
57078
  }
57079
+ if (this.isSuspended) {
57080
+ return;
57081
+ }
56958
57082
  if (this.options.debug) {
56959
57083
  this.options.stderr.write(data);
56960
57084
  this.options.stdout.write(this.fullStaticOutput + this.lastOutput);
@@ -57118,6 +57242,25 @@ var Ink = class {
57118
57242
  }
57119
57243
  });
57120
57244
  }
57245
+ registerInputControl(pauseInput, resumeInput) {
57246
+ this.pauseInput = pauseInput;
57247
+ this.resumeInput = resumeInput;
57248
+ }
57249
+ async suspendTerminal(callback) {
57250
+ this.beginSuspend();
57251
+ if (callback) {
57252
+ try {
57253
+ await callback();
57254
+ } finally {
57255
+ await this.endSuspend();
57256
+ }
57257
+ return void 0;
57258
+ }
57259
+ const resume = async () => {
57260
+ await this.endSuspend();
57261
+ };
57262
+ return { resume, [Symbol.asyncDispose]: resume };
57263
+ }
57121
57264
  setAlternateScreen(enabled) {
57122
57265
  this.alternateScreen = this.resolveAlternateScreenOption(enabled, this.interactive);
57123
57266
  if (this.alternateScreen) {
@@ -57181,7 +57324,7 @@ var Ink = class {
57181
57324
  if (sync) {
57182
57325
  this.options.stdout.write(bsu);
57183
57326
  }
57184
- this.options.stdout.write(base_exports.clearTerminal + this.fullStaticOutput + output);
57327
+ this.options.stdout.write(base_exports.clearTerminal + this.fullStaticOutput + outputToRender);
57185
57328
  this.lastOutput = output;
57186
57329
  this.lastOutputToRender = outputToRender;
57187
57330
  this.lastOutputHeight = outputHeight;
@@ -57263,10 +57406,74 @@ var Ink = class {
57263
57406
  enableKittyProtocol(flags) {
57264
57407
  this.options.stdout.write(`\x1B[>${resolveFlags(flags)}u`);
57265
57408
  this.kittyProtocolEnabled = true;
57409
+ this.kittyFlags = flags;
57410
+ }
57411
+ beginSuspend() {
57412
+ if (this.isSuspended) {
57413
+ throw new Error("The terminal is already suspended. Resume the current suspension before suspending again.");
57414
+ }
57415
+ this.isSuspended = true;
57416
+ if (!this.interactive || this.isUnmounted || this.isUnmounting) {
57417
+ return;
57418
+ }
57419
+ try {
57420
+ const stdout = this.options.stdout;
57421
+ const { canWriteToStdout } = getWritableStreamState(stdout);
57422
+ settleThrottle(this.throttledOnRender, canWriteToStdout);
57423
+ settleThrottle(this.throttledLog, canWriteToStdout);
57424
+ if (canWriteToStdout) {
57425
+ this.log.clear();
57426
+ this.log.done();
57427
+ if (this.kittyProtocolEnabled) {
57428
+ this.writeBestEffort(this.options.stdout, "\x1B[<u");
57429
+ }
57430
+ if (this.alternateScreen) {
57431
+ this.writeBestEffort(this.options.stdout, base_exports.exitAlternativeScreen);
57432
+ }
57433
+ }
57434
+ this.pauseInput?.();
57435
+ } catch (error43) {
57436
+ this.isSuspended = false;
57437
+ try {
57438
+ this.resumeInput?.();
57439
+ } catch {
57440
+ }
57441
+ throw error43;
57442
+ }
57443
+ }
57444
+ async endSuspend() {
57445
+ if (!this.isSuspended) {
57446
+ return;
57447
+ }
57448
+ this.isSuspended = false;
57449
+ this.resumeInput?.();
57450
+ if (!this.interactive || this.isUnmounted || this.isUnmounting) {
57451
+ return;
57452
+ }
57453
+ const stdout = this.options.stdout;
57454
+ const { canWriteToStdout } = getWritableStreamState(stdout);
57455
+ if (canWriteToStdout) {
57456
+ if (this.alternateScreen) {
57457
+ this.writeBestEffort(this.options.stdout, base_exports.enterAlternativeScreen);
57458
+ }
57459
+ if (this.kittyProtocolEnabled && this.kittyFlags) {
57460
+ this.writeBestEffort(this.options.stdout, `\x1B[>${resolveFlags(this.kittyFlags)}u`);
57461
+ }
57462
+ }
57463
+ this.lastOutput = "";
57464
+ this.lastOutputToRender = "";
57465
+ this.lastOutputHeight = 0;
57466
+ this.log.reset();
57467
+ try {
57468
+ this.calculateLayout();
57469
+ this.onRender();
57470
+ await this.waitUntilRenderFlush();
57471
+ } catch {
57472
+ }
57266
57473
  }
57267
57474
  };
57268
57475
 
57269
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/render.js
57476
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/render.js
57270
57477
  var render = (node, options) => {
57271
57478
  const inkOptions = {
57272
57479
  stdout: process13.stdout,
@@ -57317,25 +57524,25 @@ var getInstance = (stdout, createInstance) => {
57317
57524
  return instance;
57318
57525
  };
57319
57526
 
57320
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/render-to-string.js
57527
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/render-to-string.js
57321
57528
  var import_constants5 = __toESM(require_constants(), 1);
57322
57529
 
57323
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/Static.js
57530
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/Static.js
57324
57531
  var import_react17 = __toESM(require_react(), 1);
57325
57532
 
57326
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/Transform.js
57533
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/Transform.js
57327
57534
  var import_react18 = __toESM(require_react(), 1);
57328
57535
 
57329
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/Newline.js
57536
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/Newline.js
57330
57537
  var import_react19 = __toESM(require_react(), 1);
57331
57538
 
57332
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/Spacer.js
57539
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/components/Spacer.js
57333
57540
  var import_react20 = __toESM(require_react(), 1);
57334
57541
 
57335
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-input.js
57542
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-input.js
57336
57543
  var import_react22 = __toESM(require_react(), 1);
57337
57544
 
57338
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/parse-keypress.js
57545
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/parse-keypress.js
57339
57546
  var textDecoder = new TextDecoder();
57340
57547
  var metaKeyCodeRe = /^(?:\x1b)([a-zA-Z0-9])$/;
57341
57548
  var fnKeyRe = /^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/;
@@ -57767,13 +57974,13 @@ var parseKeypress = (s = "") => {
57767
57974
  };
57768
57975
  var parse_keypress_default = parseKeypress;
57769
57976
 
57770
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-stdin.js
57977
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-stdin.js
57771
57978
  var import_react21 = __toESM(require_react(), 1);
57772
57979
  var useStdin = () => (0, import_react21.useContext)(StdinContext_default);
57773
57980
  var useStdinContext = () => (0, import_react21.useContext)(StdinContext_default);
57774
57981
  var use_stdin_default = useStdin;
57775
57982
 
57776
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-input.js
57983
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-input.js
57777
57984
  var useInput = (inputHandler, options = {}) => {
57778
57985
  const { setRawMode, internal_exitOnCtrlC, internal_eventEmitter } = useStdinContext();
57779
57986
  (0, import_react22.useEffect)(() => {
@@ -57853,39 +58060,39 @@ var useInput = (inputHandler, options = {}) => {
57853
58060
  };
57854
58061
  var use_input_default = useInput;
57855
58062
 
57856
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-paste.js
58063
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-paste.js
57857
58064
  var import_react23 = __toESM(require_react(), 1);
57858
58065
 
57859
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-app.js
58066
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-app.js
57860
58067
  var import_react24 = __toESM(require_react(), 1);
57861
58068
 
57862
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-stdout.js
58069
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-stdout.js
57863
58070
  var import_react25 = __toESM(require_react(), 1);
57864
58071
  var useStdout = () => (0, import_react25.useContext)(StdoutContext_default);
57865
58072
  var use_stdout_default = useStdout;
57866
58073
 
57867
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-stderr.js
58074
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-stderr.js
57868
58075
  var import_react26 = __toESM(require_react(), 1);
57869
58076
 
57870
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-focus.js
58077
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-focus.js
57871
58078
  var import_react27 = __toESM(require_react(), 1);
57872
58079
 
57873
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-focus-manager.js
58080
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-focus-manager.js
57874
58081
  var import_react28 = __toESM(require_react(), 1);
57875
58082
 
57876
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js
58083
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js
57877
58084
  var import_react29 = __toESM(require_react(), 1);
57878
58085
 
57879
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-cursor.js
58086
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-cursor.js
57880
58087
  var import_react30 = __toESM(require_react(), 1);
57881
58088
 
57882
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-animation.js
58089
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-animation.js
57883
58090
  var import_react31 = __toESM(require_react(), 1);
57884
58091
 
57885
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-window-size.js
58092
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-window-size.js
57886
58093
  var import_react32 = __toESM(require_react(), 1);
57887
58094
 
57888
- // node_modules/.pnpm/ink@7.0.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-box-metrics.js
58095
+ // node_modules/.pnpm/ink@7.1.1_@types+react@19.2.14_react@19.2.0/node_modules/ink/build/hooks/use-box-metrics.js
57889
58096
  var import_react33 = __toESM(require_react(), 1);
57890
58097
 
57891
58098
  // src/client/run-foreground.ts
@@ -59483,7 +59690,7 @@ function CandidateSelect({
59483
59690
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Text, { dimColor: true, children: legend.slice(MISSING_TOOL_MARK.length) })
59484
59691
  ] }),
59485
59692
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ControlsLine, {}),
59486
- process.env.QQ_DEV_ROOT != null && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Box_default, { justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Text, { color: "yellow", children: `dev v${"0.5.1"} ${"2414347"}` }) })
59693
+ process.env.QQ_DEV_ROOT != null && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Box_default, { justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Text, { color: "yellow", children: `dev v${"0.5.2"} ${"5ac6fa8"}` }) })
59487
59694
  ] });
59488
59695
  }
59489
59696