@pentoshi/clai 3.11.5 → 3.11.7

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 (54) hide show
  1. package/dist/agent/interrupted-reasoning.d.ts +6 -0
  2. package/dist/agent/interrupted-reasoning.js +38 -0
  3. package/dist/agent/interrupted-reasoning.js.map +1 -0
  4. package/dist/agent/runner.js +90 -15
  5. package/dist/agent/runner.js.map +1 -1
  6. package/dist/agent/stream-recovery.d.ts +4 -1
  7. package/dist/agent/stream-recovery.js +20 -9
  8. package/dist/agent/stream-recovery.js.map +1 -1
  9. package/dist/llm/anthropic.js +16 -1
  10. package/dist/llm/anthropic.js.map +1 -1
  11. package/dist/llm/aws-mantle.js +14 -1
  12. package/dist/llm/aws-mantle.js.map +1 -1
  13. package/dist/llm/gemini.js +3 -1
  14. package/dist/llm/gemini.js.map +1 -1
  15. package/dist/llm/http.d.ts +8 -2
  16. package/dist/llm/http.js +62 -21
  17. package/dist/llm/http.js.map +1 -1
  18. package/dist/llm/modal.js +3 -3
  19. package/dist/llm/modal.js.map +1 -1
  20. package/dist/llm/nvidia.js +2 -3
  21. package/dist/llm/nvidia.js.map +1 -1
  22. package/dist/llm/ollama.js +3 -1
  23. package/dist/llm/ollama.js.map +1 -1
  24. package/dist/tui-v2/components/pager/pager-line.js +7 -4
  25. package/dist/tui-v2/components/pager/pager-line.js.map +1 -1
  26. package/dist/tui-v2/components/pager/pager.js +2 -2
  27. package/dist/tui-v2/components/pager/pager.js.map +1 -1
  28. package/dist/tui-v2/components/transcript/assistant-message.js +5 -3
  29. package/dist/tui-v2/components/transcript/assistant-message.js.map +1 -1
  30. package/dist/tui-v2/components/transcript/file-diff-card.js +3 -0
  31. package/dist/tui-v2/components/transcript/file-diff-card.js.map +1 -1
  32. package/dist/tui-v2/components/transcript/selectable-line.d.ts +13 -0
  33. package/dist/tui-v2/components/transcript/selectable-line.js +11 -0
  34. package/dist/tui-v2/components/transcript/selectable-line.js.map +1 -1
  35. package/dist/tui-v2/components/transcript/thinking-block.js +7 -4
  36. package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
  37. package/dist/tui-v2/components/transcript/tool-card.js +3 -3
  38. package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
  39. package/dist/tui-v2/rendering/pager-chrome.d.ts +14 -3
  40. package/dist/tui-v2/rendering/pager-chrome.js +86 -23
  41. package/dist/tui-v2/rendering/pager-chrome.js.map +1 -1
  42. package/dist/tui-v2/rendering/pager-markdown.js +5 -0
  43. package/dist/tui-v2/rendering/pager-markdown.js.map +1 -1
  44. package/dist/ui/code-block.d.ts +8 -0
  45. package/dist/ui/code-block.js +33 -6
  46. package/dist/ui/code-block.js.map +1 -1
  47. package/dist/ui/markdown.js +37 -3
  48. package/dist/ui/markdown.js.map +1 -1
  49. package/dist/ui/text-width.d.ts +27 -0
  50. package/dist/ui/text-width.js +36 -0
  51. package/dist/ui/text-width.js.map +1 -0
  52. package/dist/version.generated.d.ts +2 -2
  53. package/dist/version.generated.js +2 -2
  54. package/package.json +12 -12
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-message.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/assistant-message.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assistant-message.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/assistant-message.tsx"],"names":[],"mappings":"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"}
@@ -52,6 +52,9 @@ function DiffCodeRow(props) {
52
52
  width: "100%",
53
53
  height: 1,
54
54
  flexShrink: 0,
55
+ // Opaque row: context lines are shorter than the card, and an unpainted
56
+ // tail keeps glyphs from whatever previously held that screen line.
57
+ backgroundColor: bg ?? theme.statusBackground,
55
58
  }, children: [_jsxs("text", { selectable: false, style: { height: 1 }, children: [_jsx("span", { style: { fg: gutterFg }, children: gutter }), _jsx("span", { style: { fg: gutterFg }, children: " │ " })] }), _jsx("box", { style: {
56
59
  flexGrow: 1,
57
60
  flexShrink: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"file-diff-card.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/file-diff-card.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-diff-card.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/file-diff-card.tsx"],"names":[],"mappings":"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"}
@@ -12,6 +12,19 @@ export declare const SELECTABLE_LINE_STYLE: {
12
12
  width: "100%";
13
13
  height: 1;
14
14
  };
15
+ /**
16
+ * Row style that also repaints its full width.
17
+ *
18
+ * A row narrower than its container leaves the cells to its right untouched,
19
+ * so glyphs from whatever previously occupied that screen line survive — text
20
+ * appears to duplicate down the column while scrolling. Pass the colour of the
21
+ * surface the row sits on (chat pane vs card) so the fill is invisible.
22
+ */
23
+ export declare function selectableRowStyle(surface: string): {
24
+ width: "100%";
25
+ height: 1;
26
+ bg: string;
27
+ };
15
28
  export declare function SelectableLine(props: {
16
29
  content?: string | undefined;
17
30
  children?: ReactNode;
@@ -4,6 +4,17 @@ export const SELECTABLE_LINE_STYLE = {
4
4
  // Keep a one-cell tall hit strip even for empty/spacer rows.
5
5
  height: 1,
6
6
  };
7
+ /**
8
+ * Row style that also repaints its full width.
9
+ *
10
+ * A row narrower than its container leaves the cells to its right untouched,
11
+ * so glyphs from whatever previously occupied that screen line survive — text
12
+ * appears to duplicate down the column while scrolling. Pass the colour of the
13
+ * surface the row sits on (chat pane vs card) so the fill is invisible.
14
+ */
15
+ export function selectableRowStyle(surface) {
16
+ return { ...SELECTABLE_LINE_STYLE, bg: surface };
17
+ }
7
18
  export function SelectableLine(props) {
8
19
  const { content, children, fg, bg, attributes, wrapMode = "none" } = props;
9
20
  if (content !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"selectable-line.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/selectable-line.tsx"],"names":[],"mappings":";AAYA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,KAAK,EAAE,MAAe;IACtB,6DAA6D;IAC7D,MAAM,EAAE,CAAU;CACnB,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,KAO9B;IACC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;IAC3E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CACL,eACE,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAC7C,UAAU,QACV,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;gBACL,GAAG,qBAAqB;gBACxB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpD,GACD,CACH,CAAC;IACJ,CAAC;IACD,OAAO,CACL,eACE,UAAU,QACV,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;YACL,GAAG,qBAAqB;YACxB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,YAEA,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"selectable-line.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/selectable-line.tsx"],"names":[],"mappings":";AAYA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,KAAK,EAAE,MAAe;IACtB,6DAA6D;IAC7D,MAAM,EAAE,CAAU;CACnB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAKhD,OAAO,EAAE,GAAG,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAO9B;IACC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;IAC3E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CACL,eACE,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAC7C,UAAU,QACV,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;gBACL,GAAG,qBAAqB;gBACxB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpD,GACD,CACH,CAAC;IACJ,CAAC;IACD,OAAO,CACL,eACE,UAAU,QACV,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;YACL,GAAG,qBAAqB;YACxB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,YAEA,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC"}
@@ -18,8 +18,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
18
18
  import { useMemo } from "react";
19
19
  import { TextAttributes } from "@opentui/core";
20
20
  import { useTerminalDimensions } from "@opentui/react";
21
- import stringWidth from "string-width";
22
- import { SELECTABLE_LINE_STYLE } from "./selectable-line.js";
21
+ import { renderColumns } from "../../../ui/text-width.js";
22
+ import { selectableRowStyle } from "./selectable-line.js";
23
23
  import { liveThinkingTail } from "../../rendering/thinking-tail.js";
24
24
  import { wrapPagerLine } from "../../rendering/pager-chrome.js";
25
25
  /** Body indent inside the block (paddingLeft below). */
@@ -54,7 +54,7 @@ export function ThinkingBlock(props) {
54
54
  .replace(/\r\n/g, "\n")
55
55
  .split("\n")
56
56
  .flatMap((line) => wrapPagerLine(line, wrapWidth))
57
- .map((line) => line + " ".repeat(Math.max(0, wrapWidth - stringWidth(line))));
57
+ .map((line) => line + " ".repeat(Math.max(0, wrapWidth - renderColumns(line))));
58
58
  }, [showBody, item.content, item.streaming, wrapWidth]);
59
59
  return (_jsxs("box", { id: item.id, style: { flexDirection: "column", marginBottom: 1, width: "100%" }, children: [_jsx("box", { onMouseUp: onMouseUp, style: { flexDirection: "row" }, children: _jsx("text", { selectable: true, style: {
60
60
  fg: theme.thinking,
@@ -64,8 +64,11 @@ export function ThinkingBlock(props) {
64
64
  paddingLeft: BODY_INDENT,
65
65
  width: wrapWidth + BODY_INDENT,
66
66
  overflow: "hidden",
67
+ // Paints the indent strip too, so nothing shows through the gap
68
+ // between the pane edge and the first glyph.
69
+ backgroundColor: theme.background,
67
70
  }, children: bodyLines.map((content, index) => (_jsx("text", { content: content, selectable: true, wrapMode: "none", style: {
68
- ...SELECTABLE_LINE_STYLE,
71
+ ...selectableRowStyle(theme.background),
69
72
  width: wrapWidth,
70
73
  fg: theme.thinking,
71
74
  attributes: TextAttributes.ITALIC,
@@ -1 +1 @@
1
- {"version":3,"file":"thinking-block.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/thinking-block.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thinking-block.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/thinking-block.tsx"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ import { DiffActionButton, FileDiffBody } from "./file-diff-card.js";
30
30
  import { renderMarkdownLines } from "../../rendering/render-markdown-lines.js";
31
31
  import { shouldDefaultFormattedView } from "../../rendering/pager-view-policy.js";
32
32
  import { extractFsReadFileBody } from "../../rendering/pager-markdown.js";
33
- import { SELECTABLE_LINE_STYLE } from "./selectable-line.js";
33
+ import { selectableRowStyle } from "./selectable-line.js";
34
34
  /** Border / status accent: green ok · yellow running · red failed. */
35
35
  const STATUS_COLOR = {
36
36
  queued: "muted",
@@ -53,7 +53,7 @@ function OutputLines(props) {
53
53
  const bodyFg = theme.toolOutput;
54
54
  return (_jsx(_Fragment, { children: lines.map((line, i) => {
55
55
  const isGap = line.startsWith("···");
56
- return (_jsxs("text", { selectable: true, style: { height: 1, width: "100%" }, children: [_jsx("span", { style: { fg: isGap ? theme.muted : gutterFg }, children: "│ " }), _jsx("span", { style: {
56
+ return (_jsxs("text", { selectable: true, style: { height: 1, width: "100%", bg: theme.statusBackground }, children: [_jsx("span", { style: { fg: isGap ? theme.muted : gutterFg }, children: "│ " }), _jsx("span", { style: {
57
57
  fg: isGap ? theme.muted : bodyFg,
58
58
  attributes: isGap ? TextAttributes.DIM : TextAttributes.NONE,
59
59
  }, children: line })] }, i));
@@ -341,7 +341,7 @@ export function ToolCard(props) {
341
341
  bg: theme.chipTeal,
342
342
  attributes: TextAttributes.BOLD,
343
343
  height: 1,
344
- }, children: formatMdRead ? " OUTPUT · formatted " : " OUTPUT " }), mdPreview && mdPreview.length > 0 ? (mdPreview.map((content, i) => (_jsx("text", { content: content ?? " ", selectable: true, wrapMode: "none", style: SELECTABLE_LINE_STYLE }, `md-${i}`)))) : (_jsx(OutputLines, { lines: lines, theme: theme, gutterFg: theme.toolOutput }))] })) : null, item.artifactPath && !isFileDiff && !isMutation ? (_jsxs("box", { style: { flexDirection: "row", width: "100%", marginTop: 0 }, children: [_jsx("text", { selectable: true, style: { fg: theme.white, bg: theme.chipTeal, attributes: TextAttributes.BOLD }, children: " SAVED " }), _jsx("text", { content: " ", selectable: true }), _jsx(LinkableText, { text: item.artifactPath, theme: theme, fg: theme.cyan, selectable: true })] })) : null, truncatedNotice ? (_jsx("text", { selectable: true, style: { fg: theme.muted, attributes: TextAttributes.ITALIC }, children: truncatedNotice })) : null, footerHint ? (_jsxs("box", { style: {
344
+ }, children: formatMdRead ? " OUTPUT · formatted " : " OUTPUT " }), mdPreview && mdPreview.length > 0 ? (mdPreview.map((content, i) => (_jsx("text", { content: content ?? " ", selectable: true, wrapMode: "none", style: selectableRowStyle(theme.statusBackground) }, `md-${i}`)))) : (_jsx(OutputLines, { lines: lines, theme: theme, gutterFg: theme.toolOutput }))] })) : null, item.artifactPath && !isFileDiff && !isMutation ? (_jsxs("box", { style: { flexDirection: "row", width: "100%", marginTop: 0 }, children: [_jsx("text", { selectable: true, style: { fg: theme.white, bg: theme.chipTeal, attributes: TextAttributes.BOLD }, children: " SAVED " }), _jsx("text", { content: " ", selectable: true }), _jsx(LinkableText, { text: item.artifactPath, theme: theme, fg: theme.cyan, selectable: true })] })) : null, truncatedNotice ? (_jsx("text", { selectable: true, style: { fg: theme.muted, attributes: TextAttributes.ITALIC }, children: truncatedNotice })) : null, footerHint ? (_jsxs("box", { style: {
345
345
  flexDirection: "row",
346
346
  width: "100%",
347
347
  marginTop: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"tool-card.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/tool-card.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-card.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/tool-card.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
1
  /**
2
- * Fixed-width pager chrome rows (meta/footer). OpenTUI flex children paint past
3
- * borders; a single pre-padded string of exact column width does not.
2
+ * Fixed-width pager chrome rows (meta/footer) and body wrapping. OpenTUI flex
3
+ * children paint past borders; a single pre-padded string of exact column width
4
+ * does not.
5
+ *
6
+ * Every budget here is measured in terminal columns and cut on grapheme
7
+ * boundaries. Measuring with `String.length` counts UTF-16 units, which
8
+ * over-counts combining scripts (Devanagari matras, Hangul jamo) and
9
+ * under-counts wide glyphs (CJK, emoji) — the latter paints past the border,
10
+ * and slicing mid-cluster orphans marks that then trail at the pane edge.
4
11
  */
5
12
  export declare function fitOneLine(candidates: readonly string[], maxCols: number): string;
6
13
  /**
@@ -8,5 +15,9 @@ export declare function fitOneLine(candidates: readonly string[], maxCols: numbe
8
15
  * spaces between.
9
16
  */
10
17
  export declare function padChromeRow(left: string, right: string, width: number): string;
11
- /** Soft-wrap a body line so it stays inside the pager border. */
18
+ /**
19
+ * Soft-wrap a body line so it stays inside the pager border. Breaks on a word
20
+ * boundary when one sits late enough in the row, otherwise hard-breaks between
21
+ * clusters. Zero-width marks stay attached to their base character.
22
+ */
12
23
  export declare function wrapPagerLine(line: string, width: number): string[];
@@ -1,19 +1,54 @@
1
1
  /**
2
- * Fixed-width pager chrome rows (meta/footer). OpenTUI flex children paint past
3
- * borders; a single pre-padded string of exact column width does not.
2
+ * Fixed-width pager chrome rows (meta/footer) and body wrapping. OpenTUI flex
3
+ * children paint past borders; a single pre-padded string of exact column width
4
+ * does not.
5
+ *
6
+ * Every budget here is measured in terminal columns and cut on grapheme
7
+ * boundaries. Measuring with `String.length` counts UTF-16 units, which
8
+ * over-counts combining scripts (Devanagari matras, Hangul jamo) and
9
+ * under-counts wide glyphs (CJK, emoji) — the latter paints past the border,
10
+ * and slicing mid-cluster orphans marks that then trail at the pane edge.
4
11
  */
12
+ import { renderColumns } from "../../ui/text-width.js";
13
+ const GRAPHEME_SEGMENTER = new Intl.Segmenter(undefined, {
14
+ granularity: "grapheme",
15
+ });
16
+ /** Columns to reserve for `text` — see renderColumns for why not string-width. */
17
+ function columns(text) {
18
+ return renderColumns(text);
19
+ }
20
+ function graphemes(text) {
21
+ return Array.from(GRAPHEME_SEGMENTER.segment(text), ({ segment }) => segment);
22
+ }
23
+ /** Clip to `maxCols` columns, never splitting a grapheme cluster. */
24
+ function clipToColumns(text, maxCols) {
25
+ if (maxCols <= 0)
26
+ return "";
27
+ if (columns(text) <= maxCols)
28
+ return text;
29
+ let out = "";
30
+ let used = 0;
31
+ for (const cluster of graphemes(text)) {
32
+ const width = Math.max(0, columns(cluster));
33
+ if (used + width > maxCols)
34
+ break;
35
+ out += cluster;
36
+ used += width;
37
+ }
38
+ return out;
39
+ }
5
40
  export function fitOneLine(candidates, maxCols) {
6
41
  const budget = Math.max(1, maxCols);
7
42
  for (const text of candidates) {
8
- if (text.length <= budget)
43
+ if (columns(text) <= budget)
9
44
  return text;
10
45
  }
11
46
  const last = candidates[candidates.length - 1] ?? "";
12
- if (last.length <= budget)
47
+ if (columns(last) <= budget)
13
48
  return last;
14
49
  if (budget <= 1)
15
50
  return "…";
16
- return `${last.slice(0, budget - 1)}…`;
51
+ return `${clipToColumns(last, budget - 1)}…`;
17
52
  }
18
53
  /**
19
54
  * One terminal row of exactly `width` columns: left clipped, right clipped,
@@ -21,36 +56,64 @@ export function fitOneLine(candidates, maxCols) {
21
56
  */
22
57
  export function padChromeRow(left, right, width) {
23
58
  const w = Math.max(8, width);
24
- const rightBudget = Math.min(Math.max(right.length, 4), Math.max(8, Math.floor(w * 0.4)));
59
+ const rightBudget = Math.min(Math.max(columns(right), 4), Math.max(8, Math.floor(w * 0.4)));
25
60
  const r = fitOneLine([right, right.replace(/\s*·\s*.*$/, ""), right.replace(/\D/g, "") || "·"], rightBudget);
26
- const leftBudget = Math.max(1, w - r.length - 1);
61
+ const rightWidth = columns(r);
62
+ const leftBudget = Math.max(1, w - rightWidth - 1);
27
63
  const l = fitOneLine([left], leftBudget);
28
- const gap = Math.max(1, w - l.length - r.length);
64
+ const gap = Math.max(1, w - columns(l) - rightWidth);
29
65
  const row = `${l}${" ".repeat(gap)}${r}`;
30
- if (row.length === w)
66
+ const rowWidth = columns(row);
67
+ if (rowWidth === w)
31
68
  return row;
32
- if (row.length > w)
33
- return row.slice(0, w);
34
- return row + " ".repeat(w - row.length);
69
+ if (rowWidth > w)
70
+ return clipToColumns(row, w);
71
+ return row + " ".repeat(w - rowWidth);
35
72
  }
36
- /** Soft-wrap a body line so it stays inside the pager border. */
73
+ /**
74
+ * Soft-wrap a body line so it stays inside the pager border. Breaks on a word
75
+ * boundary when one sits late enough in the row, otherwise hard-breaks between
76
+ * clusters. Zero-width marks stay attached to their base character.
77
+ */
37
78
  export function wrapPagerLine(line, width) {
38
79
  const max = Math.max(8, width);
39
80
  if (!line)
40
81
  return [" "];
41
- if (line.length <= max)
82
+ if (columns(line) <= max)
42
83
  return [line];
84
+ const cells = graphemes(line).map((ch) => ({
85
+ ch,
86
+ w: Math.max(0, columns(ch)),
87
+ }));
88
+ const minBreak = Math.floor(max * 0.35);
43
89
  const out = [];
44
- let rest = line;
45
- while (rest.length > max) {
46
- let breakAt = rest.lastIndexOf(" ", max);
47
- if (breakAt < Math.floor(max * 0.35))
48
- breakAt = max;
49
- out.push(rest.slice(0, breakAt));
50
- rest = rest.slice(breakAt).replace(/^\s+/, "");
90
+ let start = 0;
91
+ while (start < cells.length) {
92
+ let used = 0;
93
+ let end = start;
94
+ let space = -1;
95
+ while (end < cells.length && used + cells[end].w <= max) {
96
+ used += cells[end].w;
97
+ end += 1;
98
+ if (cells[end - 1].ch === " ")
99
+ space = end;
100
+ }
101
+ if (end >= cells.length) {
102
+ out.push(cells.slice(start).map((c) => c.ch).join(""));
103
+ break;
104
+ }
105
+ // Always consume at least one cluster so a glyph wider than the row cannot
106
+ // stall the loop.
107
+ const cut = space > start && space - start >= minBreak ? space : Math.max(end, start + 1);
108
+ out.push(cells
109
+ .slice(start, cut)
110
+ .map((c) => c.ch)
111
+ .join("")
112
+ .replace(/\s+$/, ""));
113
+ start = cut;
114
+ while (start < cells.length && cells[start].ch === " ")
115
+ start += 1;
51
116
  }
52
- if (rest)
53
- out.push(rest);
54
117
  return out.length > 0 ? out : [" "];
55
118
  }
56
119
  //# sourceMappingURL=pager-chrome.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pager-chrome.js","sourceRoot":"","sources":["../../../src/tui-v2/rendering/pager-chrome.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pager-chrome.js","sourceRoot":"","sources":["../../../src/tui-v2/rendering/pager-chrome.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,11 @@ export function stripPagerLineGutters(body) {
20
20
  return body
21
21
  .split("\n")
22
22
  .map((line) => {
23
+ // formatModalPlainText writes blank rows as a bare gutter (` │`,
24
+ // no trailing space). Without this the pipe survives into format mode
25
+ // and paints as a stray vertical bar under the header.
26
+ if (/^[\d ]{0,8} │\s*$/.test(line))
27
+ return "";
23
28
  // formatModalPlainText: `<lineno> │ [+/-/ ]body`
24
29
  const withMark = /^(?:[\d ]{0,8}) │ ([+\-−] )?(.*)$/.exec(line);
25
30
  if (withMark) {
@@ -1 +1 @@
1
- {"version":3,"file":"pager-markdown.js","sourceRoot":"","sources":["../../../src/tui-v2/rendering/pager-markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pager-markdown.js","sourceRoot":"","sources":["../../../src/tui-v2/rendering/pager-markdown.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,14 @@ export declare function isCodeFenceClose(line: string, marker: string): boolean;
29
29
  export declare function openCodeFence(marker: string, info: string): CodeFenceState;
30
30
  /** Clamp the panel to the wrap budget so it never overflows the pane. */
31
31
  export declare function codeBlockWidth(wrapWidth: number): number;
32
+ /** Drop blank lines at the block edges so the panel hugs its code. */
33
+ export declare function trimCodeBlockBody(lines: readonly string[]): string[];
34
+ /**
35
+ * Panel width that fits the widest code line, so a one-line snippet is not
36
+ * stretched across the whole pane. Falls back to `available` when the code is
37
+ * wider than the pane, which is when wrapping takes over.
38
+ */
39
+ export declare function codeBlockFitWidth(lines: readonly string[], label: string, available: number): number;
32
40
  export declare function codeBlockTop(label: string, width: number): string;
33
41
  export declare function codeBlockBottom(width: number): string;
34
42
  /** Pad a painted body to the panel's inner width and add both borders. */
@@ -6,7 +6,7 @@
6
6
  * dropped characters, wide glyphs never straddle the right border).
7
7
  */
8
8
  import chalk from "chalk";
9
- import stringWidth from "string-width";
9
+ import { renderColumns } from "./text-width.js";
10
10
  import { detectThemeHint } from "../tui-v2/bootstrap/capabilities.js";
11
11
  import { themeFor } from "../tui-v2/rendering/theme.js";
12
12
  import { emptyCarry, highlightLineForPath, } from "../tui-v2/rendering/syntax-highlight.js";
@@ -164,6 +164,33 @@ export function openCodeFence(marker, info) {
164
164
  export function codeBlockWidth(wrapWidth) {
165
165
  return Math.max(MIN_WIDTH, Math.min(Math.floor(wrapWidth), MAX_WIDTH));
166
166
  }
167
+ /** Drop blank lines at the block edges so the panel hugs its code. */
168
+ export function trimCodeBlockBody(lines) {
169
+ let start = 0;
170
+ let end = lines.length;
171
+ while (start < end && lines[start].trim().length === 0)
172
+ start += 1;
173
+ while (end > start && lines[end - 1].trim().length === 0)
174
+ end -= 1;
175
+ return lines.slice(start, end);
176
+ }
177
+ /**
178
+ * Panel width that fits the widest code line, so a one-line snippet is not
179
+ * stretched across the whole pane. Falls back to `available` when the code is
180
+ * wider than the pane, which is when wrapping takes over.
181
+ */
182
+ export function codeBlockFitWidth(lines, label, available) {
183
+ let widest = 0;
184
+ for (const line of lines) {
185
+ const width = renderColumns(expandTabs(line.replace(/\s+$/, "")));
186
+ if (width > widest)
187
+ widest = width;
188
+ }
189
+ // `╭─ label ─╮` needs the label plus six columns of chrome.
190
+ const labelNeeds = label ? renderColumns(label) + 6 : 0;
191
+ const wanted = Math.max(widest + CODE_BLOCK_CHROME, labelNeeds);
192
+ return codeBlockWidth(Math.min(codeBlockWidth(available), wanted));
193
+ }
167
194
  function rule(count) {
168
195
  return "─".repeat(Math.max(0, count));
169
196
  }
@@ -173,7 +200,7 @@ function truncateLabel(label, maxWidth) {
173
200
  let text = "";
174
201
  let width = 0;
175
202
  for (const cluster of graphemes(label)) {
176
- const clusterWidth = stringWidth(cluster);
203
+ const clusterWidth = renderColumns(cluster);
177
204
  if (width + clusterWidth > maxWidth)
178
205
  break;
179
206
  text += cluster;
@@ -185,7 +212,7 @@ export function codeBlockTop(label, width) {
185
212
  const { border, label: paintLabel } = palette();
186
213
  const span = codeBlockWidth(width) - 2;
187
214
  const room = span - 4;
188
- const labelWidth = stringWidth(label);
215
+ const labelWidth = renderColumns(label);
189
216
  const text = room < 1
190
217
  ? ""
191
218
  : labelWidth <= room
@@ -195,7 +222,7 @@ export function codeBlockTop(label, width) {
195
222
  return border(`╭${rule(span)}╮`);
196
223
  return (border("╭─") +
197
224
  paintLabel(` ${text} `) +
198
- border(`${rule(span - 3 - stringWidth(text))}╮`));
225
+ border(`${rule(span - 3 - renderColumns(text))}╮`));
199
226
  }
200
227
  export function codeBlockBottom(width) {
201
228
  return palette().border(`╰${rule(codeBlockWidth(width) - 2)}╯`);
@@ -223,7 +250,7 @@ function expandTabs(line) {
223
250
  continue;
224
251
  }
225
252
  out += ch;
226
- col += stringWidth(ch);
253
+ col += renderColumns(ch);
227
254
  }
228
255
  return out;
229
256
  }
@@ -239,7 +266,7 @@ function toCells(spans) {
239
266
  cells.push({
240
267
  ch: segment,
241
268
  kind: kinds[index] ?? "plain",
242
- w: stringWidth(segment),
269
+ w: renderColumns(segment),
243
270
  });
244
271
  }
245
272
  return cells;