@nuvin/ink 7.6.0-alpha → 7.7.0-alpha

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.
@@ -0,0 +1,21 @@
1
+ export type SeekPart = {
2
+ kind: 'control';
3
+ raw: string;
4
+ } | {
5
+ kind: 'text';
6
+ text: string;
7
+ width: number;
8
+ ascii: boolean;
9
+ };
10
+ export type PreparedSeekRow = {
11
+ logical: string;
12
+ parts: readonly SeekPart[];
13
+ allocatedWidth: number;
14
+ identity: string;
15
+ };
16
+ export type SeekPreparer = {
17
+ prepareFrame(text: string, columns: number): readonly PreparedSeekRow[];
18
+ };
19
+ export declare function prepareSeekRow(row: string, columns: number): PreparedSeekRow;
20
+ export declare function createSeekPreparer(): SeekPreparer;
21
+ export declare function encodeSeekRow(prepared: PreparedSeekRow, row: number, columns: number): string;
@@ -0,0 +1,273 @@
1
+ import stringWidth from 'string-width';
2
+ import { readTerminalControl } from './terminal-control.js';
3
+ const segmenter = new Intl.Segmenter(undefined, { granularity: 'grapheme' });
4
+ const sgrBody = /^[\d:;]*m$/;
5
+ const csi = '\u001B[';
6
+ const closeLink = '\u001B]8;;\u001B\\';
7
+ const reset = `${closeLink}${csi}0m`;
8
+ const isWellFormed = (value) => value.isWellFormed();
9
+ const isControlIntroducer = (code) => code <= 0x1f || code === 0x7f || (code >= 0x80 && code <= 0x9f);
10
+ const isAscii = (text) => {
11
+ for (let index = 0; index < text.length; index++) {
12
+ if (text.charCodeAt(index) > 0x7f) {
13
+ return false;
14
+ }
15
+ }
16
+ return true;
17
+ };
18
+ const fail = (message) => {
19
+ throw new Error(message);
20
+ };
21
+ const isSgr = (raw) => {
22
+ const start = raw.charCodeAt(0) === 0x9b ? 1 : 2;
23
+ return sgrBody.test(raw.slice(start));
24
+ };
25
+ const oscPayload = (raw) => {
26
+ const start = raw.charCodeAt(0) === 0x9d ? 1 : 2;
27
+ if (raw.endsWith('\u001B\\')) {
28
+ return raw.slice(start, -2);
29
+ }
30
+ return raw.slice(start, -1);
31
+ };
32
+ const isOsc8 = (raw) => oscPayload(raw).startsWith('8;');
33
+ const isLinkClose = (raw) => {
34
+ const rest = oscPayload(raw).slice(2);
35
+ const separator = rest.lastIndexOf(';');
36
+ if (separator === -1) {
37
+ return true;
38
+ }
39
+ return rest.slice(separator + 1).length === 0;
40
+ };
41
+ const sgrParams = (raw) => {
42
+ const start = raw.charCodeAt(0) === 0x9b ? 1 : 2;
43
+ const body = raw.slice(start, -1);
44
+ return body.length === 0 ? [] : body.split(/[;:]/);
45
+ };
46
+ const isResetParam = (part) => part === '0' || /^0+$/.test(part);
47
+ const isOnlyReset = (raw) => {
48
+ const params = sgrParams(raw);
49
+ return (params.length === 0 ||
50
+ params.every(part => part === '' || isResetParam(part)));
51
+ };
52
+ const identityOf = (sgr, link, logical) => JSON.stringify([sgr, link, logical]);
53
+ const tokenize = (row) => {
54
+ if (!isWellFormed(row)) {
55
+ fail('Malformed UTF-16 in seek row');
56
+ }
57
+ const tokens = [];
58
+ let index = 0;
59
+ while (index < row.length) {
60
+ const code = row.charCodeAt(index);
61
+ if (isControlIntroducer(code)) {
62
+ const control = readTerminalControl(row, index);
63
+ if (control === undefined) {
64
+ throw new Error('Malformed terminal control in seek row');
65
+ }
66
+ const allowedSgr = control.kind === 'csi' && isSgr(control.raw);
67
+ const allowedLink = control.kind === 'osc' && isOsc8(control.raw);
68
+ if (!allowedSgr && !allowedLink) {
69
+ fail('Unsupported terminal control in seek row');
70
+ }
71
+ tokens.push({
72
+ kind: 'control',
73
+ raw: control.raw,
74
+ sgr: allowedSgr,
75
+ start: index,
76
+ });
77
+ index = control.end;
78
+ continue;
79
+ }
80
+ const start = index;
81
+ index++;
82
+ while (index < row.length && !isControlIntroducer(row.charCodeAt(index))) {
83
+ index++;
84
+ }
85
+ tokens.push({ kind: 'text', text: row.slice(start, index), start });
86
+ }
87
+ return tokens;
88
+ };
89
+ const parseRow = (row) => {
90
+ const tokens = tokenize(row);
91
+ let controlFree = '';
92
+ const controlFreeToSource = [];
93
+ for (const token of tokens) {
94
+ if (token.kind !== 'text') {
95
+ continue;
96
+ }
97
+ for (let offset = 0; offset < token.text.length; offset++) {
98
+ controlFreeToSource.push(token.start + offset);
99
+ }
100
+ controlFree += token.text;
101
+ }
102
+ const graphemes = [];
103
+ for (const { segment, index } of segmenter.segment(controlFree)) {
104
+ if (segment.length === 0) {
105
+ continue;
106
+ }
107
+ const sourceStart = controlFreeToSource[index];
108
+ const sourceEnd = controlFreeToSource[index + segment.length - 1] + 1;
109
+ if (sourceEnd - sourceStart !== segment.length) {
110
+ fail('Control boundary inside a grapheme in seek row');
111
+ }
112
+ graphemes.push({
113
+ kind: 'grapheme',
114
+ text: segment,
115
+ width: Math.max(1, stringWidth(segment)),
116
+ ascii: isAscii(segment),
117
+ start: sourceStart,
118
+ });
119
+ }
120
+ const items = [];
121
+ let graphemeIndex = 0;
122
+ for (const token of tokens) {
123
+ if (token.kind === 'control') {
124
+ items.push(token);
125
+ continue;
126
+ }
127
+ const tokenEnd = token.start + token.text.length;
128
+ while (graphemeIndex < graphemes.length &&
129
+ graphemes[graphemeIndex].start < tokenEnd) {
130
+ items.push(graphemes[graphemeIndex]);
131
+ graphemeIndex++;
132
+ }
133
+ }
134
+ return { logical: row, items };
135
+ };
136
+ const clipParts = (items, columns, entrySgr, entryLink) => {
137
+ const parts = [];
138
+ if (entrySgr.length > 0) {
139
+ parts.push({ kind: 'control', raw: entrySgr });
140
+ }
141
+ if (entryLink.length > 0) {
142
+ parts.push({ kind: 'control', raw: entryLink });
143
+ }
144
+ let allocatedWidth = 0;
145
+ let asciiText = '';
146
+ let asciiWidth = 0;
147
+ let clipped = false;
148
+ const flushAscii = () => {
149
+ if (asciiText.length === 0) {
150
+ return;
151
+ }
152
+ parts.push({ kind: 'text', text: asciiText, width: asciiWidth, ascii: true });
153
+ asciiText = '';
154
+ asciiWidth = 0;
155
+ };
156
+ for (const item of items) {
157
+ if (item.kind === 'control') {
158
+ if (!clipped) {
159
+ flushAscii();
160
+ parts.push({ kind: 'control', raw: item.raw });
161
+ }
162
+ continue;
163
+ }
164
+ if (clipped) {
165
+ continue;
166
+ }
167
+ if (allocatedWidth + item.width > columns) {
168
+ clipped = true;
169
+ continue;
170
+ }
171
+ allocatedWidth += item.width;
172
+ if (item.ascii) {
173
+ asciiText += item.text;
174
+ asciiWidth += item.width;
175
+ }
176
+ else {
177
+ flushAscii();
178
+ parts.push({
179
+ kind: 'text',
180
+ text: item.text,
181
+ width: item.width,
182
+ ascii: false,
183
+ });
184
+ }
185
+ }
186
+ flushAscii();
187
+ return { parts, allocatedWidth };
188
+ };
189
+ const applyRendition = (items, entrySgr, entryLink) => {
190
+ let sgr = entrySgr;
191
+ let link = entryLink;
192
+ for (const item of items) {
193
+ if (item.kind !== 'control') {
194
+ continue;
195
+ }
196
+ if (item.sgr) {
197
+ if (isOnlyReset(item.raw)) {
198
+ sgr = '';
199
+ }
200
+ else {
201
+ sgr += item.raw;
202
+ }
203
+ }
204
+ else if (isLinkClose(item.raw)) {
205
+ link = '';
206
+ }
207
+ else {
208
+ link = item.raw;
209
+ }
210
+ }
211
+ return { sgr, link };
212
+ };
213
+ const materialize = (parsed, columns, entrySgr, entryLink) => {
214
+ const { parts, allocatedWidth } = clipParts(parsed.items, columns, entrySgr, entryLink);
215
+ return {
216
+ logical: parsed.logical,
217
+ parts,
218
+ allocatedWidth,
219
+ identity: identityOf(entrySgr, entryLink, parsed.logical),
220
+ };
221
+ };
222
+ export function prepareSeekRow(row, columns) {
223
+ return materialize(parseRow(row), columns, '', '');
224
+ }
225
+ export function createSeekPreparer() {
226
+ let cache = new Map();
227
+ return {
228
+ prepareFrame(text, columns) {
229
+ const rows = text.split('\n');
230
+ const nextCache = new Map();
231
+ const prepared = [];
232
+ let sgr = '';
233
+ let link = '';
234
+ for (const row of rows) {
235
+ let parsed = nextCache.get(row) ?? cache.get(row);
236
+ if (parsed === undefined) {
237
+ parsed = parseRow(row);
238
+ }
239
+ nextCache.set(row, parsed);
240
+ prepared.push(materialize(parsed, columns, sgr, link));
241
+ ({ sgr, link } = applyRendition(parsed.items, sgr, link));
242
+ }
243
+ cache = nextCache;
244
+ return prepared;
245
+ },
246
+ };
247
+ }
248
+ export function encodeSeekRow(prepared, row, columns) {
249
+ let output = `${csi}${row + 1};1H${reset}${csi}2K`;
250
+ let column = 1;
251
+ for (const part of prepared.parts) {
252
+ if (part.kind === 'control') {
253
+ output += part.raw;
254
+ continue;
255
+ }
256
+ if (part.ascii) {
257
+ output += part.text;
258
+ }
259
+ else {
260
+ output += ' '.repeat(part.width) + `${csi}${column}G` + part.text;
261
+ if (column + part.width <= columns) {
262
+ output += `${csi}${column + part.width}G`;
263
+ }
264
+ }
265
+ column += part.width;
266
+ }
267
+ output += reset;
268
+ if (column <= columns) {
269
+ output += `${csi}${column}G${csi}K`;
270
+ }
271
+ return output;
272
+ }
273
+ //# sourceMappingURL=allocated-seek.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allocated-seek.js","sourceRoot":"","sources":["../src/allocated-seek.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import React, { type ReactNode } from 'react';
2
2
  import { type CursorPosition } from '../log-update.js';
