@elench/testkit 0.1.114 → 0.1.116

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 (212) hide show
  1. package/README.md +33 -8
  2. package/lib/cli/args.mjs +3 -3
  3. package/lib/cli/assistant/app.mjs +4 -2
  4. package/lib/cli/assistant/session.mjs +5 -1
  5. package/lib/cli/assistant/state.mjs +1 -2
  6. package/lib/cli/command-flags.mjs +4 -0
  7. package/lib/cli/commands/db/schema/refresh.mjs +21 -0
  8. package/lib/cli/commands/db/schema/verify.mjs +27 -0
  9. package/lib/cli/components/blocks/run-tree.mjs +7 -2
  10. package/lib/cli/components/hooks/use-element-layout.mjs +63 -0
  11. package/lib/cli/components/hooks/use-spinner-frame.mjs +26 -0
  12. package/lib/cli/entrypoint.mjs +1 -0
  13. package/lib/cli/operations/db/schema/refresh/operation.mjs +56 -0
  14. package/lib/cli/operations/db/{snapshot/capture → schema/verify}/operation.mjs +6 -27
  15. package/lib/cli/operations/run/operation.mjs +1 -0
  16. package/lib/cli/renderers/db-schema/text.mjs +7 -0
  17. package/lib/config/database.mjs +64 -0
  18. package/lib/config-api/index.d.ts +16 -1
  19. package/lib/config-api/index.mjs +31 -16
  20. package/lib/database/fingerprint.mjs +2 -0
  21. package/lib/database/index.mjs +142 -104
  22. package/lib/database/schema-source.mjs +295 -0
  23. package/lib/database/template-steps.mjs +158 -38
  24. package/lib/runner/orchestrator.mjs +4 -3
  25. package/lib/runner/template-steps.mjs +12 -1
  26. package/lib/runner/template.mjs +16 -1
  27. package/node_modules/@alcalzone/ansi-tokenize/README.md +0 -5
  28. package/node_modules/@alcalzone/ansi-tokenize/build/ansiCodes.d.ts +8 -0
  29. package/node_modules/@alcalzone/ansi-tokenize/build/ansiCodes.js +10 -8
  30. package/node_modules/@alcalzone/ansi-tokenize/build/ansiCodes.js.map +1 -1
  31. package/node_modules/@alcalzone/ansi-tokenize/build/tokenize.d.ts +1 -5
  32. package/node_modules/@alcalzone/ansi-tokenize/build/tokenize.js +9 -45
  33. package/node_modules/@alcalzone/ansi-tokenize/build/tokenize.js.map +1 -1
  34. package/node_modules/@alcalzone/ansi-tokenize/package.json +1 -1
  35. package/node_modules/@elench/next-analysis/package.json +1 -1
  36. package/node_modules/@elench/testkit-bridge/package.json +2 -2
  37. package/node_modules/@elench/testkit-protocol/package.json +1 -1
  38. package/node_modules/@elench/ts-analysis/package.json +1 -1
  39. package/node_modules/cli-boxes/index.d.ts +95 -90
  40. package/node_modules/cli-boxes/index.js +5 -2
  41. package/node_modules/cli-boxes/package.json +6 -13
  42. package/node_modules/cli-boxes/readme.md +15 -3
  43. package/node_modules/cli-truncate/index.d.ts +1 -1
  44. package/node_modules/cli-truncate/package.json +4 -4
  45. package/node_modules/cli-truncate/readme.md +1 -0
  46. package/node_modules/es-toolkit/CHANGELOG.md +801 -0
  47. package/node_modules/es-toolkit/src/compat/_internal/Equals.d.ts +1 -0
  48. package/node_modules/es-toolkit/src/compat/_internal/IsWritable.d.ts +3 -0
  49. package/node_modules/es-toolkit/src/compat/_internal/MutableList.d.ts +4 -0
  50. package/node_modules/es-toolkit/src/compat/_internal/RejectReadonly.d.ts +4 -0
  51. package/node_modules/esprima/ChangeLog +235 -0
  52. package/node_modules/ink/build/apply-styles.js +175 -0
  53. package/node_modules/ink/build/build-layout.js +77 -0
  54. package/node_modules/ink/build/calculate-wrapped-text.js +53 -0
  55. package/node_modules/ink/build/components/App.d.ts +1 -4
  56. package/node_modules/ink/build/components/App.js +22 -142
  57. package/node_modules/ink/build/components/App.js.map +1 -1
  58. package/node_modules/ink/build/components/AppContext.d.ts +3 -23
  59. package/node_modules/ink/build/components/AppContext.js +4 -7
  60. package/node_modules/ink/build/components/AppContext.js.map +1 -1
  61. package/node_modules/ink/build/components/Box.d.ts +3 -16
  62. package/node_modules/ink/build/components/Color.js +62 -0
  63. package/node_modules/ink/build/components/Cursor.d.ts +83 -0
  64. package/node_modules/ink/build/components/Cursor.js +53 -0
  65. package/node_modules/ink/build/components/Cursor.js.map +1 -0
  66. package/node_modules/ink/build/components/ErrorBoundary.d.ts +2 -2
  67. package/node_modules/ink/build/components/ErrorOverview.js +6 -6
  68. package/node_modules/ink/build/components/ErrorOverview.js.map +1 -1
  69. package/node_modules/ink/build/components/Static.js.map +1 -1
  70. package/node_modules/ink/build/components/StdinContext.d.ts +1 -7
  71. package/node_modules/ink/build/components/StdinContext.js +0 -1
  72. package/node_modules/ink/build/components/StdinContext.js.map +1 -1
  73. package/node_modules/ink/build/components/Text.d.ts +1 -1
  74. package/node_modules/ink/build/components/Text.js +1 -1
  75. package/node_modules/ink/build/components/Text.js.map +1 -1
  76. package/node_modules/ink/build/components/Transform.d.ts +1 -1
  77. package/node_modules/ink/build/devtools-window-polyfill.js +4 -7
  78. package/node_modules/ink/build/devtools-window-polyfill.js.map +1 -1
  79. package/node_modules/ink/build/devtools.js +6 -31
  80. package/node_modules/ink/build/devtools.js.map +1 -1
  81. package/node_modules/ink/build/dom.d.ts +1 -5
  82. package/node_modules/ink/build/dom.js +1 -20
  83. package/node_modules/ink/build/dom.js.map +1 -1
  84. package/node_modules/ink/build/experimental/apply-style.js +140 -0
  85. package/node_modules/ink/build/experimental/dom.js +123 -0
  86. package/node_modules/ink/build/experimental/output.js +91 -0
  87. package/node_modules/ink/build/experimental/reconciler.js +141 -0
  88. package/node_modules/ink/build/experimental/renderer.js +81 -0
  89. package/node_modules/ink/build/hooks/use-app.d.ts +1 -1
  90. package/node_modules/ink/build/hooks/use-app.js +1 -1
  91. package/node_modules/ink/build/hooks/use-cursor.d.ts +1 -1
  92. package/node_modules/ink/build/hooks/use-cursor.js +1 -1
  93. package/node_modules/ink/build/hooks/use-focus-manager.d.ts +2 -17
  94. package/node_modules/ink/build/hooks/use-focus-manager.js +1 -2
  95. package/node_modules/ink/build/hooks/use-focus-manager.js.map +1 -1
  96. package/node_modules/ink/build/hooks/use-focus.d.ts +1 -2
  97. package/node_modules/ink/build/hooks/use-focus.js +4 -5
  98. package/node_modules/ink/build/hooks/use-focus.js.map +1 -1
  99. package/node_modules/ink/build/hooks/use-input.d.ts +1 -2
  100. package/node_modules/ink/build/hooks/use-input.js +80 -82
  101. package/node_modules/ink/build/hooks/use-input.js.map +1 -1
  102. package/node_modules/ink/build/hooks/use-is-screen-reader-enabled.d.ts +1 -2
  103. package/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js +1 -2
  104. package/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js.map +1 -1
  105. package/node_modules/ink/build/hooks/use-stderr.d.ts +1 -1
  106. package/node_modules/ink/build/hooks/use-stderr.js +1 -1
  107. package/node_modules/ink/build/hooks/use-stdin.d.ts +2 -4
  108. package/node_modules/ink/build/hooks/use-stdin.js +1 -2
  109. package/node_modules/ink/build/hooks/use-stdin.js.map +1 -1
  110. package/node_modules/ink/build/hooks/use-stdout.d.ts +1 -1
  111. package/node_modules/ink/build/hooks/use-stdout.js +1 -1
  112. package/node_modules/ink/build/hooks/useInput.js +38 -0
  113. package/node_modules/ink/build/index.d.ts +1 -8
  114. package/node_modules/ink/build/index.js +0 -4
  115. package/node_modules/ink/build/index.js.map +1 -1
  116. package/node_modules/ink/build/ink.d.ts +3 -48
  117. package/node_modules/ink/build/ink.js +155 -325
  118. package/node_modules/ink/build/ink.js.map +1 -1
  119. package/node_modules/ink/build/input-parser.d.ts +1 -4
  120. package/node_modules/ink/build/input-parser.js +30 -70
  121. package/node_modules/ink/build/input-parser.js.map +1 -1
  122. package/node_modules/ink/build/instance.js +205 -0
  123. package/node_modules/ink/build/layout.d.ts +7 -0
  124. package/node_modules/ink/build/layout.js +33 -0
  125. package/node_modules/ink/build/layout.js.map +1 -0
  126. package/node_modules/ink/build/log-update.d.ts +0 -1
  127. package/node_modules/ink/build/log-update.js +1 -13
  128. package/node_modules/ink/build/log-update.js.map +1 -1
  129. package/node_modules/ink/build/measure-element.d.ts +0 -4
  130. package/node_modules/ink/build/measure-element.js +0 -4
  131. package/node_modules/ink/build/measure-element.js.map +1 -1
  132. package/node_modules/ink/build/options.d.ts +52 -0
  133. package/node_modules/ink/build/options.js +2 -0
  134. package/node_modules/ink/build/options.js.map +1 -0
  135. package/node_modules/ink/build/output.js +0 -25
  136. package/node_modules/ink/build/output.js.map +1 -1
  137. package/node_modules/ink/build/parse-keypress.d.ts +3 -1
  138. package/node_modules/ink/build/parse-keypress.js +17 -19
  139. package/node_modules/ink/build/parse-keypress.js.map +1 -1
  140. package/node_modules/ink/build/reconciler.js +27 -46
  141. package/node_modules/ink/build/reconciler.js.map +1 -1
  142. package/node_modules/ink/build/render-border.js +18 -29
  143. package/node_modules/ink/build/render-border.js.map +1 -1
  144. package/node_modules/ink/build/render-to-string.js +1 -2
  145. package/node_modules/ink/build/render-to-string.js.map +1 -1
  146. package/node_modules/ink/build/render.d.ts +2 -57
  147. package/node_modules/ink/build/render.js +11 -18
  148. package/node_modules/ink/build/render.js.map +1 -1
  149. package/node_modules/ink/build/screen-reader-update.d.ts +13 -0
  150. package/node_modules/ink/build/screen-reader-update.js +38 -0
  151. package/node_modules/ink/build/screen-reader-update.js.map +1 -0
  152. package/node_modules/ink/build/styles.d.ts +16 -78
  153. package/node_modules/ink/build/styles.js +31 -102
  154. package/node_modules/ink/build/styles.js.map +1 -1
  155. package/node_modules/ink/build/utils.d.ts +2 -9
  156. package/node_modules/ink/build/utils.js +3 -18
  157. package/node_modules/ink/build/utils.js.map +1 -1
  158. package/node_modules/ink/build/wrap-text.js +0 -7
  159. package/node_modules/ink/build/wrap-text.js.map +1 -1
  160. package/node_modules/ink/build/write-synchronized.d.ts +1 -1
  161. package/node_modules/ink/build/write-synchronized.js +2 -4
  162. package/node_modules/ink/build/write-synchronized.js.map +1 -1
  163. package/node_modules/ink/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  164. package/node_modules/ink/node_modules/emoji-regex/README.md +107 -0
  165. package/node_modules/ink/node_modules/emoji-regex/index.d.ts +3 -0
  166. package/node_modules/ink/node_modules/emoji-regex/index.js +4 -0
  167. package/node_modules/ink/node_modules/emoji-regex/index.mjs +4 -0
  168. package/node_modules/ink/node_modules/emoji-regex/package.json +45 -0
  169. package/node_modules/{wrap-ansi → ink/node_modules/wrap-ansi}/index.d.ts +1 -1
  170. package/node_modules/ink/node_modules/wrap-ansi/index.js +222 -0
  171. package/node_modules/ink/node_modules/wrap-ansi/node_modules/string-width/index.d.ts +39 -0
  172. package/node_modules/ink/node_modules/wrap-ansi/node_modules/string-width/index.js +82 -0
  173. package/node_modules/ink/node_modules/wrap-ansi/node_modules/string-width/license +9 -0
  174. package/node_modules/ink/node_modules/wrap-ansi/node_modules/string-width/package.json +64 -0
  175. package/node_modules/ink/node_modules/wrap-ansi/node_modules/string-width/readme.md +66 -0
  176. package/node_modules/{wrap-ansi → ink/node_modules/wrap-ansi}/package.json +11 -11
  177. package/node_modules/{wrap-ansi → ink/node_modules/wrap-ansi}/readme.md +0 -2
  178. package/node_modules/ink/package.json +98 -34
  179. package/node_modules/ink/readme.md +48 -554
  180. package/node_modules/slice-ansi/index.d.ts +1 -1
  181. package/node_modules/slice-ansi/index.js +89 -146
  182. package/node_modules/slice-ansi/package.json +5 -5
  183. package/node_modules/slice-ansi/readme.md +0 -1
  184. package/node_modules/slice-ansi/tokenize-ansi.js +1 -1
  185. package/package.json +14 -10
  186. package/packages/testkit-bridge/node_modules/@elench/testkit-protocol/dist/index.d.ts +188 -0
  187. package/packages/testkit-bridge/node_modules/@elench/testkit-protocol/dist/index.d.ts.map +1 -0
  188. package/packages/testkit-bridge/node_modules/@elench/testkit-protocol/dist/index.js +293 -0
  189. package/packages/testkit-bridge/node_modules/@elench/testkit-protocol/dist/index.js.map +1 -0
  190. package/packages/testkit-bridge/node_modules/@elench/testkit-protocol/package.json +25 -0
  191. package/lib/cli/commands/db/snapshot/capture.mjs +0 -26
  192. package/lib/cli/renderers/db-snapshot-capture/text.mjs +0 -3
  193. package/node_modules/@alcalzone/ansi-tokenize/build/consts.d.ts +0 -17
  194. package/node_modules/@alcalzone/ansi-tokenize/build/consts.js +0 -28
  195. package/node_modules/@alcalzone/ansi-tokenize/build/consts.js.map +0 -1
  196. package/node_modules/ink/build/components/AnimationContext.d.ts +0 -9
  197. package/node_modules/ink/build/components/AnimationContext.js +0 -13
  198. package/node_modules/ink/build/components/AnimationContext.js.map +0 -1
  199. package/node_modules/ink/build/hooks/use-animation.d.ts +0 -49
  200. package/node_modules/ink/build/hooks/use-animation.js +0 -87
  201. package/node_modules/ink/build/hooks/use-animation.js.map +0 -1
  202. package/node_modules/ink/build/hooks/use-box-metrics.d.ts +0 -59
  203. package/node_modules/ink/build/hooks/use-box-metrics.js +0 -88
  204. package/node_modules/ink/build/hooks/use-box-metrics.js.map +0 -1
  205. package/node_modules/ink/build/hooks/use-paste.d.ts +0 -35
  206. package/node_modules/ink/build/hooks/use-paste.js +0 -62
  207. package/node_modules/ink/build/hooks/use-paste.js.map +0 -1
  208. package/node_modules/ink/build/hooks/use-window-size.d.ts +0 -18
  209. package/node_modules/ink/build/hooks/use-window-size.js +0 -22
  210. package/node_modules/ink/build/hooks/use-window-size.js.map +0 -1
  211. package/node_modules/wrap-ansi/index.js +0 -468
  212. /package/node_modules/{wrap-ansi → ink/node_modules/wrap-ansi}/license +0 -0
