@fnndsc/chell 5.6.1 → 5.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"bootsequence.js","sourceRoot":"","sources":["../../src/lib/bootsequence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootsequence.js","sourceRoot":"","sources":["../../src/lib/bootsequence.ts"],"names":[],"mappings":"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"}
@@ -15,11 +15,10 @@ export { logo_frameRender, logo_linesRender };
15
15
  /**
16
16
  * Counts the screen rows a run of printed text occupies.
17
17
  *
18
- * The animation repaints by moving the cursor up a fixed number of rows, so it
19
- * must know rows and not newlines. A line longer than the terminal is wrapped
20
- * by the terminal into several rows while contributing one newline; counting
21
- * newlines therefore under-shoots, and the animation paints over whatever was
22
- * printed. Long lines — a URL carrying a token, say — make that immediate.
18
+ * A line longer than the terminal is wrapped by the terminal into several
19
+ * rows while contributing one newline; counting newlines therefore
20
+ * under-shoots. Long lines — a URL carrying a token, say — make that
21
+ * immediate.
23
22
  *
24
23
  * @param text - The text written to stdout, escapes included.
25
24
  * @returns The rows it occupied, advancing the pending-column position.
package/dist/lib/logo.js CHANGED
@@ -11,50 +11,29 @@
11
11
  * @module
12
12
  */
13
13
  import { logo_frameRender, logo_linesRender, logoRows_count } from '@fnndsc/brasa';
14
+ import { RowCounter, stdoutRows_ensure, stdoutRows_current, stdoutRows_release } from './terminalRows.js';
14
15
  export { logo_frameRender, logo_linesRender };
15
16
  let logoInterval = null;
16
17
  let logoFrameIndex = 0;
17
- let originalWrite = null;
18
- let linesPrinted = 0;
19
- /** Columns occupied by output not yet terminated by a newline. */
20
- let pendingColumns = 0;
21
- /**
22
- * Matches every ANSI escape, not only the colour codes {@link ANSI_PATTERN}
23
- * strips: anything that moves a cursor or sets a mode occupies no columns
24
- * either, and a width count that ignores it over-shoots.
25
- */
26
- const ESCAPE_PATTERN = /\x1b(?:\[[0-?]*[ -/]*[@-~]|\][^\x07\x1b]*(?:\x07|\x1b\\)|[@-Z\\-_])/g;
18
+ /** A width helper, independent of the shared tracker: pure row arithmetic. */
19
+ const widthCounter = new RowCounter(process.stdout);
27
20
  /**
28
21
  * Counts the screen rows a run of printed text occupies.
29
22
  *
30
- * The animation repaints by moving the cursor up a fixed number of rows, so it
31
- * must know rows and not newlines. A line longer than the terminal is wrapped
32
- * by the terminal into several rows while contributing one newline; counting
33
- * newlines therefore under-shoots, and the animation paints over whatever was
34
- * printed. Long lines — a URL carrying a token, say — make that immediate.
23
+ * A line longer than the terminal is wrapped by the terminal into several
24
+ * rows while contributing one newline; counting newlines therefore
25
+ * under-shoots. Long lines — a URL carrying a token, say — make that
26
+ * immediate.
35
27
  *
36
28
  * @param text - The text written to stdout, escapes included.
37
29
  * @returns The rows it occupied, advancing the pending-column position.
38
30
  */
39
31
  export function rows_count(text) {
40
- const columns = process.stdout.columns || 80;
41
- const segments = text.replace(ESCAPE_PATTERN, '').split('\n');
42
- let rows = 0;
43
- segments.forEach((segment, index) => {
44
- const width = pendingColumns + segment.length;
45
- if (index < segments.length - 1) {
46
- // A completed line occupies at least one row, and one more for each
47
- // full width it wrapped past.
48
- rows += Math.max(1, Math.ceil(width / columns) || 1);
49
- pendingColumns = 0;
50
- }
51
- else {
52
- pendingColumns = width % columns;
53
- // Text that wrapped but has not yet ended still consumed rows.
54
- rows += Math.floor(width / columns);
55
- }
56
- });
57
- return rows;
32
+ return widthCounter.count(text);
33
+ }
34
+ /** Rows scrolled since tracking began, from the shared stdout tracker. */
35
+ function linesPrinted_get() {
36
+ return stdoutRows_current()?.counter.rows_get() ?? 0;
58
37
  }
59
38
  /**
60
39
  * Starts hijacking process.stdout.write to count the screen rows printed
@@ -66,7 +45,7 @@ export function logo_isAnimating() {
66
45
  }
67
46
  /** Test seam: the rows counted since tracking began. */