3
+ import { type TerminalResponse } from '../input-parser.js';
3
4
  import { type TextSelectionController } from '../text-selection-controller.js';
4
5
  type Props = {
5
6
  readonly children: ReactNode;
@@ -15,8 +16,11 @@ type Props = {
15
16
  readonly interactive: boolean;
16
17
  readonly renderThrottleMs: number;
17
18
  readonly textSelection?: TextSelectionController;
19
+ readonly onTerminalResponse?: (response: TerminalResponse) => void;
20
+ readonly isTerminalResponsePending?: () => boolean;
21
+ readonly onInputReady?: (ready: boolean, resumePendingInput?: () => void, afterSettlement?: () => void) => void;
18
22
  };
19
- declare function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, exitOnCtrlC, onExit, onWaitUntilRenderFlush, setCursorPosition, interactive, renderThrottleMs, textSelection, }: Props): React.ReactNode;
23
+ declare function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, exitOnCtrlC, onExit, onWaitUntilRenderFlush, setCursorPosition, interactive, renderThrottleMs, textSelection, onTerminalResponse, isTerminalResponsePending, onInputReady, }: Props): React.ReactNode;
20
24
  declare namespace App {
21
25
  var displayName: string;
22
26
  }
@@ -18,7 +18,7 @@ const escape = '\u001B';
18
18
  // Root component for all Ink apps