@@ -8,7 +8,6 @@ import StdinContext from './StdinContext.js';
8
8
  import StdoutContext from './StdoutContext.js';
9
9
  import StderrContext from './StderrContext.js';
10
10
  import FocusContext from './FocusContext.js';
11
- import AnimationContext from './AnimationContext.js';
12
11
  import CursorContext from './CursorContext.js';
13
12
  import ErrorBoundary from './ErrorBoundary.js';
14
13
  const tab = '\t';
@@ -17,7 +16,7 @@ const escape = '\u001B';
17
16
  // Root component for all Ink apps
18
17
  // It renders stdin and stdout contexts, so that children can access them if needed
19
18
  // It also handles Ctrl+C exiting and cursor visibility
20
- function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, exitOnCtrlC, onExit, onWaitUntilRenderFlush, setCursorPosition, interactive, renderThrottleMs, }) {
19
+ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, exitOnCtrlC, onExit, setCursorPosition, }) {
21
20
  const [isFocusEnabled, setIsFocusEnabled] = useState(true);
22
21
  const [activeFocusId, setActiveFocusId] = useState(undefined);
23
22
  // Focusables array is managed internally via setFocusables callback pattern
@@ -25,13 +24,9 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
25
24
  const [, setFocusables] = useState([]);
26
25
  // Track focusables count for tab navigation check (avoids stale closure)
27
26
  const focusablesCountRef = useRef(0);
28
- const animationSubscribersRef = useRef(new Map());
29
- const animationTimerRef = useRef(undefined);
30
27
  // Count how many components enabled raw mode to avoid disabling
31
28
  // raw mode until all components don't need it anymore
32
29
  const rawModeEnabledCount = useRef(0);
33
- // Count how many components enabled bracketed paste mode
34
- const bracketedPasteModeEnabledCount = useRef(0);
35
30
  // eslint-disable-next-line @typescript-eslint/naming-convention
36
31
  const internal_eventEmitter = useRef(new EventEmitter());
37
32
  // Each useInput hook adds a listener, so the count can legitimately exceed the default limit of 10.
@@ -40,82 +35,13 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
40
35
  const readableListenerRef = useRef(undefined);
41
36
  const inputParserRef = useRef(createInputParser());
42
37
  const pendingInputFlushRef = useRef(undefined);
43
- // Small delay to let chunked escape sequences complete before flushing as literal input.
44
- const pendingInputFlushDelayMilliseconds = 20;
45
38
  const clearPendingInputFlush = useCallback(() => {
46
39
  if (!pendingInputFlushRef.current) {
47
40
  return;
48
41
  }
49
- clearTimeout(pendingInputFlushRef.current);
42
+ clearImmediate(pendingInputFlushRef.current);
50
43
  pendingInputFlushRef.current = undefined;
51
44
  }, []);
52
- const clearAnimationTimer = useCallback(() => {
53
- if (!animationTimerRef.current) {
54
- return;
55
- }
56
- clearTimeout(animationTimerRef.current);
57
- animationTimerRef.current = undefined;
58
- }, []);
59
- const scheduleAnimationTick = useCallback(() => {
60
- clearAnimationTimer();
61
- if (animationSubscribersRef.current.size === 0) {
62
- return;
63
- }
64
- let nextDueTime = Number.POSITIVE_INFINITY;
65
- for (const subscriber of animationSubscribersRef.current.values()) {
66
- // One shared timer is enough as long as it wakes at the earliest
67
- // subscriber deadline and lets slower animations skip that tick.
68
- nextDueTime = Math.min(nextDueTime, subscriber.nextDueTime);
69
- }
70
- const delay = Math.max(0, nextDueTime - performance.now());
71
- animationTimerRef.current = setTimeout(() => {
72
- animationTimerRef.current = undefined;
73
- const currentTime = performance.now();
74
- for (const subscriber of animationSubscribersRef.current.values()) {
75
- if (currentTime < subscriber.nextDueTime) {
76
- continue;
77
- }
78
- subscriber.callback(currentTime);
79
- const elapsedTime = currentTime - subscriber.startTime;
80
- const elapsedFrames = Math.floor(elapsedTime / subscriber.interval) + 1;
81
- // Advance from elapsed time rather than callback count so delayed
82
- // ticks catch up instead of stretching the animation timeline.
83
- subscriber.nextDueTime =
84
- subscriber.startTime + elapsedFrames * subscriber.interval;
85
- }
86
- scheduleAnimationTick();
87
- }, delay);
88
- // Keep the timer ref'd while animations are active so `useAnimation()`
89
- // can drive process lifetime in both interactive and non-interactive apps.
90
- }, [clearAnimationTimer]);
91
- const animationSubscribe = useCallback((callback, interval) => {
92
- const startTime = performance.now();
93
- // The scheduler owns the start timestamp so hooks can derive frames from
94
- // the exact same origin that determines each subscriber's due time.
95
- animationSubscribersRef.current.set(callback, {
96
- callback,
97
- interval,
98
- startTime,
99
- nextDueTime: startTime + interval,
100
- });
101
- scheduleAnimationTick();
102
- return {
103
- startTime,
104
- unsubscribe() {
105
- animationSubscribersRef.current.delete(callback);
106
- if (animationSubscribersRef.current.size === 0) {
107
- clearAnimationTimer();
108
- return;
109
- }
110
- scheduleAnimationTick();
111
- },
112
- };
113
- }, [clearAnimationTimer, scheduleAnimationTick]);
114
- useEffect(() => {
115
- return () => {
116
- clearAnimationTimer();
117
- };
118
- }, [clearAnimationTimer]);
119
45
  // Determines if TTY is supported on the provided stdin
120
46
  const isRawModeSupported = stdin.isTTY;
121
47
  const detachReadableListener = useCallback(() => {
@@ -147,44 +73,38 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
147
73
  return;
148
74
  }
149
75
  // Reset focus when there's an active focused component on Esc
150
- if (input === escape && isFocusEnabled) {
151
- setActiveFocusId(undefined);
76
+ if (input === escape) {
77
+ setActiveFocusId(currentActiveFocusId => {
78
+ if (currentActiveFocusId) {
79
+ return undefined;
80
+ }
81
+ return currentActiveFocusId;
82
+ });
152
83
  }
153
- }, [exitOnCtrlC, handleExit, isFocusEnabled]);
84
+ }, [exitOnCtrlC, handleExit]);
154
85
  const emitInput = useCallback((input) => {
155
86
  handleInput(input);
156
87
  internal_eventEmitter.current.emit('input', input);
157
88
  }, [handleInput]);