68
47
  export function rowsPrinted_peek() {
69
- return linesPrinted;
48
+ return linesPrinted_get();
70
49
  }
71
50
  /** Test seam: starts row tracking without printing a logo first. */
72
51
  export function rowsPrinted_track() {
@@ -77,18 +56,7 @@ export function rowsPrinted_untrack() {
77
56
  stdoutTrack_stop();
78
57
  }
79
58
  function stdoutTrack_start() {
80
- if (originalWrite)
81
- return;
82
- originalWrite = process.stdout.write.bind(process.stdout);
83
- linesPrinted = 0;
84
- pendingColumns = 0;
85
- process.stdout.write = ((chunk, ...args) => {
86
- const str = typeof chunk === 'string'
87
- ? chunk
88
- : (chunk && chunk.toString ? chunk.toString() : '');
89
- linesPrinted += rows_count(str);
90
- return originalWrite(chunk, ...args);
91
- });
59
+ stdoutRows_ensure().counter.reset();
92
60
  }
93
61
  /**
94
62
  * Writes without being counted.
@@ -101,21 +69,17 @@ function stdoutTrack_start() {
101
69
  * @param text - The text to write.
102
70
  */
103
71
  function write_untracked(text) {
104
- if (originalWrite) {
105
- originalWrite(text);
106
- }
107
- else {
72
+ const tracked = stdoutRows_current();
73
+ if (tracked !== null)
74
+ tracked.write_raw(text);
75
+ else
108
76
  process.stdout.write(text);
109
- }
110
77
  }
111
78
  /**
112
79
  * Stops hijacking process.stdout.write, restoring the original function handler.
113
80
  */
114
81
  function stdoutTrack_stop() {
115
- if (originalWrite) {
116
- process.stdout.write = originalWrite;
117
- originalWrite = null;
118
- }
82
+ stdoutRows_release();
119
83
  }
120
84
  /**
121
85
  * Prints the static logo and begins tracking subsequent stdout lines.
@@ -166,7 +130,7 @@ export function logo_animatePulse() {
166
130
  return;
167
131
  const totalLines = logoRows_count();
168
132
  logoInterval = setInterval(() => {
169
- const upOffset = totalLines + 1 + linesPrinted;
133
+ const upOffset = totalLines + 1 + linesPrinted_get();
170
134
  // The repaint is cursor-relative, which holds only while the logo is still
171
135
  // on screen. Once output has pushed it past the top, moving up clamps at
172
136
  // row zero and the logo is painted over whatever is visible there instead
@@ -224,7 +188,7 @@ export function logo_animateStop() {
224
188
  clearInterval(logoInterval);
225
189
  logoInterval = null;
226
190
  const totalLines = logoRows_count();
227
- const upOffset = totalLines + 1 + linesPrinted;
191
+ const upOffset = totalLines + 1 + linesPrinted_get();
228
192
  write_untracked('\x1b[s');
229
193
  write_untracked(`\x1b[${upOffset}A\r`);
230
194
  const finalLines = logo_frameRender(0, true); // Static steady state (holes blank)
@@ -1 +1 @@
1
- {"version":3,"file":"logo.js","sourceRoot":"","sources":["../../src/lib/logo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logo.js","sourceRoot":"","sources":["../../src/lib/logo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * @file Counts the screen rows a terminal has scrolled through.
3
+ *
4
+ * A readout that rewrites one of its earlier rows in place must know how
5
+ * many rows lie between that row and the cursor now, and rows are not
6
+ * newlines: a line longer than the terminal wraps into several rows while
7
+ * carrying one newline, and a spinner's carriage-return redraws carry none
8
+ * while occupying columns. The counter reads every write to the terminal,
9
+ * escapes stripped, and keeps the running row total and the column the
10
+ * cursor stands in.
11
+ *
12
+ * @module
13
+ */
14
+ /** What the counter needs of the terminal: its width, read at each write. */
15
+ export interface RowTerminal {
16
+ columns?: number;
17
+ }
18
+ /** A running count of rows scrolled and the cursor's column. */
19
+ export declare class RowCounter {
20
+ private readonly terminal;
21
+ private total;
22
+ private column;
23
+ private saved;
24
+ /**
25
+ * @param terminal - The terminal whose width wraps lines.
26
+ */
27
+ constructor(terminal: RowTerminal);
28
+ /**
29
+ * Absorbs one write.
30
+ *
31
+ * A newline ends a row; a carriage return returns to column zero on the
32
+ * same row (a spinner frame, a progress redraw), so what preceded it on
33
+ * the row no longer counts toward wrapping. A save-cursor puts a mark
34
+ * down and a restore-cursor returns to it, so a repaint that saves, moves
35
+ * up, paints, and restores nets to nothing — as it does on the screen.
36
+ *
37
+ * @param text - The text written, escapes included.
38
+ * @returns The rows this write scrolled, net of any restore.
39
+ */
40
+ count(text: string): number;
41
+ /** Rows scrolled since the counter started, or was last reset. */
42
+ rows_get(): number;
43
+ /** The column the cursor stands in on the current row. */
44
+ column_get(): number;
45
+ /** Starts the count over, at column zero. */
46
+ reset(): void;
47
+ }
48
+ /** A write's completion callback, as the stream API passes it. */
49
+ type WriteCallback = (error?: Error | null) => void;
50
+ /** What hooking needs of the stream: a write to wrap and a width. */
51
+ export interface RowStream extends RowTerminal {
52
+ write(chunk: string | Uint8Array, callback?: WriteCallback): boolean;
53
+ write(chunk: string | Uint8Array, encoding?: BufferEncoding, callback?: WriteCallback): boolean;
54
+ }
55
+ /** A stream hooked to a counter, with a way past the hook. */
56
+ export interface StreamRows {
57
+ counter: RowCounter;
58
+ /** Writes without counting, for a write the counter must not see. */
59
+ write_raw: (text: string) => void;
60
+ /** Unhooks the stream. */
61
+ stop: () => void;
62
+ }
63
+ /**
64
+ * Hooks a stream's write so every write is counted before it lands.
65
+ *
66
+ * @param stream - The stream; `process.stdout` in a running shell.
67
+ * @param counter - The counter to feed; a fresh one by default. Several
68
+ * streams sharing one terminal share one counter.
69
+ * @returns The counter, a raw writer past the hook, and a stop.
70
+ */
71
+ export declare function streamRows_track(stream: RowStream, counter?: RowCounter): StreamRows;
72
+ /**
73
+ * Ensures the shared `process.stdout` tracker is installed, and returns it.
74
+ *
75
+ * Idempotent: the first caller installs it, the rest get the same one.
76
+ *
77
+ * @returns The shared tracker.
78
+ */
79
+ export declare function stdoutRows_ensure(): StreamRows;
80
+ /**
81
+ * The shared `process.stdout` tracker, if one is installed.
82
+ *
83
+ * @returns The tracker, or null when nothing is tracking stdout.
84
+ */
85
+ export declare function stdoutRows_current(): StreamRows | null;
86
+ /** Uninstalls the shared `process.stdout` tracker, if one is installed. */
87
+ export declare function stdoutRows_release(): void;
88
+ export {};
@@ -0,0 +1,151 @@
1
+ /**
2
+ * @file Counts the screen rows a terminal has scrolled through.
3
+ *
4
+ * A readout that rewrites one of its earlier rows in place must know how
5
+ * many rows lie between that row and the cursor now, and rows are not
6
+ * newlines: a line longer than the terminal wraps into several rows while
7
+ * carrying one newline, and a spinner's carriage-return redraws carry none
8
+ * while occupying columns. The counter reads every write to the terminal,
9
+ * escapes stripped, and keeps the running row total and the column the
10
+ * cursor stands in.
11
+ *
12
+ * @module
13
+ */
14
+ /**
15
+ * Matches every ANSI escape: colour, cursor movement, mode. None of them
16
+ * occupies a column.
17
+ */
18
+ const ESCAPE_PATTERN = /\x1b(?:\[[0-?]*[ -/]*[@-~]|\][^\x07\x1b]*(?:\x07|\x1b\\)|[@-Z\\-_])/g;
19
+ /** Save-cursor sequences: what follows, up to the restore, moves nothing. */
20
+ const SAVE_CURSOR = /\x1b\[s|\x1b7/;
21
+ /** Restore-cursor sequences. */
22
+ const RESTORE_CURSOR = /\x1b\[u|\x1b8/;
23
+ /** A running count of rows scrolled and the cursor's column. */
24
+ export class RowCounter {
25
+ terminal;
26
+ total = 0;
27
+ column = 0;
28
+ saved = null;
29
+ /**
30
+ * @param terminal - The terminal whose width wraps lines.
31
+ */
32
+ constructor(terminal) {
33
+ this.terminal = terminal;
34
+ }
35
+ /**
36
+ * Absorbs one write.
37
+ *
38
+ * A newline ends a row; a carriage return returns to column zero on the
39
+ * same row (a spinner frame, a progress redraw), so what preceded it on
40
+ * the row no longer counts toward wrapping. A save-cursor puts a mark
41
+ * down and a restore-cursor returns to it, so a repaint that saves, moves
42
+ * up, paints, and restores nets to nothing — as it does on the screen.
43
+ *
44
+ * @param text - The text written, escapes included.
45
+ * @returns The rows this write scrolled, net of any restore.
46
+ */
47
+ count(text) {
48
+ const before = this.total;
49
+ if (SAVE_CURSOR.test(text))
50
+ this.saved = { total: this.total, column: this.column };
51
+ const columns = this.terminal.columns || 80;
52
+ const lines = text.replace(ESCAPE_PATTERN, '').split('\n');
53
+ lines.forEach((line, index) => {
54
+ const parts = line.split('\r');
55
+ // Text before a carriage return is overwritten in place; only the
56
+ // last part still stands on the row.
57
+ if (parts.length > 1)
58
+ this.column = 0;
59
+ const width = this.column + (parts[parts.length - 1] ?? '').length;
60
+ if (index < lines.length - 1) {
61
+ this.total += Math.max(1, Math.ceil(width / columns));
62
+ this.column = 0;
63
+ }
64
+ else {
65
+ this.total += Math.floor(width / columns);
66
+ this.column = width % columns;
67
+ }
68
+ });
69
+ if (RESTORE_CURSOR.test(text) && this.saved !== null) {
70
+ this.total = this.saved.total;
71
+ this.column = this.saved.column;
72
+ this.saved = null;
73
+ }
74
+ return this.total - before;
75
+ }
76
+ /** Rows scrolled since the counter started, or was last reset. */
77
+ rows_get() {
78
+ return this.total;
79
+ }
80
+ /** The column the cursor stands in on the current row. */
81
+ column_get() {
82
+ return this.column;
83
+ }
84
+ /** Starts the count over, at column zero. */
85
+ reset() {
86
+ this.total = 0;
87
+ this.column = 0;
88
+ this.saved = null;
89
+ }
90
+ }
91
+ /**
92
+ * Hooks a stream's write so every write is counted before it lands.
93
+ *
94
+ * @param stream - The stream; `process.stdout` in a running shell.
95
+ * @param counter - The counter to feed; a fresh one by default. Several
96
+ * streams sharing one terminal share one counter.
97
+ * @returns The counter, a raw writer past the hook, and a stop.
98
+ */
99
+ export function streamRows_track(stream, counter = new RowCounter(stream)) {
100
+ const original = stream.write;
101
+ const counting = (chunk, encodingOrCallback, callback) => {
102
+ counter.count(typeof chunk === 'string' ? chunk : Buffer.from(chunk).toString('utf8'));
103
+ const encoding = typeof encodingOrCallback === 'string' ? encodingOrCallback : undefined;
104
+ const done = typeof encodingOrCallback === 'function' ? encodingOrCallback : callback;
105
+ return original.call(stream, chunk, encoding, done);
106
+ };
107
+ stream.write = counting;
108
+ return {
109
+ counter,
110
+ write_raw: (text) => { original.call(stream, text, undefined, undefined); },
111
+ stop: () => {
112
+ if (stream.write === counting)
113
+ stream.write = original;
114
+ },
115
+ };
116
+ }
117
+ /**
118
+ * The one row tracker over `process.stdout`, shared by everything that
119
+ * scrolls the boot screen — the brain animation and the boot readout —
120
+ * so they agree on how far the screen has moved and neither installs a
121
+ * second `write` hook that would double-count the other.
122
+ */
123
+ let sharedStdout = null;
124
+ /**
125
+ * Ensures the shared `process.stdout` tracker is installed, and returns it.
126
+ *
127
+ * Idempotent: the first caller installs it, the rest get the same one.
128
+ *
129
+ * @returns The shared tracker.
130
+ */
131
+ export function stdoutRows_ensure() {
132
+ if (sharedStdout === null)
133
+ sharedStdout = streamRows_track(process.stdout);
134
+ return sharedStdout;
135
+ }
136
+ /**
137
+ * The shared `process.stdout` tracker, if one is installed.
138
+ *
139
+ * @returns The tracker, or null when nothing is tracking stdout.
140
+ */
141
+ export function stdoutRows_current() {
142
+ return sharedStdout;
143
+ }
144
+ /** Uninstalls the shared `process.stdout` tracker, if one is installed. */
145
+ export function stdoutRows_release() {
146
+ if (sharedStdout !== null) {
147
+ sharedStdout.stop();
148
+ sharedStdout = null;
149
+ }
150
+ }
151
+ //# sourceMappingURL=terminalRows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminalRows.js","sourceRoot":"","sources":["../../src/lib/terminalRows.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ import chalk from 'chalk';
21
21
  import { REPL } from '../core/repl.js';
22
22
  import { RemoteEngine } from './remoteEngine.js';
23
23
  import { LocalBerthResolver } from '@fnndsc/calypso';
24
- import { sink_set, StdoutSink, surface_get, surface_set, welcomeLine_build, welcomeLine_compose, fortune_random } from '@fnndsc/brasa';
24
+ import { sink_set, StdoutSink, surface_get, surface_set, welcomeLine_build, welcomeLine_compose, stackBanner_rows, stackBannerRow_paint, fortune_random } from '@fnndsc/brasa';
25
25
  import { cliSurface_create } from '../core/cliSurface.js';
26
26
  import { TerminalProgressRenderer } from '../core/progressRenderer.js';
27
27
  import { surfaceLine_execute } from '../core/surfaceDispatch.js';
@@ -176,8 +176,12 @@ async function berth_select(identity) {
176
176
  * @returns A promise that resolves when the client session ends.
177
177
  */
178
178
  export async function remote_run(identity, commandToExecute, attach) {
179
+ const addressed = attach ? berth_fromAddress(attach.address, attach.token) : null;
180
+ // An address names no identity; a caller that knows one (the daemon
181
+ // console attaching to its own daemon) says so, and the surface greets
182
+ // with it rather than with the address twice.
179
183
  const berth = attach
180
- ? berth_fromAddress(attach.address, attach.token)
184
+ ? (addressed !== null && identity !== undefined ? { ...addressed, identity } : addressed)
181
185
  : await berth_select(identity);
182
186
  if (!berth) {
183
187
  process.exit(1);
@@ -251,23 +255,22 @@ export async function remote_run(identity, commandToExecute, attach) {
251
255
  }
252
256
  // Greet with the daemon's own reported versions and build hash; a daemon
253
257
  // that predates the handshake field falls back to the local install's.
258
+ // The daemon console skips the greeting: it sits on the daemon's own
259
+ // terminal, directly under the banner the daemon just printed.
254
260
  const stack = engine.daemonStack();
255
- const welcome = stack !== undefined
256
- ? welcomeLine_compose('chell', stack.chell, stack.build)
257
- : welcomeLine_build('chell');
258
- console.log(chalk.bold.cyan(welcome));
261
+ const onDaemonTerminal = process.env['CHELL_CONSOLE'] === '1';
262
+ if (!onDaemonTerminal) {
263
+ const welcome = stack !== undefined
264
+ ? welcomeLine_compose('chell', stack.chell, stack.build)
265
+ : welcomeLine_build('chell');
266
+ console.log(chalk.bold.cyan(welcome));
267
+ }
259
268
  console.log(chalk.green(`[+] Attached to CALYPSO daemon ${berth.identity} at ${berth.url}`));
260
- if (stack !== undefined) {
261
- // Banner the daemon's whole stack, one aligned line per layer; older
262
- // daemons report only chell and calypso.
263
- const layers = [
264
- ['chell', stack.chell], ['brasa', stack.brasa], ['chili', stack.chili],
265
- ['salsa', stack.salsa], ['cumin', stack.cumin], ['calypso', stack.calypso],
266
- ];
267
- const present = layers.filter((entry) => entry[1] !== undefined);
268
- const pkgWidth = Math.max(...present.map(([pkg]) => pkg.length));
269
- for (const [pkg, version] of present) {
270
- console.log(chalk.gray(` ${pkg.padEnd(pkgWidth)} ${version}`));
269
+ if (stack !== undefined && !onDaemonTerminal) {
270
+ // Banner the daemon's whole stack, every package written out in full;
271
+ // older daemons report only chell and calypso, and get only those rows.
272
+ for (const row of stackBanner_rows(stack)) {
273
+ console.log(` ${stackBannerRow_paint(row, { name: chalk.bold.cyan, phrase: chalk.white, version: chalk.gray })}`);
271
274
  }
272
275
  }
273
276
  const hostControl = engine.hostControl ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/remote/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/remote/client.ts"],"names":[],"mappings":"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"}