@vincemakes/kiso-tui 0.1.30 → 0.1.33
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/components.d.ts +116 -0
- package/dist/components.js +333 -0
- package/dist/compositor.d.ts +166 -0
- package/dist/compositor.js +822 -0
- package/dist/index.d.ts +5 -4
- package/dist/index.js +5 -4
- package/dist/render.d.ts +10 -7
- package/dist/render.js +15 -10
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* kiso-tui — the PURE terminal layer, extracted from the CLI (the
|
|
3
3
|
* ADR-0041 escape hatch). Zero runtime dependencies: input is data,
|
|
4
|
-
* output is bytes.
|
|
5
|
-
*
|
|
4
|
+
* output is bytes. TUI v6 (ADR-0046): the ONE compositor (the single
|
|
5
|
+
* writer — body.ts + dock.ts retired), the component tree, the raw-mode
|
|
6
|
+
* editor, the diff renderer, and the palette.
|
|
6
7
|
*/
|
|
7
|
-
export { Body, type BodyOptions } from "./
|
|
8
|
-
export {
|
|
8
|
+
export { Body, Dock, CURSOR_MARKER, type BodyOptions } from "./compositor.js";
|
|
9
|
+
export { Container, foldLine, visibleWidth, SPINNER, type Component, type FrameCtx } from "./components.js";
|
|
9
10
|
export { Editor, MENU_ITEMS, PROMPT, PROMPT_WIDTH, displayWidth, charWidth, widthOf, type MenuItem, } from "./editor.js";
|
|
10
11
|
export { bannerLines, COLOR_OFF, COLOR_ON, escapeTerminal, foldResult, foldThinking, kUnit, palette, renderEvent, renderRecap, renderSessionLine, renderStatusLine, renderTerminalGap, renderToolSummary, TAGLINE, truncateRow, type Palette, type PathResolver, type RecapStats, type RenderInput, type RenderResult, type RunUsage, } from "./render.js";
|
|
11
12
|
export { editFileDiff, truncateDiff, writeFileDiff, type DiffLine, type DiffResult } from "./diff.js";
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* kiso-tui — the PURE terminal layer, extracted from the CLI (the
|
|
3
3
|
* ADR-0041 escape hatch). Zero runtime dependencies: input is data,
|
|
4
|
-
* output is bytes.
|
|
5
|
-
*
|
|
4
|
+
* output is bytes. TUI v6 (ADR-0046): the ONE compositor (the single
|
|
5
|
+
* writer — body.ts + dock.ts retired), the component tree, the raw-mode
|
|
6
|
+
* editor, the diff renderer, and the palette.
|
|
6
7
|
*/
|
|
7
|
-
export { Body } from "./
|
|
8
|
-
export {
|
|
8
|
+
export { Body, Dock, CURSOR_MARKER } from "./compositor.js";
|
|
9
|
+
export { Container, foldLine, visibleWidth, SPINNER } from "./components.js";
|
|
9
10
|
export { Editor, MENU_ITEMS, PROMPT, PROMPT_WIDTH, displayWidth, charWidth, widthOf, } from "./editor.js";
|
|
10
11
|
export { bannerLines, COLOR_OFF, COLOR_ON, escapeTerminal, foldResult, foldThinking, kUnit, palette, renderEvent, renderRecap, renderSessionLine, renderStatusLine, renderTerminalGap, renderToolSummary, TAGLINE, truncateRow, } from "./render.js";
|
|
11
12
|
export { editFileDiff, truncateDiff, writeFileDiff } from "./diff.js";
|
package/dist/render.d.ts
CHANGED
|
@@ -202,17 +202,20 @@ export declare function renderStatusLine(turn: number, usage: RunUsage, ctxRatio
|
|
|
202
202
|
*/
|
|
203
203
|
export declare function renderTerminalGap(statusLine: string | null): string;
|
|
204
204
|
/**
|
|
205
|
-
* v3 §01 — the banner, block-split. The logo is
|
|
206
|
-
* (
|
|
207
|
-
*
|
|
208
|
-
*
|
|
209
|
-
*
|
|
205
|
+
* v3 §01 (V6-2) — the banner, block-split. The logo is THREE BRICK rows
|
|
206
|
+
* (the logo.svg pixel form — K I S O), then a BLANK, then the info rows:
|
|
207
|
+
* "kiso vX — tagline" + extensions. The tagline rides the version line
|
|
208
|
+
* (the old logo MIDDLE row was the tagline — a text row masquerading as
|
|
209
|
+
* the logo's centre). Every row truncates at the terminal width with a
|
|
210
|
+
* " (+N)" marker (N = the hidden display width); a window narrower than
|
|
211
|
+
* 40 columns skips the logo + the blank entirely — only the info rows.
|
|
212
|
+
* Pure.
|
|
210
213
|
*/
|
|
211
214
|
export declare const TAGLINE = "the coding agent that survives kill -9";
|
|
212
215
|
/** v3 §01: truncate a row at `width`, marking the hidden span " (+N)". */
|
|
213
216
|
export declare function truncateRow(row: string, width: number): string;
|
|
214
|
-
/** v3 §01: the banner lines for a width W — logo (skipped under
|
|
215
|
-
* columns) +
|
|
217
|
+
/** v3 §01 (V6-2): the banner lines for a width W — logo (skipped under
|
|
218
|
+
* 40 columns) + blank + "kiso vX — tagline" + extensions. */
|
|
216
219
|
export declare function bannerLines(W: number, version: string, extensionsText: string): string[];
|
|
217
220
|
/** v3 §02 — the recap line that ends a run, replacing the "done" label +
|
|
218
221
|
* the old status line. All fields derive LOCALLY from the event stream
|
package/dist/render.js
CHANGED
|
@@ -283,14 +283,17 @@ export function renderTerminalGap(statusLine) {
|
|
|
283
283
|
return `${statusLine === null ? "" : `${statusLine}\n`}\n`;
|
|
284
284
|
}
|
|
285
285
|
/**
|
|
286
|
-
* v3 §01 — the banner, block-split. The logo is
|
|
287
|
-
* (
|
|
288
|
-
*
|
|
289
|
-
*
|
|
290
|
-
*
|
|
286
|
+
* v3 §01 (V6-2) — the banner, block-split. The logo is THREE BRICK rows
|
|
287
|
+
* (the logo.svg pixel form — K I S O), then a BLANK, then the info rows:
|
|
288
|
+
* "kiso vX — tagline" + extensions. The tagline rides the version line
|
|
289
|
+
* (the old logo MIDDLE row was the tagline — a text row masquerading as
|
|
290
|
+
* the logo's centre). Every row truncates at the terminal width with a
|
|
291
|
+
* " (+N)" marker (N = the hidden display width); a window narrower than
|
|
292
|
+
* 40 columns skips the logo + the blank entirely — only the info rows.
|
|
293
|
+
* Pure.
|
|
291
294
|
*/
|
|
292
295
|
export const TAGLINE = "the coding agent that survives kill -9";
|
|
293
|
-
const LOGO_ROWS = ["█ █ ▀█▀ █▀▀ █▀█",
|
|
296
|
+
const LOGO_ROWS = ["█ █ ▀█▀ █▀▀ █▀█", "█▀▄ █ ▀▀█ █ █", "▀ ▀ ▀▀▀ ▀▀▀ ▀▀▀"];
|
|
294
297
|
/** Display width of a row (1-cell ASCII; 2-cell CJK/wide). */
|
|
295
298
|
function displayW(row) {
|
|
296
299
|
let w = 0;
|
|
@@ -315,14 +318,16 @@ export function truncateRow(row, width) {
|
|
|
315
318
|
}
|
|
316
319
|
return `${row.slice(0, i)} (+${displayW(row) - w})`;
|
|
317
320
|
}
|
|
318
|
-
/** v3 §01: the banner lines for a width W — logo (skipped under
|
|
319
|
-
* columns) +
|
|
321
|
+
/** v3 §01 (V6-2): the banner lines for a width W — logo (skipped under
|
|
322
|
+
* 40 columns) + blank + "kiso vX — tagline" + extensions. */
|
|
320
323
|
export function bannerLines(W, version, extensionsText) {
|
|
321
324
|
const rows = [];
|
|
322
|
-
if (W >= 40)
|
|
325
|
+
if (W >= 40) {
|
|
323
326
|
for (const r of LOGO_ROWS)
|
|
324
327
|
rows.push(truncateRow(r, W));
|
|
325
|
-
|
|
328
|
+
rows.push("");
|
|
329
|
+
}
|
|
330
|
+
rows.push(truncateRow(`kiso v${version} — ${TAGLINE}`, W));
|
|
326
331
|
if (extensionsText !== "")
|
|
327
332
|
rows.push(truncateRow(extensionsText, W));
|
|
328
333
|
return rows;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vincemakes/kiso-tui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.33",
|
|
4
4
|
"description": "kiso tui — the pure terminal layer (cell renderer, dock, raw editor, diff, palette). Zero runtime dependencies: input is data, output is bytes.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|