158
89
  const schedulePendingInputFlush = useCallback(() => {
159
90
  clearPendingInputFlush();
160
- pendingInputFlushRef.current = setTimeout(() => {
91
+ pendingInputFlushRef.current = setImmediate(() => {
161
92
  pendingInputFlushRef.current = undefined;
162
93
  const pendingEscape = inputParserRef.current.flushPendingEscape();
163
94
  if (!pendingEscape) {
164
95
  return;
165
96
  }
166
97
  emitInput(pendingEscape);
167
- }, pendingInputFlushDelayMilliseconds);
98
+ });
168
99
  }, [clearPendingInputFlush, emitInput]);
169
100
  const handleReadable = useCallback(() => {
170
101
  clearPendingInputFlush();
171
102
  let chunk;
172
- // eslint-disable-next-line @typescript-eslint/no-restricted-types
103
+ // eslint-disable-next-line @typescript-eslint/ban-types
173
104
  while ((chunk = stdin.read()) !== null) {
174
105
  const inputEvents = inputParserRef.current.push(chunk);
175
- for (const event of inputEvents) {
176
- if (typeof event === 'string') {
177
- emitInput(event);
178
- }
179
- else {
180
- // Keep paste on a separate channel from `useInput` so key handlers
181
- // don't need to branch on mixed key-vs-paste event shapes.
182
- if (internal_eventEmitter.current.listenerCount('paste') === 0) {
183
- emitInput(event.paste);
184
- continue;
185
- }
186
- internal_eventEmitter.current.emit('paste', event.paste);
187
- }
106
+ for (const input of inputEvents) {
107
+ emitInput(input);
188
108
  }
189
109
  }
190
110
  if (inputParserRef.current.hasPendingEscape()) {
@@ -221,24 +141,6 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
221
141
  disableRawMode();
222
142
  }
223
143
  }, [isRawModeSupported, stdin, handleReadable, disableRawMode]);
224
- const handleSetBracketedPasteMode = useCallback((isEnabled) => {
225
- if (!stdout.isTTY) {
226
- return;
227
- }
228
- if (isEnabled) {
229
- if (bracketedPasteModeEnabledCount.current === 0) {
230
- stdout.write('\u001B[?2004h');
231
- }
232
- bracketedPasteModeEnabledCount.current++;
233
- return;
234
- }
235
- if (bracketedPasteModeEnabledCount.current === 0) {
236
- return;
237
- }
238
- if (--bracketedPasteModeEnabledCount.current === 0) {
239
- stdout.write('\u001B[?2004l');
240
- }
241
- }, [stdout]);
242
144
  // Focus navigation helpers
243
145
  const findNextFocusable = useCallback((currentFocusables, currentActiveFocusId) => {
244
146
  const activeIndex = currentFocusables.findIndex(focusable => {
@@ -380,45 +282,28 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
380
282
  };
381
283
  }));
382
284
  }, []);
