@plurnk/plurnk 0.76.2 → 0.77.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.
Files changed (49) hide show
  1. package/README.md +5 -1
  2. package/completions/_plurnk +2 -2
  3. package/completions/plurnk.bash +2 -2
  4. package/completions/plurnk.fish +2 -0
  5. package/conformance/agui-client.json +13 -0
  6. package/dist/agui_cli.d.ts +4 -0
  7. package/dist/agui_cli.d.ts.map +1 -1
  8. package/dist/agui_cli.js +36 -10
  9. package/dist/agui_cli.js.map +1 -1
  10. package/dist/build-info.json +1 -1
  11. package/dist/diagnostics.d.ts +1 -0
  12. package/dist/diagnostics.d.ts.map +1 -1
  13. package/dist/diagnostics.js +10 -5
  14. package/dist/diagnostics.js.map +1 -1
  15. package/dist/dispatcher.d.ts +1 -1
  16. package/dist/dispatcher.d.ts.map +1 -1
  17. package/dist/dispatcher.js +52 -7
  18. package/dist/dispatcher.js.map +1 -1
  19. package/dist/markdown.d.ts +4 -16
  20. package/dist/markdown.d.ts.map +1 -1
  21. package/dist/markdown.js +208 -210
  22. package/dist/markdown.js.map +1 -1
  23. package/dist/proposal.js +1 -1
  24. package/dist/proposal.js.map +1 -1
  25. package/dist/render-command.d.ts +4 -0
  26. package/dist/render-command.d.ts.map +1 -0
  27. package/dist/render-command.js +18 -0
  28. package/dist/render-command.js.map +1 -0
  29. package/dist/render.d.ts +9 -5
  30. package/dist/render.d.ts.map +1 -1
  31. package/dist/render.js +82 -69
  32. package/dist/render.js.map +1 -1
  33. package/dist/status.d.ts +30 -0
  34. package/dist/status.d.ts.map +1 -0
  35. package/dist/status.js +119 -0
  36. package/dist/status.js.map +1 -0
  37. package/dist/stream.d.ts.map +1 -1
  38. package/dist/stream.js +6 -9
  39. package/dist/stream.js.map +1 -1
  40. package/dist/transport.d.ts +13 -0
  41. package/dist/transport.d.ts.map +1 -1
  42. package/dist/transport.js +34 -1
  43. package/dist/transport.js.map +1 -1
  44. package/dist/tui.d.ts +2 -0
  45. package/dist/tui.d.ts.map +1 -1
  46. package/dist/tui.js +101 -95
  47. package/dist/tui.js.map +1 -1
  48. package/man/plurnk.1 +9 -5
  49. package/package.json +9 -4
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../src/dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../src/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,5 @@
1
- export declare const WIDTH_TARGET = 80;
2
- export declare const renderTable: (lines: string[], width?: number) => string[];
3
- interface MermaidGraph {
4
- labels: Map<string, string>;
5
- edges: Array<{
6
- from: string;
7
- to: string;
8
- label: string | null;
9
- }>;
10
- order: string[];
11
- }
12
- export declare const parseMermaidFlowchart: (source: string) => MermaidGraph | null;
13
- export declare const renderMermaid: (source: string, width?: number) => string[];
14
- export declare const looksLikeMarkdown: (s: string) => boolean;
15
- export declare const renderMarkdownDocument: (raw: string, width?: number) => string;
16
- export {};
1
+ export declare const displayWidth: (text: string) => number;
2
+ export declare const renderMermaid: (source: string, viewport?: number) => string[];
3
+ export declare const renderMarkdownDocument: (raw: string, viewport?: number) => string;
4
+ export declare const looksLikeMarkdown: (text: string) => boolean;
17
5
  //# sourceMappingURL=markdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,YAAY,KAAK,CAAC;AAgD/B,eAAO,MAAM,WAAW,UAAW,MAAM,EAAE,UAAS,MAAM,KAAkB,MAAM,EAsBjF,CAAC;AAIF,UAAU,YAAY;IAClB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACjE,KAAK,EAAE,MAAM,EAAE,CAAC;CACnB;AAOD,eAAO,MAAM,qBAAqB,WAAY,MAAM,KAAG,YAAY,GAAG,IAuCrE,CAAC;AAgBF,eAAO,MAAM,aAAa,WAAY,MAAM,UAAS,MAAM,KAAkB,MAAM,EA0ClF,CAAC;AAaF,eAAO,MAAM,iBAAiB,MAAO,MAAM,KAAG,OAMb,CAAC;AAElC,eAAO,MAAM,sBAAsB,QAAS,MAAM,UAAS,MAAM,KAAkB,MAmClF,CAAC"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,YAAY,SAAU,MAAM,KAAG,MAA2B,CAAC;AAuDxE,eAAO,MAAM,aAAa,WACd,MAAM,aACJ,MAAM,KACjB,MAAM,EAmBR,CAAC;AAwIF,eAAO,MAAM,sBAAsB,QAC1B,MAAM,aACD,MAAM,KACjB,MAKF,CAAC;AAIF,eAAO,MAAM,iBAAiB,SAAU,MAAM,KAAG,OAOV,CAAC"}
