@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/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. The cell renderer (body), the bottom-anchored dock,
5
- * the raw-mode editor, the diff renderer, and the palette.
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 "./body.js";
8
- export { Dock } from "./dock.js";
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. The cell renderer (body), the bottom-anchored dock,
5
- * the raw-mode editor, the diff renderer, and the palette.
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 "./body.js";
8
- export { Dock } from "./dock.js";
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 three INDEPENDENT rows
206
- * (TOP / the tagline / BOTTOM), then TWO info rows (version,
207
- * extensions). Every row truncates at the terminal width with a " (+N)"
208
- * marker (N = the hidden display width); a window narrower than 40
209
- * columns skips the logo entirely only the info rows. Pure.
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 40
215
- * columns) + version + extensions. */
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 three INDEPENDENT rows
287
- * (TOP / the tagline / BOTTOM), then TWO info rows (version,
288
- * extensions). Every row truncates at the terminal width with a " (+N)"
289
- * marker (N = the hidden display width); a window narrower than 40
290
- * columns skips the logo entirely only the info rows. Pure.
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 = ["█ █ ▀█▀ █▀▀ █▀█", TAGLINE, "▀ ▀ ▀▀▀ ▀▀▀ ▀▀▀"];
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 40
319
- * columns) + version + extensions. */
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
- rows.push(truncateRow(`v${version}`, W));
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.30",
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",