383
- // Handle cursor visibility, raw mode, and bracketed paste mode cleanup on unmount
285
+ // Handle cursor visibility and raw mode cleanup on unmount
384
286
  useEffect(() => {
385
287
  return () => {
386
- const canWriteToStdout = !stdout.destroyed && !stdout.writableEnded;
387
- if (interactive && canWriteToStdout) {
388
- cliCursor.show(stdout);
389
- }
288
+ cliCursor.show(stdout);
390
289
  if (isRawModeSupported && rawModeEnabledCount.current > 0) {
391
290
  disableRawMode();
392
291
  }
393
- if (bracketedPasteModeEnabledCount.current > 0) {
394
- if (stdout.isTTY && canWriteToStdout) {
395
- stdout.write('\u001B[?2004l');
396
- }
397
- bracketedPasteModeEnabledCount.current = 0;
398
- }
399
292
  };
400
- }, [stdout, isRawModeSupported, disableRawMode, interactive]);
293
+ }, [stdout, isRawModeSupported, disableRawMode]);
401
294
  // Memoize context values to prevent unnecessary re-renders
402
295
  const appContextValue = useMemo(() => ({
403
296
  exit: handleExit,
404
- waitUntilRenderFlush: onWaitUntilRenderFlush,
405
- }), [handleExit, onWaitUntilRenderFlush]);
297
+ }), [handleExit]);
406
298
  const stdinContextValue = useMemo(() => ({
407
299
  stdin,
408
300
  setRawMode: handleSetRawMode,
409
- setBracketedPasteMode: handleSetBracketedPasteMode,
410
301
  isRawModeSupported,
411
302
  // eslint-disable-next-line @typescript-eslint/naming-convention
412
303
  internal_exitOnCtrlC: exitOnCtrlC,
413
304
  // eslint-disable-next-line @typescript-eslint/naming-convention
414
305
  internal_eventEmitter: internal_eventEmitter.current,
415
- }), [
416
- stdin,
417
- handleSetRawMode,
418
- handleSetBracketedPasteMode,
419
- isRawModeSupported,
420
- exitOnCtrlC,
421
- ]);
306
+ }), [stdin, handleSetRawMode, isRawModeSupported, exitOnCtrlC]);
422
307
  const stdoutContextValue = useMemo(() => ({
423
308
  stdout,
424
309
  write: writeToStdout,
@@ -453,18 +338,13 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
453
338
  focusPrevious,
454
339
  focus,
455
340
  ]);
456
- const animationContextValue = useMemo(() => ({
457
- renderThrottleMs,
458
- subscribe: animationSubscribe,
459
- }), [animationSubscribe, renderThrottleMs]);
460
341
  return (React.createElement(AppContext.Provider, { value: appContextValue },
461
342
  React.createElement(StdinContext.Provider, { value: stdinContextValue },
462
343
  React.createElement(StdoutContext.Provider, { value: stdoutContextValue },
463
344
  React.createElement(StderrContext.Provider, { value: stderrContextValue },
464
345
  React.createElement(FocusContext.Provider, { value: focusContextValue },
465
- React.createElement(AnimationContext.Provider, { value: animationContextValue },
466
- React.createElement(CursorContext.Provider, { value: cursorContextValue },
467
- React.createElement(ErrorBoundary, { onError: handleExit }, children)))))))));
346
+ React.createElement(CursorContext.Provider, { value: cursorContextValue },
347
+ React.createElement(ErrorBoundary, { onError: handleExit }, children))))))));
468
348
  }