package/dist/markdown.js CHANGED
@@ -1,8 +1,13 @@
1
- // Client-side Markdown projection for the TUI (plurnk#15, under the #21
2
- // contract): the wire carries semantic/raw Markdown and Mermaid source; this
3
- // module projects it for the current terminal, capped at the 80-column
4
- // ergonomic target. Vanilla ANSI, no framework, no wire channel. The one-shot
5
- // CLI never uses this — raw stays raw for pipes.
1
+ // Client-side GFM projection for the TUI (plurnk#15, under the #21
2
+ // contract). The wire carries semantic Markdown and Mermaid source. Maintained
3
+ // parser and layout packages own GFM, wrapping, width, and table mechanics;
4
+ // this module composes them with the live viewport and Mermaid projection.
5
+ // One-shot output stays raw.
6
+ import { renderMermaidASCII } from "beautiful-mermaid";
7
+ import Table from "cli-table3";
8
+ import { Marked } from "marked";
9
+ import stringWidth from "string-width";
10
+ import wrapAnsi from "wrap-ansi";
6
11
  import { colorEnabled } from "./color.js";
7
12
  const supportsColor = colorEnabled() && process.stdout.isTTY === true;
8
13
  const code = (n) => supportsColor ? `\x1b[${n}m` : "";
@@ -10,225 +15,218 @@ const RESET = code("0");
10
15
  const DIM = code("2");
11
16
  const BOLD = code("1");
12
17
  const ITALIC = code("3");
18
+ const STRIKE = code("9");
13
19
  const CYAN = code("36");