19
19
  // It renders stdin and stdout contexts, so that children can access them if needed
20
20
  // It also handles Ctrl+C exiting and cursor visibility
21
- function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, exitOnCtrlC, onExit, onWaitUntilRenderFlush, setCursorPosition, interactive, renderThrottleMs, textSelection, }) {
21
+ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, exitOnCtrlC, onExit, onWaitUntilRenderFlush, setCursorPosition, interactive, renderThrottleMs, textSelection, onTerminalResponse, isTerminalResponsePending, onInputReady, }) {
22
22
  const [isFocusEnabled, setIsFocusEnabled] = useState(true);
23
23
  const [activeFocusId, setActiveFocusId] = useState(undefined);
24
24
  // Focusables array is managed internally via setFocusables callback pattern
@@ -39,8 +39,9 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
39
39
  internal_eventEmitter.current.setMaxListeners(Infinity);
40
40
  // Store the currently attached readable listener to avoid stale closure issues
41
41
  const readableListenerRef = useRef(undefined);
42
- const inputParserRef = useRef(createInputParser());
42
+ const inputParserRef = useRef(createInputParser({ onTerminalResponse, isTerminalResponsePending }));
43
43
  const pendingInputFlushRef = useRef(undefined);
44
+ const emitInputRef = useRef(() => { });
44
45
  // Small delay to let chunked escape sequences complete before flushing as literal input.
45
46
  const pendingInputFlushDelayMilliseconds = 20;
46
47
  const clearPendingInputFlush = useCallback(() => {
@@ -127,13 +128,24 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
127
128
  readableListenerRef.current = undefined;
128
129
  }, [stdin]);
129
130
  const disableRawMode = useCallback(() => {
130
- stdin.setRawMode(false);
131
- detachReadableListener();
132
- stdin.unref();
133
131
  rawModeEnabledCount.current = 0;
134
- inputParserRef.current.reset();
135
- clearPendingInputFlush();
136
- }, [stdin, detachReadableListener, clearPendingInputFlush]);
132
+ const finishDisableRawMode = () => {
133
+ clearPendingInputFlush();
134
+ const pendingEscape = inputParserRef.current.flushPendingEscape();
135
+ if (pendingEscape)
136
+ emitInputRef.current(pendingEscape);
137
+ stdin.setRawMode(false);
138
+ detachReadableListener();
139
+ stdin.unref();
140
+ inputParserRef.current.reset();
141
+ };
142
+ if (onInputReady) {
143
+ onInputReady(false, undefined, finishDisableRawMode);
144
+ }
145
+ else {
146
+ finishDisableRawMode();
147
+ }
148
+ }, [stdin, detachReadableListener, clearPendingInputFlush, onInputReady]);
137
149
  const handleExit = useCallback((errorOrResult) => {
138
150
  if (isRawModeSupported && rawModeEnabledCount.current > 0) {
139
151
  disableRawMode();
@@ -156,6 +168,7 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
156
168
  handleInput(input);
157
169
  internal_eventEmitter.current.emit('input', input);
158
170
  }, [handleInput]);
171
+ emitInputRef.current = emitInput;
159
172
  const schedulePendingInputFlush = useCallback(() => {
160
173
  clearPendingInputFlush();
161
174
  pendingInputFlushRef.current = setTimeout(() => {
@@ -203,8 +216,9 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
203
216
  }
204
217
  stdin.setEncoding('utf8');
205
218
  if (isEnabled) {
219
+ const wasDisabled = rawModeEnabledCount.current === 0;
206
220
  // Ensure raw mode is enabled only once
207
- if (rawModeEnabledCount.current === 0) {
221
+ if (wasDisabled) {
208
222
  stdin.ref();
209
223
  stdin.setRawMode(true);
210
224
  // Store the listener reference to avoid stale closure when removing
@@ -212,6 +226,22 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
212
226
  stdin.addListener('readable', handleReadable);
213
227
  }
214
228
  rawModeEnabledCount.current++;
229
+ if (wasDisabled) {
230
+ // Let input hooks finish subscribing before a synchronous terminal
231
+ // reply can deliver ordinary keys alongside capability responses.
232
+ queueMicrotask(() => {
233
+ if (rawModeEnabledCount.current > 0 &&
234
+ readableListenerRef.current) {
235
+ onInputReady?.(true, () => {
236
+ handleReadable();
237
+ clearPendingInputFlush();
238
+ const pendingEscape = inputParserRef.current.flushPendingEscape();
239
+ if (pendingEscape)
240
+ emitInput(pendingEscape);
241
+ });
242
+ }
243
+ });
244
+ }
215
245
  return;
216
246
  }
217
247
  // Disable raw mode only when no components left that are using it
@@ -221,7 +251,15 @@ function App({ children, stdin, stdout, stderr, writeToStdout, writeToStderr, ex
221
251
  if (--rawModeEnabledCount.current === 0) {
222
252
  disableRawMode();
223
253
  }
224
- }, [isRawModeSupported, stdin, handleReadable, disableRawMode]);
254
+ }, [
255
+ isRawModeSupported,
256
+ stdin,
257
+ handleReadable,
258
+ disableRawMode,
259
+ onInputReady,
260
+ clearPendingInputFlush,
261
+ emitInput,
262
+ ]);
225
263
  const handleSetBracketedPasteMode = useCallback((isEnabled) => {
226
264
  if (!stdout.isTTY) {
227
265
  return;
@@ -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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"}
@@ -0,0 +1,45 @@
1
+ type Position = {
2
+ row: number;
3
+ column: number;
4
+ };
5
+ type Options = {
6
+ getSize: () => {
7
+ columns: number;
8
+ rows: number;
9
+ };
10
+ write: (text: string) => void;
11
+ reserve: () => boolean;
12
+ onResult: (supported: boolean) => void;
13
+ };
14
+ /** Whether pending Ink output will overwrite the one-cell probe at column 1. */
15
+ export declare const canOverwriteFirstCell: (text: string) => boolean;
16
+ /** One bounded, per-instance negotiation. Ink owns pending frames and raw input. */
17
+ export declare class ExplicitWidthDetection {
18
+ private phase;
19
+ private inputReady;
20
+ private firstRow;
21
+ private timer?;
22
+ private deadline?;
23
+ private writing;
24
+ private deferredResult?;
25
+ private readonly replies;
26
+ private readonly settlementCallbacks;
27
+ private resolveFinished;
28
+ readonly finished: Promise<void>;
29
+ private readonly options;
30
+ constructor(options: Options);
31
+ get pending(): boolean;
32
+ get settled(): boolean;
33
+ get publicationBlocked(): boolean;
34
+ onSettled(callback: () => void): void;
35
+ start(): void;
36
+ setInputReady(ready: boolean): void;
37
+ accept(position: Position): void;
38
+ cancel(): void;
39
+ private expired;
40
+ private queryIfReady;
41
+ private send;
42
+ private finish;
43
+ private publish;
44
+ }
45
+ export {};