@heyhuynhgiabuu/pi-pretty 0.6.23 → 0.6.24

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/render.js CHANGED
@@ -1,45 +1,27 @@
1
- "use strict";
2
1
  /**
3
2
  * pi-pretty: rendering functions for all tools.
4
3
  *
5
4
  * These produce ANSI-colored terminal output strings.
6
5
  * They are async only when Shiki syntax highlighting is involved.
7
6
  */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.RESET_WITHOUT_BG = void 0;
10
- exports.resolveTheme = resolveTheme;
11
- exports.getTheme = getTheme;
12
- exports.isLowContrastShikiFg = isLowContrastShikiFg;
13
- exports.preserveBoxBackground = preserveBoxBackground;
14
- exports.fillToolBackground = fillToolBackground;
15
- exports.renderToolMetrics = renderToolMetrics;
16
- exports.renderToolDuration = renderToolDuration;
17
- exports.renderToolError = renderToolError;
18
- exports.renderFileContent = renderFileContent;
19
- exports.renderBashOutput = renderBashOutput;
20
- exports.renderTree = renderTree;
21
- exports.renderFindResults = renderFindResults;
22
- exports.renderGrepResults = renderGrepResults;
23
- exports.makeRenderCall = makeRenderCall;
24
- exports.makeRenderResult = makeRenderResult;
25
- const node_path_1 = require("node:path");
7
+ import { basename, dirname } from "node:path";
26
8
  // Top-level value import so jiti's pi-tui alias applies (it only rewrites
27
9
  // static top-level import/require, not function-body require — see tui-text.ts).
28
- const pi_tui_1 = require("@earendil-works/pi-tui");
29
- const cli_1 = require("@shikijs/cli");
30
- const shiki_1 = require("shiki");
31
- const config_js_1 = require("./config.js");
32
- const helpers_js_1 = require("./helpers.js");
10
+ import { Text as TuiText, truncateToWidth } from "@earendil-works/pi-tui";
11
+ import { codeToANSI } from "@shikijs/cli";
12
+ import { bundledThemes } from "shiki";
13
+ import { BG_BASE, BG_ERROR, CACHE_LIMIT, detectLang, dirIcon, FG_BLUE, FG_DIM, FG_LNUM, FG_RULE, FG_YELLOW, loadConfig, MAX_HL_CHARS, MAX_PREVIEW_LINES, RST, resolveBaseBackground, TOOL_RESULT_INDENT, termWidth, } from "./config.js";
14
+ import { CHARS_KEY, compactErrorLines, ELAPSED_KEY, formatCharCount, formatElapsedMs, normalizeLineEndings, } from "./helpers.js";
33
15
  /** Thin wrapper over pi-tui's truncateToWidth (imported at top level above). */
34
16
  function _truncateToWidth(text, maxWidth, ellipsis, pad) {
35
- return (0, pi_tui_1.truncateToWidth)(text, maxWidth, ellipsis, pad);
17
+ return truncateToWidth(text, maxWidth, ellipsis, pad);
36
18
  }
37
19
  // ---------------------------------------------------------------------------
38
20
  // Shiki ANSI cache
39
21
  // ---------------------------------------------------------------------------
40
22
  const DEFAULT_THEME = "github-dark";
41
23
  function isBundledTheme(name) {
42
- return Object.hasOwn(shiki_1.bundledThemes, name);
24
+ return Object.hasOwn(bundledThemes, name);
43
25
  }