14
- export const WIDTH_TARGET = 80;
15
- const displayWidth = (s) => {
16
- let w = 0;
17
- for (const ch of s) {
18
- const cp = ch.codePointAt(0) ?? 0;
19
- w += (cp >= 0x1100 && (cp <= 0x115f || (cp >= 0x2e80 && cp <= 0xa4cf) || (cp >= 0xac00 && cp <= 0xd7a3)
20
- || (cp >= 0xf900 && cp <= 0xfaff) || (cp >= 0x1f000 && cp <= 0x1ffff))) ? 2 : 1;
21
- }
22
- return w;
23
- };
24
- const truncate = (s, max) => {
25
- if (displayWidth(s) <= max)
26
- return s;
27
- let out = "";
28
- for (const ch of s) {
29
- if (displayWidth(out + ch) > max - 1)
20
+ export const displayWidth = (text) => stringWidth(text);
21
+ const styled = (style) => (text) => style.length === 0 ? text : `${style}${text}${RESET}`;
22
+ const fitTableWidths = (rows, viewport) => {
23
+ const columns = Math.max(...rows.map((row) => row.length));
24
+ const widths = Array.from({ length: columns }, (_value, index) => Math.max(3, ...rows.map((row) => displayWidth(row[index] ?? "") + 2)));
25
+ const contentBudget = Math.max(columns * 3, viewport - columns - 1);
26
+ while (widths.reduce((sum, width) => sum + width, 0) > contentBudget) {
27
+ const reducible = widths
28
+ .map((width, index) => ({ width, index }))
29
+ .filter(({ width }) => width > 3)
30
+ .sort((left, right) => right.width - left.width)[0];
31
+ if (reducible === undefined)
30
32
  break;
31
- out += ch;
33
+ widths[reducible.index] -= 1;
32
34
  }
33
- return `${out}…`;
35
+ return widths;
34
36
  };
35
- const pad = (s, width) => s + " ".repeat(Math.max(0, width - displayWidth(s)));
36
- // A common model-authored inline-math spelling with an exact terminal glyph.
37
- const normalizeProse = (s) => s.replaceAll("$\\rightarrow$", "→");
38
- const renderInline = (s) => {
39
- let out = s;
40
- out = out.replace(/\*\*([^*\n]+)\*\*/g, (_m, t) => `${BOLD}${t}${RESET}`);
41
- out = out.replace(/(^|[^*_])[*_]([^*_\n]+)[*_](?!\*)/g, (_m, pre, t) => `${pre}${ITALIC}${t}${RESET}`);
42
- out = out.replace(/`([^`\n]+)`/g, (_m, t) => `${DIM}${t}${RESET}`);
43
- return out;
37
+ const MERMAID_OPTIONS = {
38
+ useAscii: false,
39
+ paddingX: 1,
40
+ paddingY: 1,
41
+ boxBorderPadding: 0,
42
+ colorMode: "none",
44
43
  };
45
- // ─── GFM pipe tables ─────────────────────────────────────────────────
46
- const isTableRow = (line) => /^\s*\|.*\|\s*$/.test(line);
47
- const isTableRule = (line) => /^\s*\|(\s*:?-+:?\s*\|)+\s*$/.test(line);
48
- const splitRow = (line) => line.trim().replace(/^\|/, "").replace(/\|$/, "").split("|").map((cell) => cell.trim());
49
- // Project a pipe table as aligned columns within the width budget: compute
50
- // natural widths, then shrink the widest columns until the row fits, with a
51
- // per-cell truncation. 80 columns is the ergonomic target, not a wire fact.
52
- export const renderTable = (lines, width = WIDTH_TARGET) => {
53
- const rows = lines.filter((line) => !isTableRule(line)).map(splitRow);
54
- const columns = Math.max(...rows.map((row) => row.length));
55
- const widths = Array.from({ length: columns }, (_v, index) => Math.max(1, ...rows.map((row) => displayWidth(row[index] ?? ""))));
56
- // Overhead: "│ " + " │ ".repeat + " │" → 3 per column + 1.
57
- const budget = () => widths.reduce((sum, w) => sum + w + 3, 1);
58
- while (budget() > width && Math.max(...widths) > 4) {
59
- widths[widths.indexOf(Math.max(...widths))] -= 1;
44
+ const renderMermaidLines = (source) => {
45
+ try {
46
+ const lines = renderMermaidASCII(source, MERMAID_OPTIONS)
47
+ .replaceAll("\r\n", "\n")
48
+ .split("\n")
49
+ .map((line) => line.trimEnd());
50
+ while (lines[0]?.length === 0)
51
+ lines.shift();
52
+ while (lines.at(-1)?.length === 0)
53
+ lines.pop();
54
+ return lines.length === 0 ? null : lines;
60
55
  }
61
- const line = (left, mid, right) => `${DIM}${left}${widths.map((w) => "─".repeat(w + 2)).join(mid)}${right}${RESET}`;
62
- const cells = (row, emphasize) => `${DIM}│${RESET} ${row.length === 0 ? "" : widths.map((w, index) => {
63
- const cell = pad(truncate(row[index] ?? "", w), w);
64
- return emphasize ? `${BOLD}${cell}${RESET}` : renderInline(cell);
65
- }).join(` ${DIM}│${RESET} `)} ${DIM}│${RESET}`;
66
- const out = [line("┌", "┬", "┐"), cells(rows[0] ?? [], true)];
67
- if (rows.length > 1)
68
- out.push(line("├", "┼", "┤"));
69
- for (const row of rows.slice(1))
70
- out.push(cells(row, false));
71
- out.push(line("└", "┴", "┘"));
72
- return out;
73
- };
74
- const NODE = /([A-Za-z0-9_.-]+)(?:\[([^\]]*)\]|\(\(([^)]*)\)\)|\(([^)]*)\)|\{([^}]*)\})?/y;
75
- // Parse the common flowchart subset: `graph TD` / `flowchart LR`, node
76
- // definitions with [..] (..) {{..}} labels, and `A --> B`, `A -->|label| B`,
77
- // including chains. Anything unrecognized returns null and the source shows.
78
- export const parseMermaidFlowchart = (source) => {
79
- const lines = source.split("\n").map((line) => line.trim()).filter((line) => line.length > 0 && !line.startsWith("%%"));
80
- if (lines.length === 0)
81
- return null;
82
- if (!/^(graph|flowchart)\s+(TD|TB|LR|RL|BT)$/.test(lines[0]))
56
+ catch {
83
57
  return null;
84
- const labels = new Map();
85
- const order = [];
86
- const edges = [];
87
- const see = (id, label) => {
88
- if (!labels.has(id)) {
89
- labels.set(id, label ?? id);
90
- order.push(id);
91
- }
92
- else if (label !== undefined) {
93
- labels.set(id, label);
94
- }
95
- return id;
96
- };
97
- for (const line of lines.slice(1)) {
98
- let cursor = 0;
99
- let previous = null;
100
- for (;;) {
101
- NODE.lastIndex = cursor;
102
- const node = NODE.exec(line);
103
- if (node === null || node[0].length === 0)
104
- return null;
105
- const id = see(node[1], node[2] ?? node[3] ?? node[4] ?? node[5]);
106
- cursor = NODE.lastIndex;
107
- // The edge that led here was pushed with a placeholder target.
108
- if (previous !== null)
109
- edges[edges.length - 1] = { ...edges[edges.length - 1], to: id };
110
- const rest = line.slice(cursor);
111
- const edge = /^\s*(?:-{2,3}>|={2,3}>)(?:\|([^|]*)\|)?\s*/.exec(rest);
112
- if (edge === null) {
113
- if (rest.trim().length !== 0)
114
- return null;
115
- break; // this line is done; the next statement line continues the graph
116
- }
117
- edges.push({ from: id, to: id, label: edge[1]?.trim() ?? null });
118
- cursor += edge[0].length;
119
- previous = id;
120
- }
121
58
  }
122
- return { labels, edges, order };
123
59
  };
124
- const box = (label, width) => {
125
- const text = truncate(label, width - 4);
126
- const inner = displayWidth(text) + 2;
60
+ const verticalizeFlowchart = (source) => source
61
+ .replace(/^(\s*(?:graph|flowchart)\s+)(?:LR|RL)(?=\s*(?:;|$))/im, "$1TD")
62
+ .replace(/^(\s*direction\s+)(?:LR|RL)(\s*)$/gim, "$1TB$2");
63
+ const widestLine = (lines) => Math.max(0, ...lines.map(displayWidth));
64
+ // Preserve the authored layout whenever it fits the current viewport. A
65
+ // vertical projection is the one bounded alternative; invalid, unsupported,
66
+ // or still-overwide diagrams remain inspectable as labeled source.
67
+ export const renderMermaid = (source, viewport = process.stdout.columns ?? 80) => {
68
+ const width = Math.max(1, Math.trunc(viewport));
69
+ const authored = renderMermaidLines(source);
70
+ if (authored !== null && widestLine(authored) <= width)
71
+ return authored;
72
+ const verticalSource = verticalizeFlowchart(source);
73
+ const vertical = verticalSource === source ? null : renderMermaidLines(verticalSource);
74
+ if (vertical !== null && widestLine(vertical) <= width)
75
+ return vertical;
76
+ const attemptedWidths = [authored, vertical]
77
+ .filter((lines) => lines !== null)
78
+ .map(widestLine);
79
+ const reason = attemptedWidths.length === 0
80
+ ? "unsupported or invalid"
81
+ : `rendered width ${Math.min(...attemptedWidths)} exceeds ${width}`;
127
82
  return [
128
- `┌${"─".repeat(inner)}┐`,
129
- `│ ${text} │`,
130
- `└${"─".repeat(inner)}┘`,
131
- ];
132
- };
133
- // Project the parsed flowchart: a simple chain becomes vertical boxes joined
134
- // by labeled arrows; anything with branching or joining becomes a legible
135
- // labeled edge list under the node inventory. Deterministic, width-bounded,
136
- // honest — never a half-drawn diagram.
137
- export const renderMermaid = (source, width = WIDTH_TARGET) => {
138
- const graph = parseMermaidFlowchart(source);
139
- const fallback = () => [
140
- `${DIM}◇ mermaid${RESET}`,
83
+ `${DIM}◇ mermaid source — ${reason}${RESET}`,
141
84
  ...source.split("\n").map((line) => `${DIM}│ ${line}${RESET}`),
142
85
  ];
143
- if (graph === null)
144
- return fallback();
145
- const { labels, edges, order } = graph;
146
- const out = new Map();
147
- const into = new Map();
148
- for (const { from, to } of edges) {
149
- out.set(from, (out.get(from) ?? 0) + 1);
150
- into.set(to, (into.get(to) ?? 0) + 1);
151
- }
152
- const isChain = order.length > 0
153
- && edges.length === order.length - 1
154
- && order.every((id) => (out.get(id) ?? 0) <= 1 && (into.get(id) ?? 0) <= 1);
155
- if (isChain && edges.length > 0) {
156
- const lines = [];
157
- let id = order.find((candidate) => (into.get(candidate) ?? 0) === 0);
158
- while (id !== undefined) {
159
- const b = box(labels.get(id) ?? id, width);
160
- const boxWidth = displayWidth(b[0]);
161
- lines.push(...b);
162
- const edge = edges.find((candidate) => candidate.from === id);
163
- if (edge === undefined)
164
- break;
165
- const stem = " ".repeat(Math.max(0, Math.floor(boxWidth / 2)));
166
- lines.push(`${stem}│${edge.label === null ? "" : ` ${DIM}${truncate(edge.label, width - stem.length - 2)}${RESET}`}`);
167
- lines.push(`${stem}▼`);
168
- id = edge.to;
169
- }
170
- return lines;
171
- }
172
- const lines = [`${DIM}◇ mermaid graph${RESET}`];
173
- for (const { from, to, label } of edges) {
174
- const arrow = ` ${truncate(labels.get(from) ?? from, 30)} ${CYAN}─▶${RESET} ${truncate(labels.get(to) ?? to, 30)}`;
175
- lines.push(label === null ? arrow : `${arrow} ${DIM}(${truncate(label, 20)})${RESET}`);
176
- }
177
- for (const id of order) {
178
- if ((out.get(id) ?? 0) === 0 && (into.get(id) ?? 0) === 0)
179
- lines.push(` ${truncate(labels.get(id) ?? id, 60)}`);
180
- }
181
- return lines;
182
- };
183
- // ─── Fenced blocks ───────────────────────────────────────────────────
184
- const renderFence = (language, body, width) => {
185
- if (language === "mermaid")
186
- return renderMermaid(body.join("\n"), width);
187
- const header = language.length === 0 ? `${DIM}◇${RESET}` : `${DIM}◇ ${language}${RESET}`;
188
- return [header, ...body.map((line) => `${DIM}│${RESET} ${line}`)];
189
86
  };
190
- // ─── The document projector ──────────────────────────────────────────
191
- // Heuristic: body looks like markdown if it carries structural markers.
192
- export const looksLikeMarkdown = (s) => /(^|\n)#{1,6}\s/.test(s) ||
193
- /\*\*[^*\n]+\*\*/.test(s) ||
194
- /(^|\n)[-*+]\s/.test(s) ||
195
- /```/.test(s) ||
196
- /(^|\n)\s*\|.*\|/.test(s) ||
197
- /\[[^\]]+\]\([^)]+\)/.test(s);
198
- export const renderMarkdownDocument = (raw, width = WIDTH_TARGET) => {
199
- const source = normalizeProse(raw);
200
- const lines = source.split("\n");
201
- const out = [];
202
- let index = 0;
203
- while (index < lines.length) {
204
- const line = lines[index];
205
- const fence = /^\s*```(\S*)\s*$/.exec(line);
206
- if (fence !== null) {
207
- const body = [];
208
- index += 1;
209
- while (index < lines.length && !/^\s*```\s*$/.test(lines[index])) {
210
- body.push(lines[index]);
211
- index += 1;
212
- }
213
- index += 1; // closing fence (or end)
214
- out.push(...renderFence(fence[1] ?? "", body, width));
215
- continue;
87
+ const terminalRenderer = (viewport) => {
88
+ let blockIndent = 0;
89
+ const availableWidth = () => Math.max(1, viewport - blockIndent);
90
+ const withBlockIndent = (columns, project) => {
91
+ blockIndent += columns;
92
+ try {
93
+ return project();
216
94
  }
217
- if (isTableRow(line) && index + 1 < lines.length && isTableRule(lines[index + 1])) {
218
- const table = [];
219
- while (index < lines.length && (isTableRow(lines[index]) || isTableRule(lines[index]))) {
220
- table.push(lines[index]);
221
- index += 1;
222
- }
223
- out.push(...renderTable(table, width));
224
- continue;
95
+ finally {
96
+ blockIndent -= columns;
225
97
  }
226
- let prose = line;
227
- prose = prose.replace(/^(#{1,6})\s+(.*)$/, (_m, _h, text) => `${BOLD}${text}${RESET}`);
228
- prose = prose.replace(/^[-*+]\s/, "• ");
229
- out.push(renderInline(prose));
230
- index += 1;
231
- }
232
- return out.join("\n");
98
+ };
99
+ const wrap = (text) => wrapAnsi(text, availableWidth(), {
100
+ hard: true,
101
+ trim: true,
102
+ wordWrap: true,
103
+ });
104
+ const renderer = {
105
+ space() {
106
+ return "";
107
+ },
108
+ code(token) {
109
+ if (token.lang?.trim().toLowerCase() === "mermaid") {
110
+ return `${renderMermaid(token.text, viewport).join("\n")}\n\n`;
111
+ }
112
+ const language = token.lang?.trim() ?? "";
113
+ const header = language.length === 0 ? "💻" : `💻 ${language}`;
114
+ return [
115
+ styled(DIM)(header),
116
+ ...token.text.split("\n").map((line) => `${styled(DIM)("│")} ${line}`),
117
+ "",
118
+ "",
119
+ ].join("\n");
120
+ },
121
+ blockquote(token) {
122
+ const body = withBlockIndent(2, () => this.parser.parse(token.tokens).trimEnd());
123
+ return `${body.split("\n").map((line) => `${styled(DIM)("│")} ${line}`).join("\n")}\n\n`;
124
+ },
125
+ html(token) {
126
+ return styled(DIM)(token.text);
127
+ },
128
+ def() {
129
+ return "";
130
+ },
131
+ heading(token) {
132
+ return `${wrap(styled(BOLD)(this.parser.parseInline(token.tokens)))}\n\n`;
133
+ },
134
+ hr() {
135
+ return `${styled(DIM)("─".repeat(viewport))}\n\n`;
136
+ },
137
+ list(token) {
138
+ const start = typeof token.start === "number" ? token.start : 1;
139
+ const rows = token.items.map((item, index) => {
140
+ const marker = token.ordered ? `${start + index}. ` : "* ";
141
+ const prefix = marker;
142
+ const body = withBlockIndent(displayWidth(prefix), () => item.tokens.map((itemToken) => {
143
+ const rendered = this.parser.parse([itemToken]);
144
+ return itemToken.type === "text" ? wrap(rendered) : rendered;
145
+ }).join("").trim());
146
+ const lines = body.split("\n");
147
+ return [
148
+ `${prefix}${lines[0] ?? ""}`,
149
+ ...lines.slice(1).map((line) => `${" ".repeat(displayWidth(prefix))}${line}`),
150
+ ].join("\n");
151
+ });
152
+ return `${rows.join("\n")}\n\n`;
153
+ },
154
+ checkbox(token) {
155
+ return `[${token.checked ? "x" : " "}] `;
156
+ },
157
+ paragraph(token) {
158
+ return `${wrap(this.parser.parseInline(token.tokens))}\n\n`;
159
+ },
160
+ table(token) {
161
+ const header = token.header.map((cell) => this.parser.parseInline(cell.tokens));
162
+ const rows = token.rows.map((row) => row.map((cell) => this.parser.parseInline(cell.tokens)));
163
+ const colWidths = fitTableWidths([header, ...rows], viewport);
164
+ const wrapCell = (cell, index) => wrapAnsi(cell, Math.max(1, (colWidths[index] ?? 3) - 2), { hard: true, trim: true, wordWrap: true });
165
+ const table = new Table({
166
+ colAligns: token.align.map((align) => align ?? "left"),
167
+ colWidths,
168
+ head: header.map((cell, index) => wrapCell(styled(BOLD)(cell), index)),
169
+ wordWrap: true,
170
+ wrapOnWordBoundary: true,
171
+ style: {
172
+ border: [],
173
+ compact: false,
174
+ head: [],
175
+ "padding-left": 1,
176
+ "padding-right": 1,
177
+ },
178
+ });
179
+ table.push(...rows.map((row) => row.map(wrapCell)));
180
+ return `${table.toString()}\n\n`;
181
+ },
182
+ strong(token) {
183
+ return styled(BOLD)(this.parser.parseInline(token.tokens));
184
+ },
185
+ em(token) {
186
+ return styled(ITALIC)(this.parser.parseInline(token.tokens));
187
+ },
188
+ codespan(token) {
189
+ return styled(DIM)(token.text);
190
+ },
191
+ br() {
192
+ return "\n";
193
+ },
194
+ del(token) {
195
+ return styled(STRIKE)(this.parser.parseInline(token.tokens));
196
+ },
197
+ link(token) {
198
+ const label = this.parser.parseInline(token.tokens);
199
+ return token.href === token.text
200
+ ? styled(CYAN)(label)
201
+ : `${styled(CYAN)(label)} ${styled(DIM)(`(${token.href})`)}`;
202
+ },
203
+ image(token) {
204
+ return `${token.text} ${styled(DIM)(`(${token.href})`)}`;
205
+ },
206
+ text(token) {
207
+ return "tokens" in token && token.tokens !== undefined
208
+ ? this.parser.parseInline(token.tokens)
209
+ : token.text;
210
+ },
211
+ };
212
+ return new Marked({ breaks: false, gfm: true, renderer });
213
+ };
214
+ // A common model-authored inline-math spelling with an exact terminal glyph.
215
+ const normalizeProse = (text) => text.replaceAll("$\\rightarrow$", "→");
216
+ export const renderMarkdownDocument = (raw, viewport = process.stdout.columns ?? 80) => {
217
+ const width = Math.max(1, Math.trunc(viewport));
218
+ const rendered = terminalRenderer(width).parse(normalizeProse(raw));
219
+ if (typeof rendered !== "string")
220
+ throw new TypeError("Terminal Markdown rendering became asynchronous.");
221
+ return rendered.trimEnd();
233
222
  };
223
+ // Heuristic: ordinary speech remains ordinary speech; structurally marked GFM
224
+ // enters the terminal renderer.
225
+ export const looksLikeMarkdown = (text) => /(^|\n)#{1,6}\s/.test(text)
226
+ || /\*\*[^*\n]+\*\*/.test(text)
227
+ || /(^|\n)[-*+]\s/.test(text)
228
+ || /(^|\n)\s*\d+[.)]\s/.test(text)
229
+ || /```|~~~/.test(text)
230
+ || /(^|\n)\s*\|.*\|/.test(text)
231
+ || /\[[^\]]+\]\([^)]+\)/.test(text);
234
232
  //# sourceMappingURL=markdown.js.map