469
349
  App.displayName = 'InternalApp';
470
350
  export default App;
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/components/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/components/App.tsx"],"names":[],"mappings":"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"}
@@ -7,29 +7,9 @@ export type Props = {
7
7
  - `exit(value)` — resolves `waitUntilExit()` with `value`.
8
8
  */
9
9
  readonly exit: (errorOrResult?: Error | unknown) => void;
10
- /**
11
- Returns a promise that settles after pending render output is flushed to stdout.
12
-
13
- @example
14
- ```jsx
15
- import {useEffect} from 'react';
16
- import {useApp} from 'ink';
17
-
18
- const Example = () => {
19
- const {waitUntilRenderFlush} = useApp();
20
-
21
- useEffect(() => {
22
- void (async () => {
23
- await waitUntilRenderFlush();
24
- runNextCommand();
25
- })();
26
- }, [waitUntilRenderFlush]);
27
-
28
- return …;
29
- };
30
- ```
31
- */
32
- readonly waitUntilRenderFlush: () => Promise<void>;
33
10
  };
11
+ /**
12
+ `AppContext` is a React context that exposes a method to manually exit the app (unmount).
13
+ */
34
14
  declare const AppContext: import("react").Context<Props>;
35
15
  export default AppContext;
@@ -1,14 +1,11 @@
1
1
  import { createContext } from 'react';