44
26
  function pickValidTheme(candidate, source) {
45
27
  if (isBundledTheme(candidate))
@@ -57,7 +39,7 @@ function pickValidTheme(candidate, source) {
57
39
  * not a bundled theme, instead of silently degrading every highlighted block
58
40
  * to plain text.
59
41
  */
60
- function resolveTheme(env = process.env.PRETTY_THEME, home = process.env.HOME) {
42
+ export function resolveTheme(env = process.env.PRETTY_THEME, home = process.env.HOME) {
61
43
  if (env)
62
44
  return pickValidTheme(env, "PRETTY_THEME");
63
45
  try {
@@ -80,7 +62,7 @@ let _theme;
80
62
  * Resolution is lazy so config-file values applied at extension activation
81
63
  * take effect, and the result is cached (at most one warning per source).
82
64
  */
83
- function getTheme() {
65
+ export function getTheme() {
84
66
  if (_theme)
85
67
  return _theme;
86
68
  const env = process.env.PRETTY_THEME;
@@ -89,7 +71,7 @@ function getTheme() {
89
71
  theme = resolveTheme(env, "");
90
72
  }
91
73
  else {
92
- const configTheme = (0, config_js_1.loadConfig)().theme;
74
+ const configTheme = loadConfig().theme;
93
75
  theme =
94
76
  typeof configTheme === "string"
95
77
  ? pickValidTheme(configTheme, "pi-pretty.json")
@@ -102,7 +84,7 @@ const _cache = new Map();
102
84
  function _touch(k, v) {
103
85
  _cache.delete(k);
104
86
  _cache.set(k, v);
105
- while (_cache.size > config_js_1.CACHE_LIMIT) {
87
+ while (_cache.size > CACHE_LIMIT) {
106
88
  const first = _cache.keys().next().value;
107
89
  if (first === undefined)
108
90
  break;
@@ -113,14 +95,14 @@ function _touch(k, v) {
113
95
  async function hlBlock(code, language) {
114
96
  if (!code)
115
97
  return [""];
116
- if (!language || code.length > config_js_1.MAX_HL_CHARS)
98
+ if (!language || code.length > MAX_HL_CHARS)
117
99
  return code.split("\n");
118
100
  const k = `${getTheme()}\0${language}\0${code}`;
119
101
  const hit = _cache.get(k);
120
102
  if (hit)
121
103
  return _touch(k, hit);
122
104
  try {
123
- const ansi = normalizeShikiContrast(await (0, cli_1.codeToANSI)(code, language, getTheme()));
105
+ const ansi = normalizeShikiContrast(await codeToANSI(code, language, getTheme()));
124
106
  const out = (ansi.endsWith("\n") ? ansi.slice(0, -1) : ansi).split("\n");
125
107
  return _touch(k, out);
126
108
  }
@@ -131,7 +113,7 @@ async function hlBlock(code, language) {
131
113
  const ESC_RE = "\u001b";
132
114
  const ANSI_CAPTURE_RE = new RegExp(`${ESC_RE}\\[([0-9;]*)m`, "g");
133
115
  const FG_MUTED = "\x1b[38;2;139;148;158m";
134
- function isLowContrastShikiFg(params) {
116
+ export function isLowContrastShikiFg(params) {
135
117
  if (params === "30" || params === "90")
136
118
  return true;
137
119
  if (params === "38;5;0" || params === "38;5;8")
@@ -151,11 +133,11 @@ function normalizeShikiContrast(ansi) {
151
133
  // ---------------------------------------------------------------------------
152
134
  // Box background helpers
153
135
  // ---------------------------------------------------------------------------
154
- exports.RESET_WITHOUT_BG = "\x1b[22;23;24;25;27;28;29;39m";
155
- function preserveBoxBackground(ansi) {
136
+ export const RESET_WITHOUT_BG = "\x1b[22;23;24;25;27;28;29;39m";
137
+ export function preserveBoxBackground(ansi) {
156
138
  return ansi.replace(ANSI_CAPTURE_RE, (_seq, params) => {
157
139
  if (!params || params === "0")
158
- return exports.RESET_WITHOUT_BG;
140
+ return RESET_WITHOUT_BG;
159
141
  const parts = params.split(";").filter(Boolean);
160
142
  const kept = [];
161
143
  let i = 0;
@@ -196,7 +178,7 @@ function preserveBoxBackground(ansi) {
196
178
  return kept.length ? `\x1b[${kept.join(";")}m` : "";
197
179
  });
198
180
  }
199
- function fillToolBackground(text, bg = config_js_1.BG_BASE, width) {
181
+ export function fillToolBackground(text, bg = BG_BASE, width) {
200
182
  return text
201
183
  .split("\n")
202
184
  .map((line) => {
@@ -205,7 +187,7 @@ function fillToolBackground(text, bg = config_js_1.BG_BASE, width) {
205
187
  return bg ? bg + stripped : stripped;
206
188
  }
207
189
  const plainLead = line.replace(ANSI_CAPTURE_RE, "");
208
- const skipPad = line.startsWith(config_js_1.TOOL_RESULT_INDENT) || plainLead.startsWith(config_js_1.TOOL_RESULT_INDENT);
190
+ const skipPad = line.startsWith(TOOL_RESULT_INDENT) || plainLead.startsWith(TOOL_RESULT_INDENT);
209
191
  const fitted = _truncateToWidth(line, width, "", !skipPad);
210
192
  const stripped = preserveBoxBackground(fitted);
211
193
  return bg ? bg + stripped : stripped;
@@ -214,100 +196,100 @@ function fillToolBackground(text, bg = config_js_1.BG_BASE, width) {
214
196
  }
215
197
  function lnum(n, w) {
216
198
  const v = String(n);
217
- return `${config_js_1.FG_LNUM}${" ".repeat(Math.max(0, w - v.length))}${v}${config_js_1.RST}`;
199
+ return `${FG_LNUM}${" ".repeat(Math.max(0, w - v.length))}${v}${RST}`;
218
200
  }
219
201
  // ---------------------------------------------------------------------------
220
202
  // Tool metrics line
221
203
  // ---------------------------------------------------------------------------
222
- function renderToolMetrics(result) {
204
+ export function renderToolMetrics(result) {
223
205
  const details = result.details;
224
206
  if (!details)
225
207
  return "";
226
- const elapsed = (0, helpers_js_1.formatElapsedMs)(details[helpers_js_1.ELAPSED_KEY]);
227
- const chars = (0, helpers_js_1.formatCharCount)(details[helpers_js_1.CHARS_KEY]);
208
+ const elapsed = formatElapsedMs(details[ELAPSED_KEY]);
209
+ const chars = formatCharCount(details[CHARS_KEY]);
228
210
  if (!elapsed && !chars)
229
211
  return "";
230
- return `${config_js_1.FG_DIM}· ${[elapsed, chars].filter(Boolean).join(" · ")}${config_js_1.RST}`;
212
+ return `${FG_DIM}· ${[elapsed, chars].filter(Boolean).join(" · ")}${RST}`;
231
213
  }
232
- function renderToolDuration(result) {
214
+ export function renderToolDuration(result) {
233
215
  const details = result.details;
234
- return (0, helpers_js_1.formatElapsedMs)(details?.[helpers_js_1.ELAPSED_KEY]);
216
+ return formatElapsedMs(details?.[ELAPSED_KEY]);
235
217
  }
236
218
  // ---------------------------------------------------------------------------
237
219
  // Error renderer
238
220
  // ---------------------------------------------------------------------------
239
- function renderToolError(error, theme) {
240
- const body = (0, helpers_js_1.compactErrorLines)(error)
241
- .map((line) => `${config_js_1.TOOL_RESULT_INDENT}${line ? theme.fg("error", line) : ""}`)
221
+ export function renderToolError(error, theme) {
222
+ const body = compactErrorLines(error)
223
+ .map((line) => `${TOOL_RESULT_INDENT}${line ? theme.fg("error", line) : ""}`)
242
224
  .join("\n");
243
- return fillToolBackground(body, config_js_1.BG_ERROR);
225
+ return fillToolBackground(body, BG_ERROR);
244
226
  }
245
227
  // ---------------------------------------------------------------------------
246
228
  // Read — syntax-highlighted file content
247
229
  // ---------------------------------------------------------------------------
248
- async function renderFileContent(content, filePath, offset = 0, maxLines = config_js_1.MAX_PREVIEW_LINES, width) {
249
- const normalizedContent = (0, helpers_js_1.normalizeLineEndings)(content);
230
+ export async function renderFileContent(content, filePath, offset = 0, maxLines = MAX_PREVIEW_LINES, width) {
231
+ const normalizedContent = normalizeLineEndings(content);
250
232
  const lines = normalizedContent.split("\n");
251
233
  const show = lines.slice(0, maxLines);
252
- const lg = (0, config_js_1.detectLang)(filePath);
234
+ const lg = detectLang(filePath);
253
235
  const hl = await hlBlock(show.join("\n"), lg);
254
- const tw = width ?? (0, config_js_1.termWidth)();
236
+ const tw = width ?? termWidth();
255
237
  const out = [];
256
238
  for (const line of hl) {
257
- out.push(_truncateToWidth(line ?? "", Math.max(1, tw), `${config_js_1.FG_DIM}›`));
239
+ out.push(_truncateToWidth(line ?? "", Math.max(1, tw), `${FG_DIM}›`));
258
240
  }
259
241
  return out.join("\n");
260
242
  }
261
243
  // ---------------------------------------------------------------------------
262
244
  // Bash — colored exit status
263
245
  // ---------------------------------------------------------------------------
264
- function renderBashOutput(text) {
246
+ export function renderBashOutput(text) {
265
247
  const lines = text.split("\n");
266
- const maxShow = config_js_1.MAX_PREVIEW_LINES;
248
+ const maxShow = MAX_PREVIEW_LINES;
267
249
  const show = lines.slice(0, maxShow);
268
250
  const remaining = lines.length - maxShow;
269
251
  let body = show.join("\n");
270
252
  if (remaining > 0)
271
- body += `\n${config_js_1.TOOL_RESULT_INDENT}${config_js_1.FG_DIM}… ${remaining} more lines${config_js_1.RST}`;
253
+ body += `\n${TOOL_RESULT_INDENT}${FG_DIM}… ${remaining} more lines${RST}`;
272
254
  return body;
273
255
  }
274
256
  // ---------------------------------------------------------------------------
275
257
  // Ls — tree view with icons
276
258
  // ---------------------------------------------------------------------------
277
- function renderTree(text, _basePath) {
259
+ export function renderTree(text, _basePath) {
278
260
  const lines = text.trim().split("\n").filter(Boolean);
279
261
  if (!lines.length)
280
- return `${config_js_1.FG_DIM}(empty directory)${config_js_1.RST}`;
262
+ return `${FG_DIM}(empty directory)${RST}`;
281
263
  const out = [];
282
264
  const total = lines.length;
283
- const show = lines.slice(0, config_js_1.MAX_PREVIEW_LINES);
265
+ const show = lines.slice(0, MAX_PREVIEW_LINES);
284
266
  for (let i = 0; i < show.length; i++) {
285
267
  const entry = show[i].trim();
286
- const isLast = i === show.length - 1 && total <= config_js_1.MAX_PREVIEW_LINES;
268
+ const isLast = i === show.length - 1 && total <= MAX_PREVIEW_LINES;
287
269
  const prefix = isLast ? "└── " : "├── ";
288
- const connector = `${config_js_1.FG_RULE}${prefix}${config_js_1.RST}`;
270
+ const connector = `${FG_RULE}${prefix}${RST}`;
289
271
  const isDir = entry.endsWith("/");
290
272
  const name = isDir ? entry.slice(0, -1) : entry;
291
- const icon = isDir ? (0, config_js_1.dirIcon)() : "";
292
- out.push(`${connector}${icon}${isDir ? `${config_js_1.FG_BLUE}\x1b[1m${name}${config_js_1.RST}` : name}`);
273
+ const icon = isDir ? dirIcon() : "";
274
+ out.push(`${connector}${icon}${isDir ? `${FG_BLUE}\x1b[1m${name}${RST}` : name}`);
293
275
  }
294
- if (total > config_js_1.MAX_PREVIEW_LINES) {
295
- out.push(`${config_js_1.FG_RULE}└── ${config_js_1.RST}${config_js_1.FG_DIM}… ${total - config_js_1.MAX_PREVIEW_LINES} more entries${config_js_1.RST}`);
276
+ if (total > MAX_PREVIEW_LINES) {
277
+ out.push(`${FG_RULE}└── ${RST}${FG_DIM}… ${total - MAX_PREVIEW_LINES} more entries${RST}`);
296
278
  }
297
279
  return out.join("\n");
298
280
  }
299
281
  // ---------------------------------------------------------------------------
300
282
  // Find — grouped file list (plain, no tree characters or icons)
301
283
  // ---------------------------------------------------------------------------
302
- function renderFindResults(text, theme) {
284
+ export function renderFindResults(text, theme) {
303
285
  const lines = text.trim().split("\n").filter(Boolean);
304
286
  if (!lines.length)
305
- return theme ? theme.fg("dim", "(no matches)") : `${config_js_1.FG_DIM}(no matches)${config_js_1.RST}`;
287
+ return theme ? theme.fg("dim", "(no matches)") : `${FG_DIM}(no matches)${RST}`;
306
288
  const groups = new Map();
307
289
  for (const line of lines) {
308
290
  const trimmed = line.trim();
309
- const dir = (0, node_path_1.dirname)(trimmed) || ".";
310
- const file = (0, node_path_1.basename)(trimmed);
291
+ const dir = dirname(trimmed) || ".";
292
+ const file = basename(trimmed);
311
293
  if (!groups.has(dir))
312
294
  groups.set(dir, []);
313
295
  const bucket = groups.get(dir);
@@ -319,17 +301,17 @@ function renderFindResults(text, theme) {
319
301
  for (const [dir, files] of groups) {
320
302
  if (count > 0)
321
303
  out.push("");
322
- const dirColored = theme ? theme.fg("accent", theme.bold(`${dir}/`)) : `${config_js_1.FG_BLUE}\x1b[1m${dir}/${config_js_1.RST}`;
304
+ const dirColored = theme ? theme.fg("accent", theme.bold(`${dir}/`)) : `${FG_BLUE}\x1b[1m${dir}/${RST}`;
323
305
  out.push(dirColored);
324
306
  for (let i = 0; i < files.length; i++) {
325
- if (count >= config_js_1.MAX_PREVIEW_LINES) {
307
+ if (count >= MAX_PREVIEW_LINES) {
326
308
  const more = theme
327
309
  ? theme.fg("dim", `… ${lines.length - count} more files`)
328
- : `${config_js_1.FG_DIM}… ${lines.length - count} more files${config_js_1.RST}`;
329
- out.push(`${config_js_1.TOOL_RESULT_INDENT}${more}`);
310
+ : `${FG_DIM}… ${lines.length - count} more files${RST}`;
311
+ out.push(`${TOOL_RESULT_INDENT}${more}`);
330
312
  return out.join("\n");
331
313
  }
332
- out.push(`${config_js_1.TOOL_RESULT_INDENT}${files[i]}`);
314
+ out.push(`${TOOL_RESULT_INDENT}${files[i]}`);
333
315
  count++;
334
316
  }
335
317
  }
@@ -338,10 +320,10 @@ function renderFindResults(text, theme) {
338
320
  // ---------------------------------------------------------------------------
339
321
  // Grep — highlighted matches with line numbers
340
322
  // ---------------------------------------------------------------------------
341
- async function renderGrepResults(text, pattern) {
342
- const lines = (0, helpers_js_1.normalizeLineEndings)(text).split("\n");
323
+ export async function renderGrepResults(text, pattern) {
324
+ const lines = normalizeLineEndings(text).split("\n");
343
325
  if (!lines.length || (lines.length === 1 && !lines[0].trim()))
344
- return `${config_js_1.FG_DIM}(no matches)${config_js_1.RST}`;
326
+ return `${FG_DIM}(no matches)${RST}`;
345
327
  const out = [];
346
328
  let currentFile = "";
347
329
  let count = 0;
@@ -353,8 +335,8 @@ async function renderGrepResults(text, pattern) {
353
335
  /* skip highlighting */
354
336
  }
355
337
  for (const line of lines) {
356
- if (count >= config_js_1.MAX_PREVIEW_LINES) {
357
- out.push(`${config_js_1.FG_DIM} … more matches${config_js_1.RST}`);
338
+ if (count >= MAX_PREVIEW_LINES) {
339
+ out.push(`${FG_DIM} … more matches${RST}`);
358
340
  break;
359
341
  }
360
342
  const fileMatch = line.match(/^(.+?)[:-](\d+)[:-](.*)$/);
@@ -363,18 +345,18 @@ async function renderGrepResults(text, pattern) {
363
345
  if (file !== currentFile) {
364
346
  if (currentFile)
365
347
  out.push("");
366
- out.push(`${config_js_1.FG_BLUE}\x1b[1m${file}${config_js_1.RST}`);
348
+ out.push(`${FG_BLUE}\x1b[1m${file}${RST}`);
367
349
  currentFile = file;
368
350
  }
369
351
  const nw = Math.max(3, lineNo.length);
370
352
  let display = content;
371
353
  if (re)
372
- display = content.replace(re, `${config_js_1.RST}${config_js_1.FG_YELLOW}\x1b[1m$1${config_js_1.RST}`);
373
- out.push(`${config_js_1.TOOL_RESULT_INDENT}${lnum(Number(lineNo), nw)} ${config_js_1.FG_RULE}│${config_js_1.RST} ${display}${config_js_1.RST}`);
354
+ display = content.replace(re, `${RST}${FG_YELLOW}\x1b[1m$1${RST}`);
355
+ out.push(`${TOOL_RESULT_INDENT}${lnum(Number(lineNo), nw)} ${FG_RULE}│${RST} ${display}${RST}`);
374
356
  count++;
375
357
  }
376
358
  else if (line.trim() === "--") {
377
- out.push(`${config_js_1.TOOL_RESULT_INDENT}${config_js_1.FG_DIM} ···${config_js_1.RST}`);
359
+ out.push(`${TOOL_RESULT_INDENT}${FG_DIM} ···${RST}`);
378
360
  }
379
361
  else if (line.trim()) {
380
362
  out.push(line);
@@ -386,35 +368,35 @@ async function renderGrepResults(text, pattern) {
386
368
  // ---------------------------------------------------------------------------
387
369
  // Generic renderCall / renderResult for custom tools
388
370
  // ---------------------------------------------------------------------------
389
- function makeRenderCall(toolName) {
371
+ export function makeRenderCall(toolName) {
390
372
  return (args, theme, ctx) => {
391
- (0, config_js_1.resolveBaseBackground)(theme);
392
- const text = ctx.lastComponent ?? new pi_tui_1.Text("", 0, 0);
393
- const bg = ctx.isError ? config_js_1.BG_ERROR : undefined;
373
+ resolveBaseBackground(theme);
374
+ const text = ctx.lastComponent ?? new TuiText("", 0, 0);
375
+ const bg = ctx.isError ? BG_ERROR : undefined;
394
376
  text.setText(fillToolBackground(`${theme.fg("toolTitle", theme.bold(toolName))}`, bg));
395
377
  return text;
396
378
  };
397
379
  }
398
- function makeRenderResult() {
380
+ export function makeRenderResult() {
399
381
  return (result, _opt, theme, ctx) => {
400
- (0, config_js_1.resolveBaseBackground)(theme);
401
- const text = ctx.lastComponent ?? new pi_tui_1.Text("", 0, 0);
382
+ resolveBaseBackground(theme);
383
+ const text = ctx.lastComponent ?? new TuiText("", 0, 0);
402
384
  if (ctx.isError) {
403
385
  text.setText(renderToolError(getTextContent(result) || "Error", theme));
404
386
  return text;
405
387
  }
406
388
  const content = getTextContent(result);
407
389
  if (content) {
408
- const renderWidth = (0, config_js_1.termWidth)();
390
+ const renderWidth = termWidth();
409
391
  const lines = content.split("\n");
410
- const maxShow = ctx.expanded ? lines.length : Math.min(lines.length, config_js_1.MAX_PREVIEW_LINES);
392
+ const maxShow = ctx.expanded ? lines.length : Math.min(lines.length, MAX_PREVIEW_LINES);
411
393
  const preview = lines.slice(0, maxShow).join("\n");
412
- const more = lines.length > maxShow ? `\n${config_js_1.FG_DIM}... ${lines.length - maxShow} more lines${config_js_1.RST}` : "";
394
+ const more = lines.length > maxShow ? `\n${FG_DIM}... ${lines.length - maxShow} more lines${RST}` : "";
413
395
  const metrics = renderToolMetrics(result);
414
- text.setText(fillToolBackground(`${config_js_1.TOOL_RESULT_INDENT}${preview}${more}${metrics ? `\n${config_js_1.TOOL_RESULT_INDENT}${metrics}` : ""}`, undefined, renderWidth));
396
+ text.setText(fillToolBackground(`${TOOL_RESULT_INDENT}${preview}${more}${metrics ? `\n${TOOL_RESULT_INDENT}${metrics}` : ""}`, undefined, renderWidth));
415
397
  }
416
398
  else {
417
- text.setText(fillToolBackground(`${config_js_1.TOOL_RESULT_INDENT}${theme.fg("dim", "(no text output)")}`));
399
+ text.setText(fillToolBackground(`${TOOL_RESULT_INDENT}${theme.fg("dim", "(no text output)")}`));
418
400
  }
419
401
  return text;
420
402
  };
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAuEH,oCAaC;AAUD,4BAeC;AAoCD,oDASC;AAYD,sDAkCC;AAED,gDAeC;AAWD,8CAOC;AAED,gDAGC;AAMD,0CAKC;AAMD,8CAoBC;AAMD,4CAUC;AAMD,gCAwBC;AAMD,8CAmCC;AAMD,8CA0CC;AAMD,wCAQC;AAED,4CA4BC;AAtcD,yCAA8C;AAE9C,0EAA0E;AAC1E,iFAAiF;AACjF,mDAA0E;AAC1E,sCAA0C;AAC1C,iCAA+E;AAC/E,2CAkBqB;AACrB,6CAOsB;AAGtB,gFAAgF;AAChF,SAAS,gBAAgB,CAAC,IAAY,EAAE,QAAgB,EAAE,QAAiB,EAAE,GAAa;IACzF,OAAO,IAAA,wBAAe,EAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,aAAa,GAAiB,aAAa,CAAC;AAElD,SAAS,cAAc,CAAC,IAAY;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAa,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB,EAAE,MAAc;IACxD,IAAI,cAAc,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,OAAO,CAAC,IAAI,CACX,qBAAqB,SAAS,UAAU,MAAM,mDAAmD,aAAa,GAAG,CACjH,CAAC;IACF,OAAO,aAAa,CAAC;AACtB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI;IACnF,IAAI,GAAG;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACpD,IAAI,CAAC;QACJ,IAAI,CAAC,IAAI;YAAE,OAAO,aAAa,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAC1B,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,yBAAyB,CAAC,EAAE,MAAM,CAAC,CACnG,CAAC;QACF,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC;QACjC,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,OAAO,cAAc,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;QACjG,OAAO,aAAa,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,aAAa,CAAC;IACtB,CAAC;AACF,CAAC;AAED,IAAI,MAAgC,CAAC;AAErC;;;;;GAKG;AACH,SAAgB,QAAQ;IACvB,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACrC,IAAI,KAAmB,CAAC;IACxB,IAAI,GAAG,EAAE,CAAC;QACT,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACP,MAAM,WAAW,GAAG,IAAA,sBAAU,GAAE,CAAC,KAAK,CAAC;QACvC,KAAK;YACJ,OAAO,WAAW,KAAK,QAAQ;gBAC9B,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC;gBAC/C,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,GAAG,KAAK,CAAC;IACf,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;AAE3C,SAAS,MAAM,CAAC,CAAS,EAAE,CAAW;IACrC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjB,OAAO,MAAM,CAAC,IAAI,GAAG,uBAAW,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACzC,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM;QAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,IAAY,EAAE,QAAqC;IACzE,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACvB,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,wBAAY;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAErE,MAAM,CAAC,GAAG,GAAG,QAAQ,EAAE,KAAK,QAAQ,KAAK,IAAI,EAAE,CAAC;IAChD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,GAAG;QAAE,OAAO,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAE/B,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,IAAA,gBAAU,EAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;AACF,CAAC;AAED,MAAM,MAAM,GAAG,QAAQ,CAAC;AACxB,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,GAAG,MAAM,eAAe,EAAE,GAAG,CAAC,CAAC;AAClE,MAAM,QAAQ,GAAG,wBAAwB,CAAC;AAE1C,SAAgB,oBAAoB,CAAC,MAAc;IAClD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC5D,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/E,MAAM,CAAC,EAAE,AAAD,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;IAC5B,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;IACvD,OAAO,SAAS,GAAG,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,MAAc,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAChH,CAAC;AAED,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAEjE,QAAA,gBAAgB,GAAG,+BAA+B,CAAC;AAEhE,SAAgB,qBAAqB,CAAC,IAAY;IACjD,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAc,EAAE,EAAE;QAC7D,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,wBAAgB,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBACjB,6CAA6C;gBAC7C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACxB,CAAC,IAAI,CAAC,CAAC;gBACR,CAAC;qBAAM,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClE,CAAC,IAAI,CAAC,CAAC;gBACR,CAAC;qBAAM,CAAC;oBACP,CAAC,EAAE,CAAC;gBACL,CAAC;YACF,CAAC;iBAAM,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBACxB,sCAAsC;gBACtC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;oBAAE,CAAC,IAAI,CAAC,CAAC;qBAC5B,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;oBAAE,CAAC,IAAI,CAAC,CAAC;;oBACjC,CAAC,EAAE,CAAC;YACV,CAAC;iBAAM,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACtF,CAAC,EAAE,CAAC;YACL,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC,EAAE,CAAC;YACL,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAY,EAAE,EAAE,GAAG,mBAAO,EAAE,KAAc;IAC5E,OAAO,IAAI;SACT,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtC,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,8BAAkB,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,8BAAkB,CAAC,CAAC;QAChG,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtC,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAS,IAAI,CAAC,CAAS,EAAE,CAAS;IACjC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,GAAG,mBAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,eAAG,EAAE,CAAC;AACvE,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,SAAgB,iBAAiB,CAAC,MAAgD;IACjF,MAAM,OAAO,GAAG,MAAM,CAAC,OAA8C,CAAC;IACtE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,IAAA,4BAAe,EAAC,OAAO,CAAC,wBAAW,CAAuB,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,IAAA,4BAAe,EAAC,OAAO,CAAC,sBAAS,CAAuB,CAAC,CAAC;IACxE,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,GAAG,kBAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,eAAG,EAAE,CAAC;AAC3E,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAgD;IAClF,MAAM,OAAO,GAAG,MAAM,CAAC,OAA8C,CAAC;IACtE,OAAO,IAAA,4BAAe,EAAC,OAAO,EAAE,CAAC,wBAAW,CAAuB,CAAC,CAAC;AACtE,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,SAAgB,eAAe,CAAC,KAAa,EAAE,KAAgB;IAC9D,MAAM,IAAI,GAAG,IAAA,8BAAiB,EAAC,KAAK,CAAC;SACnC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,8BAAkB,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SAC5E,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,kBAAkB,CAAC,IAAI,EAAE,oBAAQ,CAAC,CAAC;AAC3C,CAAC;AAED,8EAA8E;AAC9E,yCAAyC;AACzC,8EAA8E;AAEvE,KAAK,UAAU,iBAAiB,CACtC,OAAe,EACf,QAAgB,EAChB,MAAM,GAAG,CAAC,EACV,QAAQ,GAAG,6BAAiB,EAC5B,KAAc;IAEd,MAAM,iBAAiB,GAAG,IAAA,iCAAoB,EAAC,OAAO,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,IAAA,sBAAU,EAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAE9C,MAAM,EAAE,GAAG,KAAK,IAAI,IAAA,qBAAS,GAAE,CAAC;IAEhC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,kBAAM,GAAG,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E,SAAgB,gBAAgB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,6BAAiB,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAEzC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,SAAS,GAAG,CAAC;QAAE,IAAI,IAAI,KAAK,8BAAkB,GAAG,kBAAM,KAAK,SAAS,cAAc,eAAG,EAAE,CAAC;IAE7F,OAAO,IAAI,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,SAAgB,UAAU,CAAC,IAAY,EAAE,SAAiB;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,GAAG,kBAAM,oBAAoB,eAAG,EAAE,CAAC;IAE7D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,6BAAiB,CAAC,CAAC;IAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,IAAI,6BAAiB,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACxC,MAAM,SAAS,GAAG,GAAG,mBAAO,GAAG,MAAM,GAAG,eAAG,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAChD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAA,mBAAO,GAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,mBAAO,UAAU,IAAI,GAAG,eAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,KAAK,GAAG,6BAAiB,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,GAAG,mBAAO,OAAO,eAAG,GAAG,kBAAM,KAAK,KAAK,GAAG,6BAAiB,gBAAgB,eAAG,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,8EAA8E;AAC9E,gEAAgE;AAChE,8EAA8E;AAE9E,SAAgB,iBAAiB,CAAC,IAAY,EAAE,KAAiB;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAM,eAAe,eAAG,EAAE,CAAC;IAElG,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAA,mBAAO,EAAC,OAAO,CAAC,IAAI,GAAG,CAAC;QACpC,MAAM,IAAI,GAAG,IAAA,oBAAQ,EAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACnC,IAAI,KAAK,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,mBAAO,UAAU,GAAG,IAAI,eAAG,EAAE,CAAC;QACxG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,KAAK,IAAI,6BAAiB,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,KAAK;oBACjB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,MAAM,GAAG,KAAK,aAAa,CAAC;oBACzD,CAAC,CAAC,GAAG,kBAAM,KAAK,KAAK,CAAC,MAAM,GAAG,KAAK,cAAc,eAAG,EAAE,CAAC;gBACzD,GAAG,CAAC,IAAI,CAAC,GAAG,8BAAkB,GAAG,IAAI,EAAE,CAAC,CAAC;gBACzC,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,GAAG,8BAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7C,KAAK,EAAE,CAAC;QACT,CAAC;IACF,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAEvE,KAAK,UAAU,iBAAiB,CAAC,IAAY,EAAE,OAAe;IACpE,MAAM,KAAK,GAAG,IAAA,iCAAoB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,GAAG,kBAAM,eAAe,eAAG,EAAE,CAAC;IAEpG,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,IAAI,EAAE,GAAkB,IAAI,CAAC;IAC7B,IAAI,CAAC;QACJ,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACR,uBAAuB;IACxB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,KAAK,IAAI,6BAAiB,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,GAAG,kBAAM,mBAAmB,eAAG,EAAE,CAAC,CAAC;YAC5C,MAAM;QACP,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACzD,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;YAC5C,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC1B,IAAI,WAAW;oBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9B,GAAG,CAAC,IAAI,CAAC,GAAG,mBAAO,UAAU,IAAI,GAAG,eAAG,EAAE,CAAC,CAAC;gBAC3C,WAAW,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,OAAO,GAAG,OAAO,CAAC;YACtB,IAAI,EAAE;gBAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,eAAG,GAAG,qBAAS,YAAY,eAAG,EAAE,CAAC,CAAC;YAC3E,GAAG,CAAC,IAAI,CAAC,GAAG,8BAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,mBAAO,IAAI,eAAG,IAAI,OAAO,GAAG,eAAG,EAAE,CAAC,CAAC;YAChG,KAAK,EAAE,CAAC;QACT,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,GAAG,8BAAkB,GAAG,kBAAM,QAAQ,eAAG,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,KAAK,EAAE,CAAC;QACT,CAAC;IACF,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,8EAA8E;AAC9E,qDAAqD;AACrD,8EAA8E;AAE9E,SAAgB,cAAc,CAAC,QAAgB;IAC9C,OAAO,CAAC,IAA6B,EAAE,KAAgB,EAAE,GAAkB,EAAE,EAAE;QAC9E,IAAA,iCAAqB,EAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,IAAI,IAAI,aAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;AACH,CAAC;AAED,SAAgB,gBAAgB;IAC/B,OAAO,CAAC,MAAgD,EAAE,IAAa,EAAE,KAAgB,EAAE,GAAkB,EAAE,EAAE;QAChH,IAAA,iCAAqB,EAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,IAAI,IAAI,aAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,WAAW,GAAG,IAAA,qBAAS,GAAE,CAAC;YAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,6BAAiB,CAAC,CAAC;YACxF,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,kBAAM,OAAO,KAAK,CAAC,MAAM,GAAG,OAAO,cAAc,eAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvG,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,CACX,kBAAkB,CACjB,GAAG,8BAAkB,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,8BAAkB,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAC7F,SAAS,EACT,WAAW,CACX,CACD,CAAC;QACH,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,8BAAkB,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAAgD;IACvE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;SAC3B,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;SACrC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;SAC7B,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,11 @@
1
- "use strict";
2
1
  /* pi-pretty: bash tool -- command execution with styled output. */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.registerBashTool = registerBashTool;
5
- const config_js_1 = require("../config.js");
6
- const helpers_js_1 = require("../helpers.js");
7
- const render_js_1 = require("../render.js");
8
- const tui_text_js_1 = require("../tui-text.js");
9
- const metrics_js_1 = require("./metrics.js");
10
- function registerBashTool(pi, _cwd, _fffService, sdkTool, TextComp) {
11
- const TC = (0, tui_text_js_1.resolveTextCtor)(TextComp);
2
+ import { resolveBaseBackground, TOOL_RESULT_INDENT, termWidth } from "../config.js";
3
+ import { compactErrorLines, inferBashExitCode, stripBashExitStatusLine } from "../helpers.js";
4
+ import { fillToolBackground, renderToolDuration, renderToolError } from "../render.js";
5
+ import { resolveTextCtor } from "../tui-text.js";
6
+ import { wrapExecuteWithMetrics } from "./metrics.js";
7
+ export function registerBashTool(pi, _cwd, _fffService, sdkTool, TextComp) {
8
+ const TC = resolveTextCtor(TextComp);
12
9
  pi.registerTool({
13
10
  name: "bash",
14
11
  label: "Bash",
@@ -22,7 +19,7 @@ function registerBashTool(pi, _cwd, _fffService, sdkTool, TextComp) {
22
19
  ],
23
20
  parameters: sdkTool.parameters,
24
21
  renderShell: "self",
25
- execute: (0, metrics_js_1.wrapExecuteWithMetrics)(async (tid, params, sig, _upd, ctx) => {
22
+ execute: wrapExecuteWithMetrics(async (tid, params, sig, _upd, ctx) => {
26
23
  try {
27
24
  return (await sdkTool.execute(tid, params, sig, undefined, ctx));
28
25
  }
@@ -41,10 +38,10 @@ function registerBashTool(pi, _cwd, _fffService, sdkTool, TextComp) {
41
38
  }
42
39
  }),
43
40
  renderCall(args, theme, ctx) {
44
- (0, config_js_1.resolveBaseBackground)(theme);
41
+ resolveBaseBackground(theme);
45
42
  const text = ctx.lastComponent ?? new TC("", 0, 0);
46
43
  const t = typeof args.timeout === "number" ? ` ${theme.fg("muted", `(timeout ${args.timeout}s)`)}` : "";
47
- const tw = (0, config_js_1.termWidth)() || 80;
44
+ const tw = termWidth() || 80;
48
45
  const rawCmd = String(args.command ?? "");
49
46
  const headerBudget = ctx.expanded ? tw : Math.max(8, tw - 20);
50
47
  const cmd = rawCmd.length === 0
@@ -53,11 +50,11 @@ function registerBashTool(pi, _cwd, _fffService, sdkTool, TextComp) {
53
50
  ? `${rawCmd.slice(0, Math.max(1, headerBudget))}…`
54
51
  : rawCmd;
55
52
  const commandLabel = theme.fg(ctx.isError ? "error" : "toolTitle", theme.bold(`$ ${cmd}`));
56
- text.setText((0, render_js_1.fillToolBackground)(`\n${config_js_1.TOOL_RESULT_INDENT}${commandLabel}${t}\n`, undefined, ctx.expanded ? undefined : tw));
53
+ text.setText(fillToolBackground(`\n${TOOL_RESULT_INDENT}${commandLabel}${t}\n`, undefined, ctx.expanded ? undefined : tw));
57
54
  return text;
58
55
  },
59
56
  renderResult(result, _opt, theme, ctx) {
60
- (0, config_js_1.resolveBaseBackground)(theme);
57
+ resolveBaseBackground(theme);
61
58
  const text = ctx.lastComponent ?? new TC("", 0, 0);
62
59
  const details = result.details;
63
60
  const tc = getText(result);
@@ -67,37 +64,37 @@ function registerBashTool(pi, _cwd, _fffService, sdkTool, TextComp) {
67
64
  ? {
68
65
  _type: "bashResult",
69
66
  text: tc || "Error",
70
- exitCode: (0, helpers_js_1.inferBashExitCode)(tc, ctx.isError ? 1 : 0),
67
+ exitCode: inferBashExitCode(tc, ctx.isError ? 1 : 0),
71
68
  command: "",
72
69
  }
73
70
  : undefined;
74
71
  if (d?._type === "bashResult") {
75
72
  const isErr = ctx.isError || (d.exitCode !== null && d.exitCode !== 0);
76
- const cleaned = (0, helpers_js_1.stripBashExitStatusLine)(d.text);
77
- const output = isErr ? (0, helpers_js_1.compactErrorLines)(cleaned).join("\n") : cleaned;
73
+ const cleaned = stripBashExitStatusLine(d.text);
74
+ const output = isErr ? compactErrorLines(cleaned).join("\n") : cleaned;
78
75
  const lineCount = output.split("\n").length;
79
- const info = [`${lineCount} lines`, (0, render_js_1.renderToolDuration)(result), !ctx.expanded ? "ctrl+o to expand" : ""]
76
+ const info = [`${lineCount} lines`, renderToolDuration(result), !ctx.expanded ? "ctrl+o to expand" : ""]
80
77
  .filter(Boolean)
81
78
  .map((part) => theme.fg("dim", part))
82
79
  .join(theme.fg("dim", " · "));
83
- const header = `${config_js_1.TOOL_RESULT_INDENT}${info}`;
84
- const rw = (0, config_js_1.termWidth)();
80
+ const header = `${TOOL_RESULT_INDENT}${info}`;
81
+ const rw = termWidth();
85
82
  const renderFn = (w) => {
86
83
  if (!ctx.expanded)
87
- return (0, render_js_1.fillToolBackground)(`${header}\n`, undefined, w);
84
+ return fillToolBackground(`${header}\n`, undefined, w);
88
85
  if (!output.trim())
89
- return (0, render_js_1.fillToolBackground)(`${header}\n`, undefined, w);
86
+ return fillToolBackground(`${header}\n`, undefined, w);
90
87
  const show = output.split("\n");
91
- const out = [header, "", ...show.map((line) => `${config_js_1.TOOL_RESULT_INDENT}${line}`)];
92
- return (0, render_js_1.fillToolBackground)(`${out.join("\n")}\n`, undefined, w);
88
+ const out = [header, "", ...show.map((line) => `${TOOL_RESULT_INDENT}${line}`)];
89
+ return fillToolBackground(`${out.join("\n")}\n`, undefined, w);
93
90
  };
94
91
  text.setText(renderFn(rw));
95
92
  const baseRender = typeof text.render === "function" ? text.render.bind(text) : null;
96
93
  if (baseRender) {
97
94
  let key;
98
95
  text.render = (w) => {
99
- const width = Math.max(1, Math.floor(w || (0, config_js_1.termWidth)()));
100
- const k = `bash:${ctx.expanded ? "1" : "0"}:${width}:${d.exitCode ?? "killed"}:${output.length}:${(0, render_js_1.renderToolDuration)(result)}`;
96
+ const width = Math.max(1, Math.floor(w || termWidth()));
97
+ const k = `bash:${ctx.expanded ? "1" : "0"}:${width}:${d.exitCode ?? "killed"}:${output.length}:${renderToolDuration(result)}`;
101
98
  if (key !== k) {
102
99
  text.setText(renderFn(width));
103
100
  key = k;
@@ -108,11 +105,11 @@ function registerBashTool(pi, _cwd, _fffService, sdkTool, TextComp) {
108
105
  return text;
109
106
  }
110
107
  if (ctx.isError) {
111
- text.setText((0, render_js_1.renderToolError)(tc || "Error", theme));
108
+ text.setText(renderToolError(tc || "Error", theme));
112
109
  return text;
113
110
  }
114
111
  const fc = result.content?.[0];
115
- text.setText((0, render_js_1.fillToolBackground)(`${config_js_1.TOOL_RESULT_INDENT}${theme.fg("dim", fc && "text" in fc ? String(fc.text).slice(0, 120) : "done")}`));
112
+ text.setText(fillToolBackground(`${TOOL_RESULT_INDENT}${theme.fg("dim", fc && "text" in fc ? String(fc.text).slice(0, 120) : "done")}`));
116
113
  return text;
117
114
  },
118
115
  });
@@ -1 +1 @@
1
- {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}