2
2
  /**
3
- `AppContext` is a React context that exposes lifecycle methods for the app.
3
+ `AppContext` is a React context that exposes a method to manually exit the app (unmount).
4
4
  */
5
- // Keep the default value typed so `useApp()` preserves the public `exit(errorOrResult?)` signature.
6
- const defaultValue = {
7
- exit(_errorOrResult) { },
8
- async waitUntilRenderFlush() { },
9
- };
10
5
  // eslint-disable-next-line @typescript-eslint/naming-convention
11
- const AppContext = createContext(defaultValue);
6
+ const AppContext = createContext({
7
+ exit() { },
8
+ });
12
9
  AppContext.displayName = 'InternalAppContext';
13
10
  export default AppContext;
14
11
  //# sourceMappingURL=AppContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppContext.js","sourceRoot":"","sources":["../../src/components/AppContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AAqCpC;;EAEE;AACF,oGAAoG;AACpG,MAAM,YAAY,GAAU;IAC3B,IAAI,CAAC,cAAgC,IAAG,CAAC;IACzC,KAAK,CAAC,oBAAoB,KAAI,CAAC;CAC/B,CAAC;AAEF,gEAAgE;AAChE,MAAM,UAAU,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;AAE/C,UAAU,CAAC,WAAW,GAAG,oBAAoB,CAAC;AAE9C,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"AppContext.js","sourceRoot":"","sources":["../../src/components/AppContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AAapC;;EAEE;AACF,gEAAgE;AAChE,MAAM,UAAU,GAAG,aAAa,CAAQ;IACvC,IAAI,KAAI,CAAC;CACT,CAAC,CAAC;AAEH,UAAU,CAAC,WAAW,GAAG,oBAAoB,CAAC;AAE9C,eAAe,UAAU,CAAC"}
@@ -34,11 +34,7 @@ export type Props = Except<Styles, 'textWrap'> & {
34
34
  `<Box>` is an essential Ink component to build your layout. It's like `<div style="display: flex">` in the browser.
35
35
  */
36
36
  declare const Box: React.ForwardRefExoticComponent<{
37
- readonly position?: "absolute" | "relative" | "static" | undefined;
38
- readonly top?: number | string | undefined;
39
- readonly right?: number | string | undefined;
40
- readonly bottom?: number | string | undefined;
41
- readonly left?: number | string | undefined;
37
+ readonly position?: "absolute" | "relative" | undefined;
42
38
  readonly columnGap?: number | undefined;
43
39
  readonly rowGap?: number | undefined;
44
40
  readonly gap?: number | undefined;
@@ -61,17 +57,13 @@ declare const Box: React.ForwardRefExoticComponent<{
61
57
  readonly flexDirection?: "row" | "column" | "row-reverse" | "column-reverse" | undefined;
62
58
  readonly flexBasis?: number | string | undefined;
63
59
  readonly flexWrap?: "nowrap" | "wrap" | "wrap-reverse" | undefined;
64
- readonly alignItems?: "flex-start" | "center" | "flex-end" | "stretch" | "baseline" | undefined;
65
- readonly alignSelf?: "flex-start" | "center" | "flex-end" | "auto" | "stretch" | "baseline" | undefined;
66
- readonly alignContent?: "flex-start" | "flex-end" | "center" | "stretch" | "space-between" | "space-around" | "space-evenly" | undefined;
60
+ readonly alignItems?: "flex-start" | "center" | "flex-end" | "stretch" | undefined;
61
+ readonly alignSelf?: "flex-start" | "center" | "flex-end" | "auto" | undefined;
67
62
  readonly justifyContent?: "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly" | "center" | undefined;
68
63
  readonly width?: number | string | undefined;
69
64
  readonly height?: number | string | undefined;
70
65
  readonly minWidth?: number | string | undefined;
71
66
  readonly minHeight?: number | string | undefined;
72
- readonly maxWidth?: number | string | undefined;
73
- readonly maxHeight?: number | string | undefined;
74
- readonly aspectRatio?: number | undefined;
75
67
  readonly display?: "flex" | "none" | undefined;
76
68
  readonly borderStyle?: (keyof import("cli-boxes").Boxes | import("cli-boxes").BoxStyle) | undefined;
77
69
  readonly borderTop?: boolean | undefined;
@@ -88,11 +80,6 @@ declare const Box: React.ForwardRefExoticComponent<{
88
80
  readonly borderBottomDimColor?: boolean | undefined;
89
81
  readonly borderLeftDimColor?: boolean | undefined;
90
82
  readonly borderRightDimColor?: boolean | undefined;
91
- readonly borderBackgroundColor?: import("type-fest").LiteralUnion<import("ansi-styles").ForegroundColorName, string> | undefined;
92
- readonly borderTopBackgroundColor?: import("type-fest").LiteralUnion<import("ansi-styles").ForegroundColorName, string> | undefined;
93
- readonly borderBottomBackgroundColor?: import("type-fest").LiteralUnion<import("ansi-styles").ForegroundColorName, string> | undefined;
94
- readonly borderLeftBackgroundColor?: import("type-fest").LiteralUnion<import("ansi-styles").ForegroundColorName, string> | undefined;
95
- readonly borderRightBackgroundColor?: import("type-fest").LiteralUnion<import("ansi-styles").ForegroundColorName, string> | undefined;
96
83
  readonly overflow?: "visible" | "hidden" | undefined;
97
84
  readonly overflowX?: "visible" | "hidden" | undefined;
98
85
  readonly overflowY?: "visible" | "hidden" | undefined;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _arrify = _interopRequireDefault(require("arrify"));
13
+
14
+ var _chalk = _interopRequireDefault(require("chalk"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
19
+
20
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21
+
22
+ const methods = ['hex', 'hsl', 'hsv', 'hwb', 'rgb', 'keyword', 'bgHex', 'bgHsl', 'bgHsv', 'bgHwb', 'bgRgb', 'bgKeyword'];
23
+
24
+ const Color = (_ref) => {
25
+ let {
26
+ children
27
+ } = _ref,
28
+ colorProps = _objectWithoutProperties(_ref, ["children"]);
29
+
30
+ if (children === '') {
31
+ return null;
32
+ }
33
+
34
+ const transformChildren = children => {
35
+ Object.keys(colorProps).forEach(method => {
36
+ if (colorProps[method]) {
37
+ if (methods.includes(method)) {
38
+ children = _chalk.default[method](...(0, _arrify.default)(colorProps[method]))(children);
39
+ } else if (typeof _chalk.default[method] === 'function') {
40
+ children = _chalk.default[method](children);
41
+ }
42
+ }
43
+ });
44
+ return children;
45
+ };
46
+
47
+ return _react.default.createElement("span", {
48
+ style: {
49
+ flexDirection: 'row'
50
+ },
51
+ unstable__transformChildren: transformChildren
52
+ }, children);
53
+ };
54
+
55
+ Color.propTypes = {
56
+ children: _propTypes.default.node
57
+ };
58
+ Color.defaultProps = {
59
+ children: ''
60
+ };
61
+ var _default = Color;
62
+ exports.default = _default;
@@ -0,0 +1,83 @@
1
+ import React, { type RefObject } from 'react';
2
+ import { type DOMElement, type CursorAnchorMode } from '../dom.js';
3
+ export type Props = {
4
+ /**
5
+ Optional reference to anchor cursor coordinates to a different element.
6
+
7
+ By default, `anchorRef` uses `anchor="textEnd"` behavior to follow the rendered end of that element's text, including wrapping and wide characters.
8
+
9
+ Use this for inputs where the cursor should stay at the visible end of text.
10
+
11
+ If `anchorRef` is set but currently unresolved, Ink hides the cursor for that frame unless `anchor="flow"` is used.
12
+
13
+ If multiple `<Cursor>` components are rendered in one frame, the last rendered one controls terminal cursor position.
14
+ */
15
+ readonly anchorRef?: RefObject<DOMElement | null>;
16
+ /**
17
+ Anchor mode used to resolve cursor coordinates.
18
+
19
+ - `'flow'`: Anchor to `<Cursor />` position in layout flow.
20
+ Use this when you place `<Cursor />` exactly where it should appear.
21
+
22
+ - `'origin'`: Anchor to content origin (top-left) of `anchorRef` or parent when no `anchorRef` is provided.
23
+ Use this for manual `x/y` positioning.
24
+
25
+ - `'textEnd'`: Anchor to rendered end of text for `anchorRef` or parent when no `anchorRef` is provided.
26
+ Use this when cursor should follow wrapped text.
27
+
28
+ Defaults to `'flow'` when `anchorRef` is omitted and `'textEnd'` when `anchorRef` is provided.
29
+
30
+ `'flow'` is the default without `anchorRef` to avoid coupling cursor position to surrounding sibling text changes.
31
+ */
32
+ readonly anchor?: CursorAnchorMode;
33
+ /**
34
+ Horizontal offset from resolved anchor position.
35
+ */
36
+ readonly x?: number;
37
+ /**
38
+ Vertical offset from resolved anchor position.
39
+ */
40
+ readonly y?: number;
41
+ };
42
+ /**
43
+ Declaratively position the terminal cursor relative to a container.
44
+
45
+ Use this component when building reusable inputs where absolute root coordinates are inconvenient.
46
+
47
+ `<Cursor>` must not be rendered inside `<Text>`.
48
+
49
+ @example
50
+ ```jsx
51
+ import {Box, Cursor, Text} from 'ink';
52
+ import {useRef} from 'react';
53
+
54
+ const prompt = '> ';
55
+ const value = 'hello';
56
+
57
+ const Example = () => {
58
+ return (
59
+ <Box flexDirection="row">
60
+ <Text>{prompt}</Text>
61
+ <Text>{value}</Text>
62
+ <Cursor />
63
+ </Box>
64
+ );
65
+ };
66
+ ```
67
+
68
+ ```jsx
69
+ const ExampleWithAnchor = () => {
70
+ const lineReference = useRef();
71
+
72
+ return (
73
+ <Box flexDirection="column">
74
+ <Box ref={lineReference}>
75
+ <Text>{`${prompt}${value}`}</Text>
76
+ </Box>
77
+ <Cursor anchorRef={lineReference} />
78
+ </Box>
79
+ );
80
+ };
81
+ ```
82
+ */
83
+ export default function Cursor({ anchorRef, anchor, x, y }: Props): React.JSX.Element;
@@ -0,0 +1,53 @@
1
+ import React from 'react';
2
+ /**
3
+ Declaratively position the terminal cursor relative to a container.
4
+
5
+ Use this component when building reusable inputs where absolute root coordinates are inconvenient.
6
+
7
+ `<Cursor>` must not be rendered inside `<Text>`.
8
+
9
+ @example
10
+ ```jsx
11
+ import {Box, Cursor, Text} from 'ink';
12
+ import {useRef} from 'react';
13
+
14
+ const prompt = '> ';
15
+ const value = 'hello';
16
+
17
+ const Example = () => {
18
+ return (
19
+ <Box flexDirection="row">
20
+ <Text>{prompt}</Text>
21
+ <Text>{value}</Text>
22
+ <Cursor />
23
+ </Box>
24
+ );
25
+ };
26
+ ```
27
+
28
+ ```jsx
29
+ const ExampleWithAnchor = () => {
30
+ const lineReference = useRef();
31
+
32
+ return (
33
+ <Box flexDirection="column">
34
+ <Box ref={lineReference}>
35
+ <Text>{`${prompt}${value}`}</Text>
36
+ </Box>
37
+ <Cursor anchorRef={lineReference} />
38
+ </Box>
39
+ );
40
+ };
41
+ ```
42
+ */
43
+ export default function Cursor({ anchorRef, anchor, x = 0, y = 0 }) {
44
+ const normalizedAnchorReference = anchorRef ?? undefined;
45
+ const normalizedAnchor = anchor ?? (normalizedAnchorReference ? 'textEnd' : 'flow');
46
+ return (React.createElement("ink-cursor", { internal_cursor: {
47
+ anchorRef: normalizedAnchorReference,
48
+ anchor: normalizedAnchor,
49
+ x,
50
+ y,
51
+ } }));
52
+ }
53
+ //# sourceMappingURL=Cursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cursor.js","sourceRoot":"","sources":["../../src/components/Cursor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuB,MAAM,OAAO,CAAC;AAmD5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCE;AACF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAAC,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAQ;IACtE,MAAM,yBAAyB,GAC9B,SAAS,IAAI,SAAS,CAAC;IACxB,MAAM,gBAAgB,GACrB,MAAM,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAE5D,OAAO,CACN,oCACC,eAAe,EAAE;YAChB,SAAS,EAAE,yBAAyB;YACpC,MAAM,EAAE,gBAAgB;YACxB,CAAC;YACD,CAAC;SACD,GACA,CACF,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { PureComponent, type ReactNode } from 'react';
1
+ import React, { PureComponent, type ReactNode } from 'react';
2
2
  type Props = {
3
3
  readonly children: ReactNode;
4
4
  readonly onError: (error: Error) => void;
@@ -13,6 +13,6 @@ export default class ErrorBoundary extends PureComponent<Props, State> {
13
13
  };
14
14
  state: State;
15
15
  componentDidCatch(error: Error): void;
16
- render(): ReactNode;
16
+ render(): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null | undefined;
17
17
  }
18
18
  export {};